@internetarchive/collection-browser 2.7.7-alpha.1 → 2.7.7

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 (488) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +3 -3
  3. package/.husky/pre-commit +4 -4
  4. package/LICENSE +661 -661
  5. package/README.md +83 -83
  6. package/dist/index.d.ts +13 -13
  7. package/dist/index.js +13 -11
  8. package/dist/index.js.map +1 -1
  9. package/dist/src/app-root.d.ts +99 -99
  10. package/dist/src/app-root.js +503 -502
  11. package/dist/src/app-root.js.map +1 -1
  12. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  16. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  17. package/dist/src/assets/img/icons/chevron.js +2 -2
  18. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  19. package/dist/src/assets/img/icons/contract.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  23. package/dist/src/assets/img/icons/expand.js +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  26. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  27. package/dist/src/assets/img/icons/eye.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  30. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  31. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  32. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  33. package/dist/src/assets/img/icons/filter.js +2 -2
  34. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  35. package/dist/src/assets/img/icons/login-required.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  60. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  61. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  62. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  63. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  64. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  65. package/dist/src/assets/img/icons/null-result.js +2 -2
  66. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  67. package/dist/src/assets/img/icons/restricted.js +2 -2
  68. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  69. package/dist/src/assets/img/icons/reviews.js +2 -2
  70. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  71. package/dist/src/assets/img/icons/upload.js +2 -2
  72. package/dist/src/assets/img/icons/views.d.ts +1 -1
  73. package/dist/src/assets/img/icons/views.js +2 -2
  74. package/dist/src/circular-activity-indicator.d.ts +5 -5
  75. package/dist/src/circular-activity-indicator.js +17 -17
  76. package/dist/src/circular-activity-indicator.js.map +1 -1
  77. package/dist/src/collection-browser.d.ts +582 -582
  78. package/dist/src/collection-browser.js +1627 -1626
  79. package/dist/src/collection-browser.js.map +1 -1
  80. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  81. package/dist/src/collection-facets/facet-row.js +118 -118
  82. package/dist/src/collection-facets/facet-row.js.map +1 -1
  83. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  84. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  85. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  86. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  87. package/dist/src/collection-facets/facets-template.js +49 -49
  88. package/dist/src/collection-facets/facets-template.js.map +1 -1
  89. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  90. package/dist/src/collection-facets/more-facets-content.js +408 -406
  91. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  92. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  93. package/dist/src/collection-facets/more-facets-pagination.js +196 -197
  94. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  95. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  96. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  97. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  98. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  99. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  100. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  101. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  102. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  103. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  105. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  106. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  107. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  108. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  109. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -237
  110. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  111. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  112. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  113. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  114. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  115. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  116. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  117. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  118. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  119. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  120. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  121. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  122. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  123. package/dist/src/collection-facets/toggle-switch.js +94 -94
  124. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  125. package/dist/src/collection-facets.d.ts +103 -103
  126. package/dist/src/collection-facets.js +522 -521
  127. package/dist/src/collection-facets.js.map +1 -1
  128. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  129. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  130. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  131. package/dist/src/data-source/collection-browser-data-source.d.ts +373 -373
  132. package/dist/src/data-source/collection-browser-data-source.js +982 -981
  133. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  134. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  135. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  136. package/dist/src/data-source/models.d.ts +28 -28
  137. package/dist/src/data-source/models.js +8 -8
  138. package/dist/src/empty-placeholder.d.ts +23 -23
  139. package/dist/src/empty-placeholder.js +88 -87
  140. package/dist/src/empty-placeholder.js.map +1 -1
  141. package/dist/src/expanded-date-picker.d.ts +43 -43
  142. package/dist/src/expanded-date-picker.js +109 -109
  143. package/dist/src/expanded-date-picker.js.map +1 -1
  144. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  145. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  146. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  147. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  148. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  149. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  150. package/dist/src/manage/manage-bar.d.ts +35 -35
  151. package/dist/src/manage/manage-bar.js +79 -79
  152. package/dist/src/manage/manage-bar.js.map +1 -1
  153. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  154. package/dist/src/mediatype/mediatype-config.js +91 -92
  155. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  156. package/dist/src/models.d.ts +219 -219
  157. package/dist/src/models.js +401 -401
  158. package/dist/src/models.js.map +1 -1
  159. package/dist/src/restoration-state-handler.d.ts +70 -70
  160. package/dist/src/restoration-state-handler.js +363 -362
  161. package/dist/src/restoration-state-handler.js.map +1 -1
  162. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  163. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  164. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  165. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  166. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  167. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  168. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  169. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  170. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  171. package/dist/src/sort-filter-bar/img/list.js +2 -2
  172. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  173. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  174. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  176. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  180. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  182. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  183. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -696
  184. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  185. package/dist/src/styles/ia-button.d.ts +2 -2
  186. package/dist/src/styles/ia-button.js +17 -17
  187. package/dist/src/styles/item-image-styles.d.ts +8 -8
  188. package/dist/src/styles/item-image-styles.js +9 -9
  189. package/dist/src/styles/sr-only.d.ts +1 -1
  190. package/dist/src/styles/sr-only.js +2 -2
  191. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  192. package/dist/src/tiles/base-tile-component.js +64 -64
  193. package/dist/src/tiles/base-tile-component.js.map +1 -1
  194. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  195. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  196. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  197. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  198. package/dist/src/tiles/grid/account-tile.js +72 -72
  199. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  200. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  201. package/dist/src/tiles/grid/collection-tile.js +80 -80
  202. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  203. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  204. package/dist/src/tiles/grid/item-tile.js +160 -159
  205. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  206. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  207. package/dist/src/tiles/grid/search-tile.js +51 -51
  208. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  209. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  210. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  211. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  212. package/dist/src/tiles/grid/tile-stats.js +54 -54
  213. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  214. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  215. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  216. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  217. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  218. package/dist/src/tiles/hover/tile-hover-pane.js +70 -72
  219. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  220. package/dist/src/tiles/image-block.d.ts +18 -18
  221. package/dist/src/tiles/image-block.js +89 -89
  222. package/dist/src/tiles/image-block.js.map +1 -1
  223. package/dist/src/tiles/item-image.d.ts +39 -39
  224. package/dist/src/tiles/item-image.js +154 -154
  225. package/dist/src/tiles/item-image.js.map +1 -1
  226. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  227. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  228. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  229. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  230. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  231. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  232. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  233. package/dist/src/tiles/list/tile-list.js +326 -324
  234. package/dist/src/tiles/list/tile-list.js.map +1 -1
  235. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  236. package/dist/src/tiles/mediatype-icon.js +47 -47
  237. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  238. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  239. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  240. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  241. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  242. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  243. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  244. package/dist/src/tiles/review-block.d.ts +12 -12
  245. package/dist/src/tiles/review-block.js +56 -56
  246. package/dist/src/tiles/review-block.js.map +1 -1
  247. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  248. package/dist/src/tiles/text-snippet-block.js +73 -73
  249. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  250. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  251. package/dist/src/tiles/tile-dispatcher.js +230 -230
  252. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  253. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  254. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  255. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  256. package/dist/src/utils/analytics-events.d.ts +28 -28
  257. package/dist/src/utils/analytics-events.js +30 -30
  258. package/dist/src/utils/array-equals.d.ts +4 -4
  259. package/dist/src/utils/array-equals.js +10 -10
  260. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  261. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  262. package/dist/src/utils/facet-utils.d.ts +83 -83
  263. package/dist/src/utils/facet-utils.js +145 -145
  264. package/dist/src/utils/facet-utils.js.map +1 -1
  265. package/dist/src/utils/format-count.d.ts +7 -7
  266. package/dist/src/utils/format-count.js +76 -75
  267. package/dist/src/utils/format-count.js.map +1 -1
  268. package/dist/src/utils/format-date.d.ts +2 -2
  269. package/dist/src/utils/format-date.js +27 -27
  270. package/dist/src/utils/format-date.js.map +1 -1
  271. package/dist/src/utils/format-unit-size.d.ts +2 -2
  272. package/dist/src/utils/format-unit-size.js +33 -33
  273. package/dist/src/utils/format-unit-size.js.map +1 -1
  274. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  275. package/dist/src/utils/local-date-from-utc.js +15 -15
  276. package/dist/src/utils/log.d.ts +7 -7
  277. package/dist/src/utils/log.js +15 -13
  278. package/dist/src/utils/log.js.map +1 -1
  279. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  280. package/dist/src/utils/resolve-mediatype.js +23 -23
  281. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  282. package/dist/src/utils/sha1.d.ts +2 -2
  283. package/dist/src/utils/sha1.js +8 -8
  284. package/dist/test/collection-browser.test.d.ts +1 -1
  285. package/dist/test/collection-browser.test.js +1293 -1294
  286. package/dist/test/collection-browser.test.js.map +1 -1
  287. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  288. package/dist/test/collection-facets/facet-row.test.js +227 -230
  289. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  290. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  291. package/dist/test/collection-facets/facets-template.test.js +91 -91
  292. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  293. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  294. package/dist/test/collection-facets/more-facets-content.test.js +141 -140
  295. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  296. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  297. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -116
  298. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  299. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  300. package/dist/test/collection-facets/toggle-switch.test.js +73 -82
  301. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  302. package/dist/test/collection-facets.test.d.ts +2 -2
  303. package/dist/test/collection-facets.test.js +690 -689
  304. package/dist/test/collection-facets.test.js.map +1 -1
  305. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  306. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  307. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  308. package/dist/test/empty-placeholder.test.d.ts +1 -1
  309. package/dist/test/empty-placeholder.test.js +63 -62
  310. package/dist/test/empty-placeholder.test.js.map +1 -1
  311. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  312. package/dist/test/expanded-date-picker.test.js +95 -95
  313. package/dist/test/expanded-date-picker.test.js.map +1 -1
  314. package/dist/test/icon-overlay.test.d.ts +1 -1
  315. package/dist/test/icon-overlay.test.js +24 -23
  316. package/dist/test/icon-overlay.test.js.map +1 -1
  317. package/dist/test/image-block.test.d.ts +1 -1
  318. package/dist/test/image-block.test.js +107 -106
  319. package/dist/test/image-block.test.js.map +1 -1
  320. package/dist/test/item-image.test.d.ts +1 -1
  321. package/dist/test/item-image.test.js +85 -84
  322. package/dist/test/item-image.test.js.map +1 -1
  323. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  324. package/dist/test/manage/manage-bar.test.js +91 -90
  325. package/dist/test/manage/manage-bar.test.js.map +1 -1
  326. package/dist/test/mediatype-config.test.d.ts +1 -1
  327. package/dist/test/mediatype-config.test.js +16 -16
  328. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  329. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  330. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  331. package/dist/test/mocks/mock-search-responses.js +942 -942
  332. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  333. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  334. package/dist/test/mocks/mock-search-service.js +54 -54
  335. package/dist/test/mocks/mock-search-service.js.map +1 -1
  336. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  337. package/dist/test/restoration-state-handler.test.js +270 -270
  338. package/dist/test/restoration-state-handler.test.js.map +1 -1
  339. package/dist/test/review-block.test.d.ts +1 -1
  340. package/dist/test/review-block.test.js +44 -43
  341. package/dist/test/review-block.test.js.map +1 -1
  342. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  343. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  344. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  345. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  346. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  347. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  348. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  349. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -425
  350. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  351. package/dist/test/text-overlay.test.d.ts +1 -1
  352. package/dist/test/text-overlay.test.js +38 -37
  353. package/dist/test/text-overlay.test.js.map +1 -1
  354. package/dist/test/text-snippet-block.test.d.ts +1 -1
  355. package/dist/test/text-snippet-block.test.js +57 -56
  356. package/dist/test/text-snippet-block.test.js.map +1 -1
  357. package/dist/test/tile-stats.test.d.ts +1 -1
  358. package/dist/test/tile-stats.test.js +99 -98
  359. package/dist/test/tile-stats.test.js.map +1 -1
  360. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  361. package/dist/test/tiles/grid/account-tile.test.js +76 -75
  362. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  363. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  364. package/dist/test/tiles/grid/collection-tile.test.js +73 -72
  365. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  366. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  367. package/dist/test/tiles/grid/item-tile.test.js +312 -311
  368. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  369. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  370. package/dist/test/tiles/grid/search-tile.test.js +51 -50
  371. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  372. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  373. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  374. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  375. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  376. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  377. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  378. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  379. package/dist/test/tiles/list/tile-list-compact.test.js +143 -142
  380. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  381. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  382. package/dist/test/tiles/list/tile-list.test.js +297 -296
  383. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  384. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  385. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  386. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  387. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  388. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  389. package/dist/test/utils/array-equals.test.d.ts +1 -1
  390. package/dist/test/utils/array-equals.test.js +26 -26
  391. package/dist/test/utils/format-count.test.d.ts +1 -1
  392. package/dist/test/utils/format-count.test.js +23 -23
  393. package/dist/test/utils/format-count.test.js.map +1 -1
  394. package/dist/test/utils/format-date.test.d.ts +1 -1
  395. package/dist/test/utils/format-date.test.js +30 -30
  396. package/dist/test/utils/format-date.test.js.map +1 -1
  397. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  398. package/dist/test/utils/format-unit-size.test.js +17 -17
  399. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  400. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  401. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  402. package/index.html +3 -0
  403. package/local.archive.org.cert +86 -86
  404. package/local.archive.org.key +27 -27
  405. package/package.json +37 -38
  406. package/renovate.json +6 -6
  407. package/src/app-root.ts +21 -20
  408. package/src/collection-browser.ts +35 -33
  409. package/src/collection-facets/facets-template.ts +6 -7
  410. package/src/collection-facets/more-facets-content.ts +13 -11
  411. package/src/collection-facets/more-facets-pagination.ts +2 -3
  412. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  413. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  414. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  415. package/src/collection-facets/smart-facets/smart-facet-bar.ts +8 -6
  416. package/src/collection-facets/smart-facets/smart-facet-button.ts +3 -5
  417. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  418. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  419. package/src/collection-facets/toggle-switch.ts +2 -2
  420. package/src/collection-facets.ts +19 -18
  421. package/src/data-source/collection-browser-data-source-interface.ts +1 -5
  422. package/src/data-source/collection-browser-data-source.ts +34 -37
  423. package/src/empty-placeholder.ts +16 -19
  424. package/src/expanded-date-picker.ts +1 -1
  425. package/src/language-code-handler/language-code-handler.ts +1 -1
  426. package/src/manage/manage-bar.ts +12 -14
  427. package/src/mediatype/mediatype-config.ts +0 -1
  428. package/src/models.ts +3 -3
  429. package/src/restoration-state-handler.ts +15 -14
  430. package/src/sort-filter-bar/alpha-bar.ts +17 -16
  431. package/src/sort-filter-bar/sort-filter-bar.ts +15 -14
  432. package/src/tiles/grid/account-tile.ts +1 -1
  433. package/src/tiles/grid/collection-tile.ts +1 -1
  434. package/src/tiles/grid/item-tile.ts +9 -9
  435. package/src/tiles/grid/tile-stats.ts +4 -4
  436. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  437. package/src/tiles/hover/tile-hover-pane.ts +2 -4
  438. package/src/tiles/item-image.ts +1 -1
  439. package/src/tiles/list/tile-list-compact.ts +2 -2
  440. package/src/tiles/list/tile-list.ts +24 -22
  441. package/src/tiles/tile-dispatcher.ts +5 -5
  442. package/src/tiles/tile-display-value-provider.ts +4 -4
  443. package/src/utils/facet-utils.ts +6 -6
  444. package/src/utils/format-count.ts +3 -2
  445. package/src/utils/format-date.ts +1 -1
  446. package/src/utils/format-unit-size.ts +1 -1
  447. package/src/utils/log.ts +3 -1
  448. package/test/collection-browser.test.ts +122 -123
  449. package/test/collection-facets/facet-row.test.ts +28 -31
  450. package/test/collection-facets/facets-template.test.ts +9 -9
  451. package/test/collection-facets/more-facets-content.test.ts +15 -14
  452. package/test/collection-facets/more-facets-pagination.test.ts +19 -18
  453. package/test/collection-facets/toggle-switch.test.ts +18 -28
  454. package/test/collection-facets.test.ts +37 -36
  455. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  456. package/test/empty-placeholder.test.ts +7 -6
  457. package/test/expanded-date-picker.test.ts +18 -17
  458. package/test/icon-overlay.test.ts +1 -0
  459. package/test/image-block.test.ts +7 -6
  460. package/test/item-image.test.ts +1 -0
  461. package/test/manage/manage-bar.test.ts +14 -13
  462. package/test/mocks/mock-search-responses.ts +1 -2
  463. package/test/mocks/mock-search-service.ts +1 -1
  464. package/test/restoration-state-handler.test.ts +12 -12
  465. package/test/review-block.test.ts +2 -1
  466. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  467. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  468. package/test/sort-filter-bar/sort-filter-bar.test.ts +39 -38
  469. package/test/text-overlay.test.ts +1 -0
  470. package/test/text-snippet-block.test.ts +6 -5
  471. package/test/tile-stats.test.ts +35 -26
  472. package/test/tiles/grid/account-tile.test.ts +3 -2
  473. package/test/tiles/grid/collection-tile.test.ts +4 -3
  474. package/test/tiles/grid/item-tile.test.ts +14 -13
  475. package/test/tiles/grid/search-tile.test.ts +2 -1
  476. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  477. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  478. package/test/tiles/list/tile-list-compact.test.ts +2 -1
  479. package/test/tiles/list/tile-list.test.ts +11 -10
  480. package/test/tiles/tile-dispatcher.test.ts +5 -5
  481. package/test/utils/format-count.test.ts +1 -1
  482. package/test/utils/format-date.test.ts +1 -1
  483. package/test/utils/local-date-from-utc.test.ts +1 -1
  484. package/tsconfig.json +1 -0
  485. package/web-dev-server.config.mjs +30 -30
  486. package/web-test-runner.config.mjs +41 -41
  487. package/.prettierignore +0 -1
  488. package/eslint.config.mjs +0 -53
