@internetarchive/collection-browser 2.7.7-alpha.2 → 2.7.8-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 (304) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/app-root.d.ts +9 -1
  5. package/dist/src/app-root.js +40 -6
  6. package/dist/src/app-root.js.map +1 -1
  7. package/dist/src/assets/img/icons/arrow-left.d.ts +1 -1
  8. package/dist/src/assets/img/icons/arrow-right.d.ts +1 -1
  9. package/dist/src/assets/img/icons/chevron.d.ts +1 -1
  10. package/dist/src/assets/img/icons/contract.d.ts +1 -1
  11. package/dist/src/assets/img/icons/empty-query.d.ts +1 -1
  12. package/dist/src/assets/img/icons/expand.d.ts +1 -1
  13. package/dist/src/assets/img/icons/eye-closed.d.ts +1 -1
  14. package/dist/src/assets/img/icons/eye.d.ts +1 -1
  15. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  16. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  17. package/dist/src/assets/img/icons/filter.d.ts +1 -1
  18. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  19. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  20. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  21. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  22. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  23. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  24. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  25. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  26. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  27. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  28. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  29. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  33. package/dist/src/assets/img/icons/null-result.d.ts +1 -1
  34. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  35. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  36. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  37. package/dist/src/assets/img/icons/views.d.ts +1 -1
  38. package/dist/src/circular-activity-indicator.d.ts +1 -1
  39. package/dist/src/circular-activity-indicator.js.map +1 -1
  40. package/dist/src/collection-browser.d.ts +21 -1
  41. package/dist/src/collection-browser.js +60 -17
  42. package/dist/src/collection-browser.js.map +1 -1
  43. package/dist/src/collection-facets/facet-row.js.map +1 -1
  44. package/dist/src/collection-facets/facet-tombstone-row.d.ts +1 -1
  45. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  46. package/dist/src/collection-facets/facets-template.js +5 -5
  47. package/dist/src/collection-facets/facets-template.js.map +1 -1
  48. package/dist/src/collection-facets/more-facets-content.d.ts +1 -1
  49. package/dist/src/collection-facets/more-facets-content.js +4 -2
  50. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  51. package/dist/src/collection-facets/more-facets-pagination.js +0 -1
  52. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  53. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  54. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  55. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +1 -1
  56. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  57. package/dist/src/collection-facets/smart-facets/models.d.ts +2 -2
  58. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +4 -1
  59. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  60. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +1 -1
  61. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  62. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +1 -1
  63. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  64. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  65. package/dist/src/collection-facets/toggle-switch.d.ts +2 -2
  66. package/dist/src/collection-facets/toggle-switch.js +2 -2
  67. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  68. package/dist/src/collection-facets.js +3 -2
  69. package/dist/src/collection-facets.js.map +1 -1
  70. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +4 -0
  71. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  72. package/dist/src/data-source/collection-browser-data-source.d.ts +4 -0
  73. package/dist/src/data-source/collection-browser-data-source.js +22 -8
  74. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  75. package/dist/src/data-source/collection-browser-query-state.d.ts +1 -0
  76. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  77. package/dist/src/data-source/models.d.ts +2 -2
  78. package/dist/src/empty-placeholder.d.ts +1 -1
  79. package/dist/src/empty-placeholder.js +11 -10
  80. package/dist/src/empty-placeholder.js.map +1 -1
  81. package/dist/src/expanded-date-picker.js.map +1 -1
  82. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  83. package/dist/src/language-code-handler/language-code-mapping.js +86 -86
  84. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  85. package/dist/src/manage/manage-bar.d.ts +32 -9
  86. package/dist/src/manage/manage-bar.js +121 -27
  87. package/dist/src/manage/manage-bar.js.map +1 -1
  88. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  89. package/dist/src/manage/remove-items-modal-content.js +104 -0
  90. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  91. package/dist/src/mediatype/mediatype-config.js +0 -1
  92. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  93. package/dist/src/models.d.ts +24 -15
  94. package/dist/src/models.js +3 -3
  95. package/dist/src/models.js.map +1 -1
  96. package/dist/src/restoration-state-handler.js +1 -0
  97. package/dist/src/restoration-state-handler.js.map +1 -1
  98. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  100. package/dist/src/sort-filter-bar/alpha-bar.js +9 -9
  101. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  102. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  104. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  106. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  108. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +1 -1
  110. package/dist/src/sort-filter-bar/sort-filter-bar.js +2 -1
  111. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  112. package/dist/src/tiles/base-tile-component.js.map +1 -1
  113. package/dist/src/tiles/collection-browser-loading-tile.d.ts +1 -1
  114. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  115. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  116. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  117. package/dist/src/tiles/grid/item-tile.js +3 -2
  118. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  119. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  120. package/dist/src/tiles/grid/tile-stats.d.ts +1 -1
  121. package/dist/src/tiles/grid/tile-stats.js +2 -2
  122. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  123. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  124. package/dist/src/tiles/hover/tile-hover-pane.d.ts +1 -1
  125. package/dist/src/tiles/hover/tile-hover-pane.js +1 -3
  126. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  127. package/dist/src/tiles/image-block.d.ts +1 -1
  128. package/dist/src/tiles/image-block.js +1 -1
  129. package/dist/src/tiles/image-block.js.map +1 -1
  130. package/dist/src/tiles/item-image.d.ts +1 -1
  131. package/dist/src/tiles/item-image.js +2 -2
  132. package/dist/src/tiles/item-image.js.map +1 -1
  133. package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
  134. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  135. package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
  136. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  137. package/dist/src/tiles/list/tile-list.js +6 -4
  138. package/dist/src/tiles/list/tile-list.js.map +1 -1
  139. package/dist/src/tiles/mediatype-icon.d.ts +1 -1
  140. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  141. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  142. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  143. package/dist/src/tiles/review-block.js.map +1 -1
  144. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  145. package/dist/src/tiles/tile-dispatcher.d.ts +1 -1
  146. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  147. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  148. package/dist/src/utils/facet-utils.js.map +1 -1
  149. package/dist/src/utils/format-count.d.ts +2 -2
  150. package/dist/src/utils/format-count.js +1 -0
  151. package/dist/src/utils/format-count.js.map +1 -1
  152. package/dist/src/utils/format-date.d.ts +1 -1
  153. package/dist/src/utils/format-date.js.map +1 -1
  154. package/dist/src/utils/format-unit-size.js.map +1 -1
  155. package/dist/src/utils/log.js +3 -1
  156. package/dist/src/utils/log.js.map +1 -1
  157. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  158. package/dist/test/collection-browser.test.js +17 -2
  159. package/dist/test/collection-browser.test.js.map +1 -1
  160. package/dist/test/collection-facets/facet-row.test.js +1 -4
  161. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  162. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  163. package/dist/test/collection-facets/more-facets-content.test.js +1 -0
  164. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  165. package/dist/test/collection-facets/more-facets-pagination.test.js +1 -0
  166. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  167. package/dist/test/collection-facets/toggle-switch.test.js +3 -12
  168. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  169. package/dist/test/collection-facets.test.js +1 -0
  170. package/dist/test/collection-facets.test.js.map +1 -1
  171. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  172. package/dist/test/empty-placeholder.test.js +1 -0
  173. package/dist/test/empty-placeholder.test.js.map +1 -1
  174. package/dist/test/expanded-date-picker.test.js.map +1 -1
  175. package/dist/test/icon-overlay.test.js +1 -0
  176. package/dist/test/icon-overlay.test.js.map +1 -1
  177. package/dist/test/image-block.test.js +1 -0
  178. package/dist/test/image-block.test.js.map +1 -1
  179. package/dist/test/item-image.test.js +1 -0
  180. package/dist/test/item-image.test.js.map +1 -1
  181. package/dist/test/manage/manage-bar.test.d.ts +1 -0
  182. package/dist/test/manage/manage-bar.test.js +26 -10
  183. package/dist/test/manage/manage-bar.test.js.map +1 -1
  184. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  185. package/dist/test/manage/remove-items-modal-content.test.js +66 -0
  186. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  187. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  188. package/dist/test/mocks/mock-search-service.js.map +1 -1
  189. package/dist/test/restoration-state-handler.test.js.map +1 -1
  190. package/dist/test/review-block.test.js +1 -0
  191. package/dist/test/review-block.test.js.map +1 -1
  192. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  193. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  194. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +1 -0
  195. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  196. package/dist/test/text-overlay.test.js +1 -0
  197. package/dist/test/text-overlay.test.js.map +1 -1
  198. package/dist/test/text-snippet-block.test.js +1 -0
  199. package/dist/test/text-snippet-block.test.js.map +1 -1
  200. package/dist/test/tile-stats.test.js +23 -22
  201. package/dist/test/tile-stats.test.js.map +1 -1
  202. package/dist/test/tiles/grid/account-tile.test.js +1 -0
  203. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  204. package/dist/test/tiles/grid/collection-tile.test.js +1 -0
  205. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  206. package/dist/test/tiles/grid/item-tile.test.js +1 -0
  207. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  208. package/dist/test/tiles/grid/search-tile.test.js +1 -0
  209. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  210. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  211. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  212. package/dist/test/tiles/list/tile-list-compact.test.js +1 -0
  213. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  214. package/dist/test/tiles/list/tile-list.test.js +1 -0
  215. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  216. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  217. package/dist/test/utils/format-count.test.js.map +1 -1
  218. package/dist/test/utils/format-date.test.js.map +1 -1
  219. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  220. package/index.html +3 -0
  221. package/package.json +38 -40
  222. package/src/app-root.ts +60 -25
  223. package/src/collection-browser.ts +101 -50
  224. package/src/collection-facets/facets-template.ts +6 -7
  225. package/src/collection-facets/more-facets-content.ts +13 -11
  226. package/src/collection-facets/more-facets-pagination.ts +2 -3
  227. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  228. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  229. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  230. package/src/collection-facets/smart-facets/smart-facet-bar.ts +8 -6
  231. package/src/collection-facets/smart-facets/smart-facet-button.ts +3 -5
  232. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  233. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  234. package/src/collection-facets/toggle-switch.ts +2 -2
  235. package/src/collection-facets.ts +19 -18
  236. package/src/data-source/collection-browser-data-source-interface.ts +6 -5
  237. package/src/data-source/collection-browser-data-source.ts +48 -37
  238. package/src/data-source/collection-browser-query-state.ts +1 -0
  239. package/src/empty-placeholder.ts +16 -19
  240. package/src/expanded-date-picker.ts +1 -1
  241. package/src/language-code-handler/language-code-handler.ts +1 -1
  242. package/src/manage/manage-bar.ts +132 -38
  243. package/src/manage/remove-items-modal-content.ts +102 -0
  244. package/src/mediatype/mediatype-config.ts +0 -1
  245. package/src/models.ts +13 -3
  246. package/src/restoration-state-handler.ts +15 -14
  247. package/src/sort-filter-bar/alpha-bar.ts +17 -16
  248. package/src/sort-filter-bar/sort-filter-bar.ts +15 -14
  249. package/src/tiles/grid/account-tile.ts +1 -1
  250. package/src/tiles/grid/collection-tile.ts +1 -1
  251. package/src/tiles/grid/item-tile.ts +9 -9
  252. package/src/tiles/grid/tile-stats.ts +4 -4
  253. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  254. package/src/tiles/hover/tile-hover-pane.ts +2 -4
  255. package/src/tiles/item-image.ts +1 -1
  256. package/src/tiles/list/tile-list-compact.ts +2 -2
  257. package/src/tiles/list/tile-list.ts +24 -22
  258. package/src/tiles/tile-dispatcher.ts +5 -5
  259. package/src/tiles/tile-display-value-provider.ts +4 -4
  260. package/src/utils/facet-utils.ts +6 -6
  261. package/src/utils/format-count.ts +3 -2
  262. package/src/utils/format-date.ts +1 -1
  263. package/src/utils/format-unit-size.ts +1 -1
  264. package/src/utils/log.ts +3 -1
  265. package/test/collection-browser.test.ts +145 -123
  266. package/test/collection-facets/facet-row.test.ts +28 -31
  267. package/test/collection-facets/facets-template.test.ts +9 -9
  268. package/test/collection-facets/more-facets-content.test.ts +15 -14
  269. package/test/collection-facets/more-facets-pagination.test.ts +19 -18
  270. package/test/collection-facets/toggle-switch.test.ts +18 -28
  271. package/test/collection-facets.test.ts +37 -36
  272. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  273. package/test/empty-placeholder.test.ts +7 -6
  274. package/test/expanded-date-picker.test.ts +18 -17
  275. package/test/icon-overlay.test.ts +1 -0
  276. package/test/image-block.test.ts +7 -6
  277. package/test/item-image.test.ts +1 -0
  278. package/test/manage/manage-bar.test.ts +52 -28
  279. package/test/manage/remove-items-modal-content.test.ts +82 -0
  280. package/test/mocks/mock-search-responses.ts +1 -2
  281. package/test/mocks/mock-search-service.ts +1 -1
  282. package/test/restoration-state-handler.test.ts +12 -12
  283. package/test/review-block.test.ts +2 -1
  284. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  285. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  286. package/test/sort-filter-bar/sort-filter-bar.test.ts +39 -38
  287. package/test/text-overlay.test.ts +1 -0
  288. package/test/text-snippet-block.test.ts +6 -5
  289. package/test/tile-stats.test.ts +35 -26
  290. package/test/tiles/grid/account-tile.test.ts +3 -2
  291. package/test/tiles/grid/collection-tile.test.ts +4 -3
  292. package/test/tiles/grid/item-tile.test.ts +14 -13
  293. package/test/tiles/grid/search-tile.test.ts +2 -1
  294. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  295. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  296. package/test/tiles/list/tile-list-compact.test.ts +2 -1
  297. package/test/tiles/list/tile-list.test.ts +11 -10
  298. package/test/tiles/tile-dispatcher.test.ts +5 -5
  299. package/test/utils/format-count.test.ts +1 -1
  300. package/test/utils/format-date.test.ts +1 -1
  301. package/test/utils/local-date-from-utc.test.ts +1 -1
  302. package/tsconfig.json +1 -0
  303. package/.prettierignore +0 -1
  304. package/eslint.config.mjs +0 -53