@@ -87,7 +87,7 @@ export class RestorationStateHandler
87
87
 
88
88
  private persistQueryStateToUrl(
89
89
  state: RestorationState,
90
- forceReplace = false,
90
+ forceReplace = false
91
91
  ) {
92
92
  const url = new URL(window.location.href);
93
93
  const oldParams = new URLSearchParams(url.searchParams);
@@ -145,9 +145,10 @@ export class RestorationStateHandler
145
145
 
146
146
  if (state.selectedFacets) {
147
147
  for (const [facetName, facetValues] of Object.entries(
148
- state.selectedFacets,
148
+ state.selectedFacets
149
149
  )) {
150
150
  const facetEntries = Object.entries(facetValues);
151
+ // eslint-disable-next-line no-continue
151
152
  if (facetEntries.length === 0) continue;
152
153
  for (const [key, data] of facetEntries) {
153
154
  const notValue = data.state === 'hidden';
@@ -164,7 +165,7 @@ export class RestorationStateHandler
164
165
  if (state.minSelectedDate && state.maxSelectedDate) {
165
166
  newParams.append(
166
167
  'and[]',
167
- `year:[${state.minSelectedDate} TO ${state.maxSelectedDate}]`,
168
+ `year:[${state.minSelectedDate} TO ${state.maxSelectedDate}]`
168
169
  );
169
170
  }
170
171
 
@@ -220,7 +221,7 @@ export class RestorationStateHandler
220
221
  facets: state.selectedFacets,
221
222
  },
222
223
  '',
223
- url,
224
+ url
224
225
  );
225
226
  }
226
227
 
@@ -317,18 +318,18 @@ export class RestorationStateHandler
317
318
  if (minDate && maxDate) {
318
319
  restorationState.minSelectedDate = minDate.substring(
319
320
  1,
320
- minDate.length,
321
+ minDate.length
321
322
  );
322
323
  restorationState.maxSelectedDate = maxDate.substring(
323
324
  0,
324
- maxDate.length - 1,
325
+ maxDate.length - 1
325
326
  );
326
327
  } else {
327
328
  this.setSelectedFacetState(
328
329
  restorationState.selectedFacets,
329
330
  field as FacetOption,
330
331
  value,
331
- 'selected',
332
+ 'selected'
332
333
  );
333
334
  }
334
335
  break;
@@ -344,7 +345,7 @@ export class RestorationStateHandler
344
345
  restorationState.selectedFacets,
345
346
  field as FacetOption,
346
347
  value,
347
- 'selected',
348
+ 'selected'
348
349
  );
349
350
  }
350
351
  });
@@ -357,7 +358,7 @@ export class RestorationStateHandler
357
358
  restorationState.selectedFacets,
358
359
  field as FacetOption,
359
360
  value,
360
- 'hidden',
361
+ 'hidden'
361
362
  );
362
363
  });
363
364
  }
@@ -407,13 +408,13 @@ export class RestorationStateHandler
407
408
  private paramsMatch(
408
409
  searchParams1: URLSearchParams,
409
410
  searchParams2: URLSearchParams,
410
- keys: string[],
411
+ keys: string[]
411
412
  ): boolean {
412
413
  return keys.every(key =>
413
414
  arrayEquals(
414
415
  searchParams1.getAll(key).sort(),
415
- searchParams2.getAll(key).sort(),
416
- ),
416
+ searchParams2.getAll(key).sort()
417
+ )
417
418
  );
418
419
  }
419
420
 
@@ -422,7 +423,7 @@ export class RestorationStateHandler
422
423
  * when loading state from the URL.
423
424
  */
424
425
  private removeRecognizedParams(
425
- searchParams: URLSearchParams,
426
+ searchParams: URLSearchParams
426
427
  ): URLSearchParams {
427
428
  // Remove all of our standard params
428
429
  searchParams.delete('query');
@@ -463,7 +464,7 @@ export class RestorationStateHandler
463
464
  selectedFacets: SelectedFacets,
464
465
  field: FacetOption,
465
466
  value: string,
466
- state: FacetState,
467
+ state: FacetState
467
468
  ): void {
468
469
  const facet = selectedFacets[field];
469
470
  if (!facet) return; // Unrecognized facet group, ignore it.
@@ -33,18 +33,19 @@ export class AlphaBar extends LitElement {
33
33
  <section id="container" aria-label=${this.ariaLandmarkLabel ?? nothing}>
34
34
  <ul>
35
35
  ${this.alphabet.map(
36
- letter => html`
37
- <li
38
- class=${letter === this.selectedUppercaseLetter
39
- ? 'selected'
40
- : nothing}
41
- @mousemove=${this.handleMouseMove}
42
- @mouseleave=${this.handleMouseLeave}
43
- >
44
- ${this.letterButtonTemplate(letter)}
45
- ${this.tooltipTemplate(letter)}
46
- </li>
47
- `,
36
+ letter =>
37
+ html`
38
+ <li
39
+ class=${letter === this.selectedUppercaseLetter
40
+ ? 'selected'
41
+ : nothing}
42
+ @mousemove=${this.handleMouseMove}
43
+ @mouseleave=${this.handleMouseLeave}
44
+ >
45
+ ${this.letterButtonTemplate(letter)}
46
+ ${this.tooltipTemplate(letter)}
47
+ </li>
48
+ `
48
49
  )}
49
50
  </ul>
50
51
  </section>
@@ -86,7 +87,7 @@ export class AlphaBar extends LitElement {
86
87
  this.dispatchEvent(
87
88
  new CustomEvent('letterChanged', {
88
89
  detail: { selectedLetter: this.selectedUppercaseLetter },
89
- }),
90
+ })
90
91
  );
91
92
  }