@@ -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
 
@@ -33,8 +33,8 @@ export function forEachFacetBucket(
33
33
  facetType: FacetOption,
34
34
  bucketKey: string,
35
35
  bucket: FacetBucket,
36
- selectedFacets: SelectedFacets,
37
- ) => unknown,
36
+ selectedFacets: SelectedFacets
37
+ ) => unknown
38
38
  ): void {
39
39
  if (!selectedFacets) return;
40
40
  for (const [facetType, facetBuckets] of Object.entries(selectedFacets)) {
@@ -59,7 +59,7 @@ export function updateSelectedFacetBucket(
59
59
  selectedFacets: SelectedFacets | undefined,
60
60
  facetType: FacetOption,
61
61
  bucket: FacetBucket,
62
- omitNoneState = false,
62
+ omitNoneState = false
63
63
  ): SelectedFacets {
64
64
  const defaultedSelectedFacets = selectedFacets ?? getDefaultSelectedFacets();
65
65
  const newFacets = {
@@ -89,7 +89,7 @@ export function updateSelectedFacetBucket(
89
89
  * @param selectedFacets The SelectedFacets object to be cloned
90
90
  */
91
91
  export function cloneSelectedFacets(
92
- selectedFacets: SelectedFacets | undefined,
92
+ selectedFacets: SelectedFacets | undefined
93
93
  ): SelectedFacets {
94
94
  const cloneResult = getDefaultSelectedFacets();
95
95
  forEachFacetBucket(selectedFacets, (facetType, bucketKey, bucket) => {
@@ -120,7 +120,7 @@ export function cloneSelectedFacets(
120
120
  */
121
121
  export function mergeSelectedFacets(
122
122
  destination: SelectedFacets | undefined,
123
- source: SelectedFacets | undefined,
123
+ source: SelectedFacets | undefined
124
124
  ): SelectedFacets {
125
125
  const mergeResult = cloneSelectedFacets(destination);
126
126
  forEachFacetBucket(source, (facetType, bucketKey, bucket) => {
@@ -160,7 +160,7 @@ const BUCKET_STATE_ORDER = ['selected', 'hidden', 'none'];
160
160
  */
161
161
  export function sortBucketsBySelectionState(
162
162
  buckets: FacetBucket[],
163
- sort = AggregationSortType.COUNT,
163
+ sort = AggregationSortType.COUNT
164
164
  ) {
165
165
  return buckets.sort((a, b) => {
166
166
  const aStateIndex = BUCKET_STATE_ORDER.indexOf(a.state);
@@ -31,6 +31,7 @@ function magnitude(number: number, numberFormat: NumberFormat): Divisor {
31
31
  * Round a number given passed magnitude.
32
32
  * Significant digits of value less than 10 get a decimal.
33
33
  */
34
+ // eslint-disable-next-line default-param-last
34
35
  function round(number: number = 0, divisor: Divisor): number {
35
36
  const result = number / divisor;
36
37
  const roundToOne = result < 10;
@@ -50,7 +51,7 @@ function labelize(
50
51
  rounded: number,
51
52
  divisor: Divisor,
52
53
  format: LabelFormat,
53
- locale: string,
54
+ locale: string
54
55
  ): string {
55
56
  switch (divisor) {
56
57
  case 1_000_000_000:
@@ -82,7 +83,7 @@ export function formatCount(
82
83
  count: number | undefined,
83
84
  numberFormat: NumberFormat = 'long',
84
85
  labelFormat: LabelFormat = 'short',
85
- locale: string = 'en-US',
86
+ locale: string = 'en-US'
86
87
  ): string {
87
88
  // Return blank if undefined
88
89
  const number = count ?? -1;
@@ -10,7 +10,7 @@ export type DateFormat =
10
10
  export function formatDate(
11
11
  date: Date | undefined,
12
12
  format: DateFormat = 'short',
13
- locale: string = 'en-US',
13
+ locale: string = 'en-US'
14
14
  ): string {
15
15
  // Return blank if undefined
16
16
  if (!date) return '';
@@ -18,7 +18,7 @@ enum unitSizes {
18
18
  export function formatUnitSize(
19
19
  size: number | undefined,
20
20
  nDecimals: number,
21
- separator: string = ' ',
21
+ separator: string = ' '
22
22
  ) {
23
23
  let itemSize = size;
24
24
  if (itemSize === undefined) return nothing; // early return.
package/src/utils/log.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /* eslint-disable semi */
1
2
  /**
2
3
  * console.log() utility -- production ignores 'log()' JS calls; dev invokes 'console.log()'
3
4
  */
@@ -10,5 +11,6 @@ export const log =
10
11
  window.location.host.match(/^ia-petabox-/) ||
11
12
  window.location.host.match(/^local\.archive\.org/) ||
12
13
  window.location.host.match(/^internetarchive\.github\.io$/))
13
- ? console.log.bind(console) // convenient, no? Stateless function
14
+ ? // eslint-disable-next-line no-console
15
+ console.log.bind(console) // convenient, no? Stateless function
14
16
  : () => {};