92
93
 
@@ -126,10 +127,10 @@ export class AlphaBar extends LitElement {
126
127
  // (but not including any scrollbar).
127
128
  const bodyStyle = getComputedStyle(document.body);
128
129
  const bodyMarginLeft = parseFloat(
129
- bodyStyle.getPropertyValue('margin-left'),
130
+ bodyStyle.getPropertyValue('margin-left')
130
131
  );
131
132
  const bodyMarginRight = parseFloat(
132
- bodyStyle.getPropertyValue('margin-right'),
133
+ bodyStyle.getPropertyValue('margin-right')
133
134
  );
134
135
  const bodyWidthWithMargin =
135
136
  document.body.clientWidth + bodyMarginLeft + bodyMarginRight;
@@ -154,7 +155,7 @@ export class AlphaBar extends LitElement {
154
155
  left -= overflowAmt;
155
156
  this.tooltip.style.setProperty(
156
157
  '--tooltipArrowOffset',
157
- `${overflowAmt}px`,
158
+ `${overflowAmt}px`
158
159
  );
159
160
  }
160
161
 
@@ -228,7 +228,7 @@ export class SortFilterBar
228
228
 
229
229
  if (changed.has('resizeObserver') || changed.has('enableSortOptionsSlot')) {
230
230
  const oldObserver = changed.get(
231
- 'resizeObserver',
231
+ 'resizeObserver'
232
232
  ) as SharedResizeObserverInterface;
233
233
  if (oldObserver) this.disconnectResizeObserver(oldObserver);
234
234
  this.setupResizeObserver();
@@ -239,12 +239,12 @@ export class SortFilterBar
239
239
  if (this.dropdownBackdropVisible) {
240
240
  document.addEventListener(
241
241
  'keydown',
242
- this.boundSortBarSelectorEscapeListener,
242
+ this.boundSortBarSelectorEscapeListener
243
243
  );
244
244
  } else {
245
245
  document.removeEventListener(
246
246
  'keydown',
247
- this.boundSortBarSelectorEscapeListener,
247
+ this.boundSortBarSelectorEscapeListener
248
248
  );
249
249
  }
250
250
  }
@@ -267,7 +267,7 @@ export class SortFilterBar
267
267
  }
268
268
 
269
269
  private disconnectResizeObserver(
270
- resizeObserver: SharedResizeObserverInterface,
270
+ resizeObserver: SharedResizeObserverInterface
271
271
  ) {
272
272
  if (this.sortSelectorContainer) {
273
273
  resizeObserver.removeObserver({
@@ -430,7 +430,7 @@ export class SortFilterBar
430
430
  .filter(opt => opt.shownInSortBar)
431
431
  .filter(opt => this.showRelevance || opt.field !== SortField.relevance)
432
432
  .filter(
433
- opt => this.showDateFavorited || opt.field !== SortField.datefavorited,
433
+ opt => this.showDateFavorited || opt.field !== SortField.datefavorited
434
434
  );
435
435
 
436
436
  return html`
@@ -439,11 +439,12 @@ export class SortFilterBar
439
439
  class=${this.mobileSelectorVisible ? 'visible' : 'hidden'}
440
440
  >
441
441
  ${this.getSortDropdown({
442
- displayName: html`${SORT_OPTIONS[this.finalizedSortField].displayName}`,
442
+ displayName: html`${SORT_OPTIONS[this.finalizedSortField]
443
+ .displayName}`,
443
444
  id: 'mobile-dropdown',
444
445
  selected: true,
445
446
  dropdownOptions: displayedOptions.map(opt =>
446
- this.getDropdownOption(opt.field),
447
+ this.getDropdownOption(opt.field)
447
448
  ),
448
449
  selectedOption: this.finalizedSortField,
449
450
  onOptionSelected: this.mobileSortChanged,
@@ -451,7 +452,7 @@ export class SortFilterBar
451
452
  this.dropdownBackdropVisible = this.mobileDropdown.open;
452
453
  this.mobileDropdown.classList.toggle(
453
454
  'open',
454
- this.mobileDropdown.open,
455
+ this.mobileDropdown.open
455
456
  );
456
457
  },
457
458
  })}
@@ -478,7 +479,7 @@ export class SortFilterBar
478
479
  displayName?: TemplateResult;
479
480
  selected?: boolean;
480
481
  onClick?: (e: Event) => void;
481
- },
482
+ }
482
483
  ): TemplateResult {
483
484
  const isSelected =
484
485
  options?.selected ?? this.finalizedSortField === sortField;
@@ -758,7 +759,7 @@ export class SortFilterBar
758
759
  /** Toggles the current sort direction between 'asc' and 'desc' */
759
760
  private toggleSortDirection() {
760
761
  this.setSortDirection(
761
- this.finalizedSortDirection === 'desc' ? 'asc' : 'desc',
762
+ this.finalizedSortDirection === 'desc' ? 'asc' : 'desc'
762
763
  );
763
764
  }
764
765
 
@@ -895,14 +896,14 @@ export class SortFilterBar
895
896
  }
896
897
 
897
898
  private titleLetterChanged(
898
- e: CustomEvent<{ selectedLetter: string | undefined }>,
899
+ e: CustomEvent<{ selectedLetter: string | undefined }>
899
900
  ) {
900
901
  this.selectedTitleFilter = e.detail.selectedLetter ?? null;
901
902
  this.emitTitleLetterChangedEvent();
902
903
  }
903
904
 
904
905
  private creatorLetterChanged(
905
- e: CustomEvent<{ selectedLetter: string | undefined }>,
906
+ e: CustomEvent<{ selectedLetter: string | undefined }>
906
907
  ) {
907
908
  this.selectedCreatorFilter = e.detail.selectedLetter ?? null;
908
909
  this.emitCreatorLetterChangedEvent();
@@ -913,7 +914,7 @@ export class SortFilterBar
913
914
  'titleLetterChanged',
914
915
  {
915
916
  detail: { selectedLetter: this.selectedTitleFilter },
916
- },
917
+ }
917
918
  );
918
919
  this.dispatchEvent(event);
919
920
  }
@@ -923,7 +924,7 @@ export class SortFilterBar
923
924
  'creatorLetterChanged',
924
925
  {
925
926
  detail: { selectedLetter: this.selectedCreatorFilter },
926
- },
927
+ }
927
928
  );
928
929
  this.dispatchEvent(event);
929
930
  }
@@ -87,7 +87,7 @@ export class AccountTile extends BaseTileComponent {
87
87
  e.preventDefault();
88
88
  const event = new CustomEvent<{ x: number; y: number }>(
89
89
  'infoButtonPressed',
90
- { detail: { x: e.clientX, y: e.clientY } },
90
+ { detail: { x: e.clientX, y: e.clientY } }
91
91
  );
92
92
  this.dispatchEvent(event);
93
93
  }
@@ -99,7 +99,7 @@ export class CollectionTile extends BaseTileComponent {
99
99
  e.preventDefault();
100
100
  const event = new CustomEvent<{ x: number; y: number }>(
101
101
  'infoButtonPressed',
102
- { detail: { x: e.clientX, y: e.clientY } },
102
+ { detail: { x: e.clientX, y: e.clientY } }
103
103
  );
104
104
  this.dispatchEvent(event);
105
105
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable import/no-duplicates */
1
2
  import { css, CSSResultGroup, html, nothing, TemplateResult } from 'lit';
2
3
  import { customElement, property } from 'lit/decorators.js';
3
4
  import { ifDefined } from 'lit/directives/if-defined.js';
@@ -201,13 +202,12 @@ export class ItemTile extends BaseTileComponent {
201
202
  <ul class="capture-dates">
202
203
  ${map(
203
204
  this.model.captureDates,
204
- date =>
205
- html`<li>
206
- ${this.displayValueProvider.webArchivesCaptureLink(
207
- this.model!.title,
208
- date,
209
- )}
210
- </li>`,
205
+ date => html`<li>
206
+ ${this.displayValueProvider.webArchivesCaptureLink(
207
+ this.model!.title,
208
+ date
209
+ )}
210
+ </li>`
211
211
  )}
212
212
  </ul>
213
213
  `;
@@ -215,7 +215,7 @@ export class ItemTile extends BaseTileComponent {
215
215
 
216
216
  private get isSortedByDate(): boolean {
217
217
  return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes(
218
- this.effectiveSort?.field as string,
218
+ this.effectiveSort?.field as string
219
219
  );
220
220
  }
221
221
 
@@ -234,7 +234,7 @@ export class ItemTile extends BaseTileComponent {
234
234
  e.preventDefault();
235
235
  const event = new CustomEvent<{ x: number; y: number }>(
236
236
  'infoButtonPressed',
237
- { detail: { x: e.clientX, y: e.clientY } },
237
+ { detail: { x: e.clientX, y: e.clientY } }
238
238
  );
239
239
  this.dispatchEvent(event);
240
240
  }
@@ -29,7 +29,7 @@ export class TileStats extends LitElement {
29
29
  const formattedReviewCount = formatCount(
30
30
  this.commentCount,
31
31
  'short',
32
- 'short',
32
+ 'short'
33
33
  );
34
34
 
35
35
  const uploadsOrViewsTitle =
@@ -57,10 +57,10 @@ export class TileStats extends LitElement {
57
57
  </span>
58
58
  ${formatCount(
59
59
  this.mediatype === 'account'
60
- ? (this.itemCount ?? 0)
61
- : (this.viewCount ?? 0),
62
- 'short',
60
+ ? this.itemCount ?? 0
61
+ : this.viewCount ?? 0,
63
62
  'short',
63
+ 'short'
64
64
  )}
65
65
  </p>
66
66
  </li>
@@ -151,7 +151,7 @@ export class HoverPaneController implements HoverPaneControllerInterface {
151
151
  HoverPaneProviderInterface &
152
152
  HTMLElement,
153
153
  /** Options for adjusting the hover pane behavior (offsets, delays, etc.) */
154
- options: HoverPaneControllerOptions = {},
154
+ options: HoverPaneControllerOptions = {}
155
155
  ) {
156
156
  this.mobileBreakpoint = options.mobileBreakpoint ?? this.mobileBreakpoint;
157
157
  this.offsetX = options.offsetX ?? this.offsetX;
@@ -26,7 +26,7 @@ export class TileHoverPane extends LitElement {
26
26
 
27
27
  @property({ type: Number }) mobileBreakpoint?: number;
28
28
 
29
- @property({ type: Number }) currentWidth?: number;
29
+ @property({ type: Number }) currentWidth?: Number;
30
30
 
31
31
  @property({ type: Object })
32
32
  collectionTitles?: CollectionTitles;
@@ -95,9 +95,7 @@ export class TileHoverPane extends LitElement {
95
95
  visibility: hidden;
96
96
  opacity: 0;
97
97
  transform: translateY(8px);
98
- transition:
99
- opacity 0.1s ease-in,
100
- transform 0.1s ease-in;
98
+ transition: opacity 0.1s ease-in, transform 0.1s ease-in;
101
99
  --image-width: auto;
102
100
  }
103
101
 
@@ -64,7 +64,7 @@ export class ItemImage extends LitElement {
64
64
  return this.baseImageUrl
65
65
  ? `https://web.archive.org/thumb/${domain}?generate=1`
66
66
  : nothing;
67
- } catch {
67
+ } catch (err) {
68
68
  return `${this.baseImageUrl}/images/notfound.png`;
69
69
  }
70
70
  }
@@ -73,7 +73,7 @@ export class TileListCompact extends BaseTileComponent {
73
73
 
74
74
  return this.displayValueProvider.itemPageUrl(
75
75
  this.model.identifier,
76
- this.model.mediatype === 'collection',
76
+ this.model.mediatype === 'collection'
77
77
  );
78
78
  }
79
79
 
@@ -155,7 +155,7 @@ export class TileListCompact extends BaseTileComponent {
155
155
 
156
156
  private get isSortedByDate(): boolean {
157
157
  return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes(
158
- this.effectiveSort?.field as string,
158
+ this.effectiveSort?.field as string
159
159
  );
160
160
  }
161
161
 
@@ -90,7 +90,7 @@ export class TileList extends BaseTileComponent {
90
90
  const isCollection = this.model.mediatype === 'collection';
91
91
  const href = this.displayValueProvider.itemPageUrl(
92
92
  this.model.identifier,
93
- isCollection,
93
+ isCollection
94
94
  );
95
95
 
96
96
  return html`<a href=${href}>
@@ -149,7 +149,7 @@ export class TileList extends BaseTileComponent {
149
149
  : this.detailsLink(
150
150
  this.model.identifier,
151
151
  this.model.title,
152
- this.model.mediatype === 'collection',
152
+ this.model.mediatype === 'collection'
153
153
  );
154
154
  }
155
155
 
@@ -203,7 +203,7 @@ export class TileList extends BaseTileComponent {
203
203
  ${this.labelTemplate(msg('By'))}
204
204
  ${join(
205
205
  map(this.model.creators, id => this.searchLink('creator', id)),
206
- ', ',
206
+ ', '
207
207
  )}
208
208
  </div>
209
209
  `;
@@ -233,7 +233,7 @@ export class TileList extends BaseTileComponent {
233
233
  ) {
234
234
  return this.metadataTemplate(
235
235
  formatDate(this.date, 'long'),
236
- this.displayValueProvider.dateLabel,
236
+ this.displayValueProvider.dateLabel
237
237
  );
238
238
  }
239
239
  return nothing;
@@ -253,7 +253,7 @@ export class TileList extends BaseTileComponent {
253
253
 
254
254
  return this.metadataTemplate(
255
255
  `${formatCount(viewCount, this.formatSize)}`,
256
- msg('Views'),
256
+ msg('Views')
257
257
  );
258
258
  }
259
259
 
@@ -274,7 +274,7 @@ export class TileList extends BaseTileComponent {
274
274
  ${this.labelTemplate(msg('Topics'))}
275
275
  ${join(
276
276
  map(this.model.subjects, id => this.searchLink('subject', id)),
277
- ', ',
277
+ ', '
278
278
  )}
279
279
  </div>
280
280
  `;
@@ -296,10 +296,10 @@ export class TileList extends BaseTileComponent {
296
296
  return this.metadataTemplate(
297
297
  // Sanitize away any HTML tags and convert line breaks to spaces.
298
298
  unsafeHTML(
299
- DOMPurify.sanitize(this.model?.description?.replace(/\n/g, ' ') ?? ''),
299
+ DOMPurify.sanitize(this.model?.description?.replace(/\n/g, ' ') ?? '')
300
300
  ),
301
301
  '',
302
- 'description',
302
+ 'description'
303
303
  );
304
304
  }
305
305
 
@@ -340,20 +340,19 @@ export class TileList extends BaseTileComponent {
340
340
  <ul class="capture-dates">
341
341
  ${map(
342
342
  this.model.captureDates,
343
- date =>
344
- html`<li>
345
- ${this.displayValueProvider.webArchivesCaptureLink(
346
- this.model!.title,
347
- date,
348
- )}
349
- </li>`,
343
+ date => html`<li>
344
+ ${this.displayValueProvider.webArchivesCaptureLink(
345
+ this.model!.title,
346
+ date
347
+ )}
348
+ </li>`
350
349
  )}
351
350
  </ul>
352
351
  `;
353
352
  }
354
353
 
355
354
  // Utility functions
356
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
355
+ // eslint-disable-next-line default-param-last
357
356
  private metadataTemplate(text: any, label = '', id?: string) {
358
357
  if (!text) return nothing;
359
358
  return html`
@@ -376,25 +375,28 @@ export class TileList extends BaseTileComponent {
376
375
  const query = encodeURIComponent(`${field}:"${searchTerm}"`);
377
376
  // No whitespace after closing tag
378
377
  // Note: single ' for href='' to wrap " in query var gets changed back by yarn format
378
+
379
+ /* eslint-disable lit/no-invalid-html */
379
380
  return html`<a
380
381
  href="${this.baseNavigationUrl}/search?query=${query}"
381
382
  rel="nofollow"
382
383
  >
383
384
  ${DOMPurify.sanitize(searchTerm)}</a
384
385
  >`;
386
+ /* eslint-enable lit/no-invalid-html */
385
387
  }
386
388
 
387
389
  private detailsLink(
388
390
  identifier?: string,
389
391
  text?: string,
390
- isCollection = false,
392
+ isCollection = false
391
393
  ): TemplateResult | typeof nothing {
392
394
  if (!identifier) return nothing;
393
395
 
394
396
  const linkText = text ?? identifier;
395
397
  const linkHref = this.displayValueProvider.itemPageUrl(
396
398
  identifier,
397
- isCollection,
399
+ isCollection
398
400
  );
399
401
 
400
402
  return html`<a href=${linkHref}> ${DOMPurify.sanitize(linkText)} </a>`;
@@ -415,7 +417,7 @@ export class TileList extends BaseTileComponent {
415
417
  default:
416
418
  return this.displayValueProvider.itemPageUrl(
417
419
  this.model.mediatype,
418
- true,
420
+ true
419
421
  );
420
422
  }
421
423
  }
@@ -445,8 +447,8 @@ export class TileList extends BaseTileComponent {
445
447
  this.detailsLink(
446
448
  collection,
447
449
  this.collectionTitles?.get(collection) ?? collection,
448
- true,
449
- ),
450
+ true
451
+ )
450
452
  );
451
453
  }
452
454
  }
@@ -662,7 +664,7 @@ export class TileList extends BaseTileComponent {
662
664
  /*
663
665
  * With the exception of the title line, allow these to wrap if
664
666
  * the space becomes too small to accommodate them together.
665
- *
667
+ *
666
668
  * The title line is excluded because it contains the mediatype icon
667
669
  * which we don't want to wrap.
668
670
  */
@@ -60,7 +60,7 @@ export class TileDispatcher
60
60
  @property({ type: Boolean }) enableHoverPane = false;
61
61
 
62
62
  @property({ type: String }) manageCheckTitle = msg(
63
- 'Remove this item from the list',
63
+ 'Remove this item from the list'
64
64
  );
65
65
 
66
66
  private hoverPaneController?: HoverPaneControllerInterface;
@@ -155,7 +155,7 @@ export class TileDispatcher
155
155
 
156
156
  return this.displayValueProvider.itemPageUrl(
157
157
  this.model.identifier,
158
- this.model.mediatype === 'collection',
158
+ this.model.mediatype === 'collection'
159
159
  );
160
160
  }
161
161
 
@@ -229,7 +229,7 @@ export class TileDispatcher
229
229
  updated(props: PropertyValues) {
230
230
  if (props.has('resizeObserver')) {
231
231
  const previousObserver = props.get(
232
- 'resizeObserver',
232
+ 'resizeObserver'
233
233
  ) as SharedResizeObserverInterface;
234
234
  this.stopResizeObservation(previousObserver);
235
235
  this.startResizeObservation();
@@ -247,7 +247,7 @@ export class TileDispatcher
247
247
  }
248
248
 
249
249
  this.dispatchEvent(
250
- new CustomEvent('resultSelected', { detail: this.model }),
250
+ new CustomEvent('resultSelected', { detail: this.model })
251
251
  );
252
252
  }
253
253
 
@@ -263,7 +263,7 @@ export class TileDispatcher
263
263
  }
264
264
 
265
265
  private tileInfoButtonPressed(
266
- e: CustomEvent<{ x: number; y: number }>,
266
+ e: CustomEvent<{ x: number; y: number }>
267
267
  ): void {
268
268
  this.hoverPaneController?.toggleHoverPane({
269
269
  coords: e.detail,
@@ -26,7 +26,7 @@ export class TileDisplayValueProvider {
26
26
  collectionPagePath?: string;
27
27
  sortParam?: SortParam;
28
28
  creatorFilter?: string;
29
- } = {},
29
+ } = {}
30
30
  ) {
31
31
  this.model = options.model;
32
32
  this.baseNavigationUrl = options.baseNavigationUrl;
@@ -55,7 +55,7 @@ export class TileDisplayValueProvider {
55
55
  .normalize('NFD')
56
56
  .replace(/[^A-Z]+/gi, '')
57
57
  .toUpperCase()
58
- .startsWith(firstLetter),
58
+ .startsWith(firstLetter)
59
59
  );
60
60
  }
61
61
 
@@ -98,7 +98,7 @@ export class TileDisplayValueProvider {
98
98
  */
99
99
  itemPageUrl(
100
100
  identifier?: string,
101
- isCollection = false,
101
+ isCollection = false
102
102
  ): string | typeof nothing {
103
103
  if (!identifier || this.baseNavigationUrl == null) return nothing;
104
104
  const basePath = isCollection ? this.collectionPagePath : '/details/';
@@ -115,7 +115,7 @@ export class TileDisplayValueProvider {
115
115
  .replace(/[TZ:-]/g, '')
116
116
  .replace(/\..*/, '');
117
117
  const captureHref = `https://web.archive.org/web/${captureDateStr}/${encodeURIComponent(
118
- url,
118
+ url
119
119
  )}`;
120
120
  const captureText = formatDate(date, 'long');
121
121