@internetarchive/collection-browser 4.7.1-alpha-webdev9189.0 → 4.8.1-alpha-webdev9189.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/dist/src/app-root.js +0 -2
  2. package/dist/src/app-root.js.map +1 -1
  3. package/dist/src/assets/img/icons/check.d.ts +2 -0
  4. package/dist/src/assets/img/icons/check.js +5 -0
  5. package/dist/src/assets/img/icons/check.js.map +1 -0
  6. package/dist/src/collection-facets/facet-row-template.d.ts +38 -0
  7. package/dist/src/collection-facets/facet-row-template.js +200 -0
  8. package/dist/src/collection-facets/facet-row-template.js.map +1 -0
  9. package/dist/src/collection-facets/facet-row.js +11 -186
  10. package/dist/src/collection-facets/facet-row.js.map +1 -1
  11. package/dist/src/collection-facets/models.d.ts +7 -2
  12. package/dist/src/collection-facets/models.js +7 -2
  13. package/dist/src/collection-facets/models.js.map +1 -1
  14. package/dist/src/collection-facets/more-facets-content.d.ts +87 -21
  15. package/dist/src/collection-facets/more-facets-content.js +477 -200
  16. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  17. package/dist/src/collection-facets/more-facets-scroller.d.ts +85 -0
  18. package/dist/src/collection-facets/more-facets-scroller.js +428 -0
  19. package/dist/src/collection-facets/more-facets-scroller.js.map +1 -0
  20. package/dist/src/collection-facets/page-window.d.ts +73 -0
  21. package/dist/src/collection-facets/page-window.js +202 -0
  22. package/dist/src/collection-facets/page-window.js.map +1 -0
  23. package/dist/src/collection-facets/toggle-switch.js +1 -0
  24. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  25. package/dist/src/models.d.ts +4 -0
  26. package/dist/src/models.js +16 -0
  27. package/dist/src/models.js.map +1 -1
  28. package/dist/src/utils/normalize-filter-text.d.ts +28 -0
  29. package/dist/src/utils/normalize-filter-text.js +35 -0
  30. package/dist/src/utils/normalize-filter-text.js.map +1 -0
  31. package/package.json +7 -1
  32. package/.editorconfig +0 -29
  33. package/.github/workflows/ci.yml +0 -29
  34. package/.github/workflows/gh-pages-main.yml +0 -41
  35. package/.github/workflows/npm-publish.yml +0 -42
  36. package/.github/workflows/pr-preview.yml +0 -40
  37. package/.husky/pre-commit +0 -1
  38. package/.prettierignore +0 -1
  39. package/dist/src/collection-facets/more-facets-pagination.d.ts +0 -36
  40. package/dist/src/collection-facets/more-facets-pagination.js +0 -260
  41. package/dist/src/collection-facets/more-facets-pagination.js.map +0 -1
  42. package/dist/test/collection-browser.test.d.ts +0 -1
  43. package/dist/test/collection-browser.test.js +0 -1849
  44. package/dist/test/collection-browser.test.js.map +0 -1
  45. package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
  46. package/dist/test/collection-facets/facet-row.test.js +0 -291
  47. package/dist/test/collection-facets/facet-row.test.js.map +0 -1
  48. package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
  49. package/dist/test/collection-facets/facets-template.test.js +0 -95
  50. package/dist/test/collection-facets/facets-template.test.js.map +0 -1
  51. package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
  52. package/dist/test/collection-facets/more-facets-content.test.js +0 -159
  53. package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
  54. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +0 -1
  55. package/dist/test/collection-facets/more-facets-pagination.test.js +0 -126
  56. package/dist/test/collection-facets/more-facets-pagination.test.js.map +0 -1
  57. package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
  58. package/dist/test/collection-facets/toggle-switch.test.js +0 -99
  59. package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
  60. package/dist/test/collection-facets.test.d.ts +0 -2
  61. package/dist/test/collection-facets.test.js +0 -728
  62. package/dist/test/collection-facets.test.js.map +0 -1
  63. package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
  64. package/dist/test/data-source/collection-browser-data-source.test.js +0 -154
  65. package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
  66. package/dist/test/empty-placeholder.test.d.ts +0 -1
  67. package/dist/test/empty-placeholder.test.js +0 -57
  68. package/dist/test/empty-placeholder.test.js.map +0 -1
  69. package/dist/test/expanded-date-picker.test.d.ts +0 -1
  70. package/dist/test/expanded-date-picker.test.js +0 -124
  71. package/dist/test/expanded-date-picker.test.js.map +0 -1
  72. package/dist/test/icon-overlay.test.d.ts +0 -1
  73. package/dist/test/icon-overlay.test.js +0 -31
  74. package/dist/test/icon-overlay.test.js.map +0 -1
  75. package/dist/test/image-block.test.d.ts +0 -1
  76. package/dist/test/image-block.test.js +0 -208
  77. package/dist/test/image-block.test.js.map +0 -1
  78. package/dist/test/item-image.test.d.ts +0 -1
  79. package/dist/test/item-image.test.js +0 -187
  80. package/dist/test/item-image.test.js.map +0 -1
  81. package/dist/test/manage/manage-bar.test.d.ts +0 -3
  82. package/dist/test/manage/manage-bar.test.js +0 -216
  83. package/dist/test/manage/manage-bar.test.js.map +0 -1
  84. package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
  85. package/dist/test/manage/remove-items-modal-content.test.js +0 -60
  86. package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
  87. package/dist/test/mediatype-config.test.d.ts +0 -1
  88. package/dist/test/mediatype-config.test.js +0 -11
  89. package/dist/test/mediatype-config.test.js.map +0 -1
  90. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
  91. package/dist/test/mocks/mock-analytics-handler.js +0 -16
  92. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
  93. package/dist/test/mocks/mock-search-responses.d.ts +0 -31
  94. package/dist/test/mocks/mock-search-responses.js +0 -1241
  95. package/dist/test/mocks/mock-search-responses.js.map +0 -1
  96. package/dist/test/mocks/mock-search-service.d.ts +0 -16
  97. package/dist/test/mocks/mock-search-service.js +0 -64
  98. package/dist/test/mocks/mock-search-service.js.map +0 -1
  99. package/dist/test/restoration-state-handler.test.d.ts +0 -1
  100. package/dist/test/restoration-state-handler.test.js +0 -335
  101. package/dist/test/restoration-state-handler.test.js.map +0 -1
  102. package/dist/test/review-block.test.d.ts +0 -1
  103. package/dist/test/review-block.test.js +0 -46
  104. package/dist/test/review-block.test.js.map +0 -1
  105. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
  106. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -12
  107. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
  108. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
  109. package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -68
  110. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
  111. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
  112. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -326
  113. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
  114. package/dist/test/text-overlay.test.d.ts +0 -1
  115. package/dist/test/text-overlay.test.js +0 -43
  116. package/dist/test/text-overlay.test.js.map +0 -1
  117. package/dist/test/text-snippet-block.test.d.ts +0 -1
  118. package/dist/test/text-snippet-block.test.js +0 -58
  119. package/dist/test/text-snippet-block.test.js.map +0 -1
  120. package/dist/test/tile-stats.test.d.ts +0 -1
  121. package/dist/test/tile-stats.test.js +0 -167
  122. package/dist/test/tile-stats.test.js.map +0 -1
  123. package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
  124. package/dist/test/tiles/grid/account-tile.test.js +0 -96
  125. package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
  126. package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
  127. package/dist/test/tiles/grid/collection-tile.test.js +0 -90
  128. package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
  129. package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
  130. package/dist/test/tiles/grid/item-tile.test.js +0 -400
  131. package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
  132. package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
  133. package/dist/test/tiles/grid/search-tile.test.js +0 -62
  134. package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
  135. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
  136. package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -351
  137. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
  138. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
  139. package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -53
  140. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
  141. package/dist/test/tiles/list/tile-list-compact-header.test.d.ts +0 -1
  142. package/dist/test/tiles/list/tile-list-compact-header.test.js +0 -36
  143. package/dist/test/tiles/list/tile-list-compact-header.test.js.map +0 -1
  144. package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
  145. package/dist/test/tiles/list/tile-list-compact.test.js +0 -237
  146. package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
  147. package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
  148. package/dist/test/tiles/list/tile-list.test.js +0 -460
  149. package/dist/test/tiles/list/tile-list.test.js.map +0 -1
  150. package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
  151. package/dist/test/tiles/tile-dispatcher.test.js +0 -246
  152. package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
  153. package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
  154. package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
  155. package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
  156. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
  157. package/dist/test/tiles/tile-mediatype-icon.test.js +0 -133
  158. package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
  159. package/dist/test/utils/array-equals.test.d.ts +0 -1
  160. package/dist/test/utils/array-equals.test.js +0 -27
  161. package/dist/test/utils/array-equals.test.js.map +0 -1
  162. package/dist/test/utils/format-count.test.d.ts +0 -1
  163. package/dist/test/utils/format-count.test.js +0 -24
  164. package/dist/test/utils/format-count.test.js.map +0 -1
  165. package/dist/test/utils/format-date.test.d.ts +0 -1
  166. package/dist/test/utils/format-date.test.js +0 -61
  167. package/dist/test/utils/format-date.test.js.map +0 -1
  168. package/dist/test/utils/format-unit-size.test.d.ts +0 -1
  169. package/dist/test/utils/format-unit-size.test.js +0 -18
  170. package/dist/test/utils/format-unit-size.test.js.map +0 -1
  171. package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
  172. package/dist/test/utils/local-date-from-utc.test.js +0 -27
  173. package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
  174. package/eslint.config.mjs +0 -53
  175. package/index.html +0 -24
  176. package/index.ts +0 -29
  177. package/local.archive.org.cert +0 -86
  178. package/local.archive.org.key +0 -27
  179. package/pnpm-workspace.yaml +0 -30
  180. package/renovate.json +0 -6
  181. package/src/app-root.ts +0 -1284
  182. package/src/assets/img/icons/arrow-left.ts +0 -10
  183. package/src/assets/img/icons/arrow-right.ts +0 -10
  184. package/src/assets/img/icons/chevron.ts +0 -4
  185. package/src/assets/img/icons/close-circle-dark.ts +0 -5
  186. package/src/assets/img/icons/contract.ts +0 -9
  187. package/src/assets/img/icons/empty-query.ts +0 -5
  188. package/src/assets/img/icons/expand.ts +0 -9
  189. package/src/assets/img/icons/eye-closed.ts +0 -5
  190. package/src/assets/img/icons/eye.ts +0 -5
  191. package/src/assets/img/icons/favorite-filled.ts +0 -10
  192. package/src/assets/img/icons/favorite-unfilled.ts +0 -9
  193. package/src/assets/img/icons/filter.ts +0 -10
  194. package/src/assets/img/icons/login-required.ts +0 -18
  195. package/src/assets/img/icons/mediatype/account.ts +0 -14
  196. package/src/assets/img/icons/mediatype/audio.ts +0 -14
  197. package/src/assets/img/icons/mediatype/collection.ts +0 -12
  198. package/src/assets/img/icons/mediatype/data.ts +0 -15
  199. package/src/assets/img/icons/mediatype/etree.ts +0 -14
  200. package/src/assets/img/icons/mediatype/film.ts +0 -14
  201. package/src/assets/img/icons/mediatype/images.ts +0 -13
  202. package/src/assets/img/icons/mediatype/radio.ts +0 -15
  203. package/src/assets/img/icons/mediatype/search.ts +0 -14
  204. package/src/assets/img/icons/mediatype/software.ts +0 -13
  205. package/src/assets/img/icons/mediatype/texts.ts +0 -13
  206. package/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  207. package/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  208. package/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  209. package/src/assets/img/icons/mediatype/tv.ts +0 -14
  210. package/src/assets/img/icons/mediatype/video.ts +0 -14
  211. package/src/assets/img/icons/mediatype/web.ts +0 -13
  212. package/src/assets/img/icons/null-result.ts +0 -5
  213. package/src/assets/img/icons/quote.ts +0 -7
  214. package/src/assets/img/icons/restricted.ts +0 -13
  215. package/src/assets/img/icons/reviews.ts +0 -11
  216. package/src/assets/img/icons/upload.ts +0 -12
  217. package/src/assets/img/icons/views.ts +0 -11
  218. package/src/circular-activity-indicator.ts +0 -64
  219. package/src/collection-browser.ts +0 -3187
  220. package/src/collection-facets/facet-row.ts +0 -309
  221. package/src/collection-facets/facet-tombstone-row.ts +0 -40
  222. package/src/collection-facets/facets-template.ts +0 -85
  223. package/src/collection-facets/models.ts +0 -10
  224. package/src/collection-facets/more-facets-content.ts +0 -644
  225. package/src/collection-facets/more-facets-pagination.ts +0 -294
  226. package/src/collection-facets/smart-facets/dedupe.ts +0 -44
  227. package/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  228. package/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  229. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  230. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  231. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  232. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  233. package/src/collection-facets/smart-facets/models.ts +0 -36
  234. package/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  235. package/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  236. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  237. package/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  238. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  239. package/src/collection-facets/toggle-switch.ts +0 -174
  240. package/src/collection-facets.ts +0 -1013
  241. package/src/data-source/collection-browser-data-source-interface.ts +0 -351
  242. package/src/data-source/collection-browser-data-source.ts +0 -1474
  243. package/src/data-source/collection-browser-query-state.ts +0 -60
  244. package/src/data-source/models.ts +0 -56
  245. package/src/empty-placeholder.ts +0 -192
  246. package/src/expanded-date-picker.ts +0 -191
  247. package/src/language-code-handler/language-code-handler.ts +0 -64
  248. package/src/language-code-handler/language-code-mapping.ts +0 -564
  249. package/src/manage/manage-bar.ts +0 -276
  250. package/src/manage/remove-items-modal-content.ts +0 -102
  251. package/src/mediatype/mediatype-config.ts +0 -146
  252. package/src/models.ts +0 -895
  253. package/src/restoration-state-handler.ts +0 -550
  254. package/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  255. package/src/sort-filter-bar/alpha-bar.ts +0 -252
  256. package/src/sort-filter-bar/img/compact.ts +0 -5
  257. package/src/sort-filter-bar/img/list.ts +0 -5
  258. package/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  259. package/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  260. package/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  261. package/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  262. package/src/sort-filter-bar/img/tile.ts +0 -5
  263. package/src/sort-filter-bar/sort-filter-bar.ts +0 -734
  264. package/src/styles/ia-button.ts +0 -139
  265. package/src/styles/item-image-styles.ts +0 -124
  266. package/src/styles/sr-only.ts +0 -18
  267. package/src/styles/tile-action-styles.ts +0 -59
  268. package/src/tiles/base-tile-component.ts +0 -124
  269. package/src/tiles/collection-browser-loading-tile.ts +0 -26
  270. package/src/tiles/grid/account-tile.ts +0 -113
  271. package/src/tiles/grid/collection-tile.ts +0 -184
  272. package/src/tiles/grid/item-tile.ts +0 -347
  273. package/src/tiles/grid/search-tile.ts +0 -90
  274. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  275. package/src/tiles/grid/tile-stats.ts +0 -211
  276. package/src/tiles/hover/hover-pane-controller.ts +0 -638
  277. package/src/tiles/hover/tile-hover-pane.ts +0 -184
  278. package/src/tiles/image-block.ts +0 -162
  279. package/src/tiles/item-image.ts +0 -214
  280. package/src/tiles/list/tile-list-compact-header.ts +0 -112
  281. package/src/tiles/list/tile-list-compact.ts +0 -278
  282. package/src/tiles/list/tile-list.ts +0 -718
  283. package/src/tiles/models.ts +0 -21
  284. package/src/tiles/overlay/icon-overlay.ts +0 -57
  285. package/src/tiles/overlay/text-overlay.ts +0 -79
  286. package/src/tiles/review-block.ts +0 -130
  287. package/src/tiles/text-snippet-block.ts +0 -132
  288. package/src/tiles/tile-dispatcher.ts +0 -637
  289. package/src/tiles/tile-display-value-provider.ts +0 -133
  290. package/src/tiles/tile-mediatype-icon.ts +0 -133
  291. package/src/utils/analytics-events.ts +0 -29
  292. package/src/utils/array-equals.ts +0 -8
  293. package/src/utils/collapse-repeated-quotes.ts +0 -13
  294. package/src/utils/date-filter-field.ts +0 -11
  295. package/src/utils/facet-utils.ts +0 -183
  296. package/src/utils/format-count.ts +0 -95
  297. package/src/utils/format-date.ts +0 -62
  298. package/src/utils/format-unit-size.ts +0 -43
  299. package/src/utils/local-date-from-utc.ts +0 -15
  300. package/src/utils/log.ts +0 -14
  301. package/src/utils/resolve-mediatype.ts +0 -26
  302. package/src/utils/sha1.ts +0 -9
  303. package/test/collection-browser.test.ts +0 -2694
  304. package/test/collection-facets/facet-row.test.ts +0 -421
  305. package/test/collection-facets/facets-template.test.ts +0 -139
  306. package/test/collection-facets/more-facets-content.test.ts +0 -231
  307. package/test/collection-facets/more-facets-pagination.test.ts +0 -201
  308. package/test/collection-facets/toggle-switch.test.ts +0 -164
  309. package/test/collection-facets.test.ts +0 -928
  310. package/test/data-source/collection-browser-data-source.test.ts +0 -193
  311. package/test/empty-placeholder.test.ts +0 -88
  312. package/test/expanded-date-picker.test.ts +0 -201
  313. package/test/icon-overlay.test.ts +0 -38
  314. package/test/image-block.test.ts +0 -247
  315. package/test/item-image.test.ts +0 -220
  316. package/test/manage/manage-bar.test.ts +0 -347
  317. package/test/manage/remove-items-modal-content.test.ts +0 -81
  318. package/test/mediatype-config.test.ts +0 -11
  319. package/test/mocks/mock-analytics-handler.ts +0 -30
  320. package/test/mocks/mock-search-responses.ts +0 -1364
  321. package/test/mocks/mock-search-service.ts +0 -134
  322. package/test/restoration-state-handler.test.ts +0 -480
  323. package/test/review-block.test.ts +0 -62
  324. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  325. package/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  326. package/test/sort-filter-bar/sort-filter-bar.test.ts +0 -472
  327. package/test/text-overlay.test.ts +0 -55
  328. package/test/text-snippet-block.test.ts +0 -85
  329. package/test/tile-stats.test.ts +0 -191
  330. package/test/tiles/grid/account-tile.test.ts +0 -121
  331. package/test/tiles/grid/collection-tile.test.ts +0 -114
  332. package/test/tiles/grid/item-tile.test.ts +0 -520
  333. package/test/tiles/grid/search-tile.test.ts +0 -75
  334. package/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  335. package/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  336. package/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  337. package/test/tiles/list/tile-list-compact.test.ts +0 -282
  338. package/test/tiles/list/tile-list.test.ts +0 -576
  339. package/test/tiles/tile-dispatcher.test.ts +0 -320
  340. package/test/tiles/tile-display-value-provider.test.ts +0 -172
  341. package/test/tiles/tile-mediatype-icon.test.ts +0 -160
  342. package/test/utils/array-equals.test.ts +0 -31
  343. package/test/utils/format-count.test.ts +0 -32
  344. package/test/utils/format-date.test.ts +0 -89
  345. package/test/utils/format-unit-size.test.ts +0 -21
  346. package/test/utils/local-date-from-utc.test.ts +0 -37
  347. package/tsconfig.json +0 -25
  348. package/types/dompurify.d.ts +0 -1
  349. package/vite.config.ts +0 -29
  350. package/web-dev-server.config.mjs +0 -30
  351. package/web-test-runner.config.mjs +0 -52
@@ -1,309 +0,0 @@
1
- import {
2
- css,
3
- html,
4
- LitElement,
5
- TemplateResult,
6
- CSSResultGroup,
7
- nothing,
8
- } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
10
- import eyeIcon from '../assets/img/icons/eye';
11
- import eyeClosedIcon from '../assets/img/icons/eye-closed';
12
- import type {
13
- FacetOption,
14
- FacetBucket,
15
- FacetEventDetails,
16
- FacetState,
17
- } from '../models';
18
- import type { CollectionTitles } from '../data-source/models';
19
- import { srOnlyStyle } from '../styles/sr-only';
20
-
21
- @customElement('facet-row')
22
- export class FacetRow extends LitElement {
23
- //
24
- // UI STATE
25
- //
26
-
27
- /** The name of the facet group to which this facet belongs (e.g., "mediatype") */
28
- @property({ type: String }) facetType?: FacetOption;
29
-
30
- /** The facet bucket containing details about the state, count, and key for this row */
31
- @property({ type: Object }) bucket?: FacetBucket;
32
-
33
- /**
34
- * Whether to omit the negative/hide button from this facet row if possible.
35
- * Has no effect if the facet bucket is itself hidden, in which case the hide
36
- * button *must* be shown to represent the state accurately.
37
- */
38
- @property({ type: Boolean, reflect: true }) omitHideButton = false;
39
-
40
- /** The collection name cache for converting collection identifiers to titles */
41
- @property({ type: Object })
42
- collectionTitles?: CollectionTitles;
43
-
44
- //
45
- // COMPONENT LIFECYCLE METHODS
46
- //
47
-
48
- render() {
49
- return html`${this.facetRowTemplate}`;
50
- }
51
-
52
- //
53
- // TEMPLATE GETTERS
54
- //
55
-
56
- /**
57
- * Template for the full facet row, including the positive/negative checks,
58
- * the display name, and the count.
59
- */
60
- private get facetRowTemplate(): TemplateResult | typeof nothing {
61
- const { bucket, facetType } = this;
62
- if (!bucket || !facetType) return nothing;
63
-
64
- const showOnlyCheckboxId = `${facetType}:${bucket.key}-show-only`;
65
- const negativeCheckboxId = `${facetType}:${bucket.key}-negative`;
66
-
67
- const extraNoteSpan = bucket.extraNote
68
- ? html`<span class="facet-note">${bucket.extraNote}</span>`
69
- : nothing;
70
-
71
- // For collections, we render the collection title as a link.
72
- // For other facet types, we just have a static value to use.
73
- const bucketTextDisplay =
74
- facetType !== 'collection'
75
- ? html`${bucket.displayText ?? bucket.key} ${extraNoteSpan}`
76
- : html`<a href="/details/${bucket.key}">
77
- ${this.collectionTitles?.get(bucket.key) ?? bucket.key}
78
- </a> `;
79
-
80
- const bucketCountText =
81
- bucket.count > 0 ? bucket.count.toLocaleString() : '';
82
-
83
- const facetHidden = bucket.state === 'hidden';
84
- const facetSelected = bucket.state === 'selected';
85
-
86
- const titleText = `${facetType}: ${bucket.displayText ?? bucket.key}`;
87
- const onlyShowText = facetSelected
88
- ? `Show all ${facetType}s`
89
- : `Only show ${titleText}`;
90
- const hideText = `Hide ${titleText}`;
91
- const unhideText = `Unhide ${titleText}`;
92
- const showHideText = facetHidden ? unhideText : hideText;
93
- const ariaLabel = `${titleText}, ${bucket.count} results`;
94
-
95
- // Added data-testid for Playwright testing
96
- return html`
97
- <div class="facet-row-container">
98
- <div class="facet-checkboxes">
99
- <input
100
- type="checkbox"
101
- .name=${facetType}
102
- .value=${bucket.key}
103
- @click=${(e: Event) => {
104
- this.facetClicked(e, false);
105
- }}
106
- .checked=${facetSelected}
107
- class="select-facet-checkbox"
108
- title=${onlyShowText}
109
- id=${showOnlyCheckboxId}
110
- data-testid=${showOnlyCheckboxId}
111
- />
112
- <div
113
- class="hide-facet-container"
114
- ?hidden=${this.omitHideButton && !facetHidden}
115
- >
116
- <input
117
- type="checkbox"
118
- id=${negativeCheckboxId}
119
- .name=${facetType}
120
- .value=${bucket.key}
121
- @click=${(e: Event) => {
122
- this.facetClicked(e, true);
123
- }}
124
- .checked=${facetHidden}
125
- class="hide-facet-checkbox"
126
- />
127
- <label
128
- for=${negativeCheckboxId}
129
- class="hide-facet-icon${facetHidden ? ' active' : ''}"
130
- title=${showHideText}
131
- data-testid=${negativeCheckboxId}
132
- >
133
- <span class="sr-only">${showHideText}</span>
134
- <span class="eye eye-open">${eyeIcon}</span>
135
- <span class="eye eye-closed">${eyeClosedIcon}</span>
136
- </label>
137
- </div>
138
- </div>
139
- <label
140
- for=${showOnlyCheckboxId}
141
- class="facet-info-display"
142
- title=${onlyShowText}
143
- aria-label=${ariaLabel}
144
- >
145
- <div class="facet-title">${bucketTextDisplay}</div>
146
- <div class="facet-count">${bucketCountText}</div>
147
- </label>
148
- </div>
149
- `;
150
- }
151
-
152
- //
153
- // EVENT HANDLERS & DISPATCHERS
154
- //
155
-
156
- /**
157
- * Handler for whenever this facet is clicked & its state changes
158
- */
159
- private facetClicked(e: Event, negative: boolean) {
160
- const { bucket, facetType } = this;
161
- if (!bucket || !facetType) return;
162
-
163
- const target = e.target as HTMLInputElement;
164
- const { checked } = target;
165
- this.bucket = {
166
- ...bucket,
167
- state: FacetRow.getFacetState(checked, negative),
168
- };
169
-
170
- this.dispatchFacetClickEvent({
171
- facetType,
172
- bucket: this.bucket,
173
- negative,
174
- });
175
- }
176
-
177
- /**
178
- * Emits a `facetClick` event with details about this facet & its current state
179
- */
180
- private dispatchFacetClickEvent(detail: FacetEventDetails) {
181
- const event = new CustomEvent<FacetEventDetails>('facetClick', {
182
- detail,
183
- });
184
- this.dispatchEvent(event);
185
- }
186
-
187
- //
188
- // OTHER METHODS
189
- //
190
-
191
- /**
192
- * Returns the composed facet state corresponding to a positive or negative facet's checked state
193
- */
194
- static getFacetState(checked: boolean, negative: boolean): FacetState {
195
- let state: FacetState;
196
- if (checked) {
197
- state = negative ? 'hidden' : 'selected';
198
- } else {
199
- state = 'none';
200
- }
201
- return state;
202
- }
203
-
204
- //
205
- // STYLES
206
- //
207
-
208
- static get styles(): CSSResultGroup {
209
- const facetRowBorderTop = css`var(--facet-row-border-top, 1px solid transparent)`;
210
- const facetRowBorderBottom = css`var(--facet-row-border-bottom, 1px solid transparent)`;
211
- const checkboxHeight = css`15px`;
212
-
213
- const ownCss = css`
214
- .facet-checkboxes {
215
- margin: 0 5px 0 0;
216
- display: flex;
217
- height: ${checkboxHeight};
218
- }
219
- .facet-checkboxes input:first-child {
220
- margin-right: 5px;
221
- }
222
- .facet-checkboxes input {
223
- height: ${checkboxHeight};
224
- width: ${checkboxHeight};
225
- margin: 0;
226
- }
227
- .facet-row-container {
228
- display: flex;
229
- font-weight: 500;
230
- font-size: 1.2rem;
231
- margin: 0 auto;
232
- padding: 0.25rem 0;
233
- height: auto;
234
- border-top: ${facetRowBorderTop};
235
- border-bottom: ${facetRowBorderBottom};
236
- }
237
- .facet-info-display {
238
- display: flex;
239
- flex: 1 1 0%;
240
- cursor: pointer;
241
- flex-wrap: wrap;
242
- }
243
- .facet-title {
244
- word-break: break-word;
245
- display: inline-block;
246
- flex: 1 1 0%;
247
- }
248
- .facet-note {
249
- color: #bbb;
250
- }
251
- .facet-count {
252
- text-align: right;
253
- }
254
- .select-facet-checkbox {
255
- cursor: pointer;
256
- display: inline-block;
257
- }
258
- .hide-facet-checkbox {
259
- position: absolute;
260
- clip: rect(0, 0, 0, 0);
261
- pointer-events: none;
262
- }
263
- .hide-facet-checkbox:focus-visible + .hide-facet-icon {
264
- outline-style: auto;
265
- outline-offset: 2px;
266
- }
267
- .hide-facet-icon {
268
- width: ${checkboxHeight};
269
- height: ${checkboxHeight};
270
- cursor: pointer;
271
- display: flex;
272
- }
273
- .eye {
274
- width: ${checkboxHeight};
275
- height: ${checkboxHeight};
276
- opacity: 0.3;
277
- }
278
- .hide-facet-icon:hover .eye,
279
- .active .eye {
280
- opacity: 1;
281
- }
282
- .hide-facet-icon:hover .eye-open,
283
- .hide-facet-icon .eye-closed {
284
- display: none;
285
- }
286
- .hide-facet-icon:hover .eye-closed,
287
- .hide-facet-icon.active .eye-closed {
288
- display: inline;
289
- }
290
- .hide-facet-icon.active .eye-open {
291
- display: none;
292
- }
293
- .sorting-icon {
294
- cursor: pointer;
295
- }
296
-
297
- a:link,
298
- a:visited {
299
- text-decoration: none;
300
- color: var(--ia-theme-link-color, #4b64ff);
301
- }
302
- a:hover {
303
- text-decoration: underline;
304
- }
305
- `;
306
-
307
- return [srOnlyStyle, ownCss];
308
- }
309
- }
@@ -1,40 +0,0 @@
1
- import { css, html, LitElement, CSSResultGroup } from 'lit';
2
- import { customElement } from 'lit/decorators.js';
3
-
4
- @customElement('facet-tombstone-row')
5
- export class FacetTombstoneRow extends LitElement {
6
- render() {
7
- return html`
8
- <div id="row">
9
- <input type="checkbox" disabled />
10
- <div class="tombstone-line"></div>
11
- <div class="tombstone-line"></div>
12
- </div>
13
- `;
14
- }
15
-
16
- static get styles(): CSSResultGroup {
17
- return css`
18
- #row {
19
- display: grid;
20
- grid-template-columns: 15px 1fr 36px;
21
- grid-gap: 9px 6px;
22
- align-items: center;
23
- margin: 2.5px auto;
24
- border: 1px solid transparent;
25
- }
26
-
27
- .tombstone-line {
28
- background: #ddd;
29
- height: 6px;
30
- border-radius: 50px;
31
- }
32
-
33
- input[type='checkbox'] {
34
- width: 15px;
35
- height: 15px;
36
- margin: 0;
37
- }
38
- `;
39
- }
40
- }
@@ -1,85 +0,0 @@
1
- import {
2
- css,
3
- html,
4
- LitElement,
5
- TemplateResult,
6
- CSSResultGroup,
7
- nothing,
8
- } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
10
- import { repeat } from 'lit/directives/repeat.js';
11
- import type { FacetGroup, FacetBucket, FacetEventDetails } from '../models';
12
- import type { CollectionTitles } from '../data-source/models';
13
- import './facet-row';
14
-
15
- @customElement('facets-template')
16
- export class FacetsTemplate extends LitElement {
17
- @property({ type: Object }) facetGroup?: FacetGroup;
18
-
19
- @property({ type: Object })
20
- collectionTitles?: CollectionTitles;
21
-
22
- private facetClicked(e: CustomEvent<FacetEventDetails>) {
23
- this.dispatchFacetClickEvent(e.detail);
24
- }
25
-
26
- private dispatchFacetClickEvent(detail: FacetEventDetails) {
27
- const event = new CustomEvent<FacetEventDetails>('facetClick', {
28
- detail,
29
- composed: true,
30
- });
31
- this.dispatchEvent(event);
32
- }
33
-
34
- private get facetsTemplate(): TemplateResult | typeof nothing {
35
- const { facetGroup } = this;
36
- if (!facetGroup) return nothing;
37
-
38
- const facetBuckets = facetGroup.buckets as FacetBucket[];
39
- const isLoneBucket = facetBuckets.length === 1;
40
-
41
- // Added data-testid for Playwright testing
42
- // Using className and aria-labels is not ideal for Playwright locator
43
- return html`
44
- <div class="facet-rows" data-testid="facets-on-${facetGroup.key}">
45
- ${repeat(
46
- facetBuckets,
47
- bucket => `${facetGroup.key}:${bucket.key}`,
48
- bucket =>
49
- html`<facet-row
50
- .facetType=${facetGroup.key}
51
- .bucket=${bucket}
52
- .collectionTitles=${this.collectionTitles}
53
- ?omitHideButton=${isLoneBucket}
54
- @facetClick=${this.facetClicked}
55
- ></facet-row>`,
56
- )}
57
- </div>
58
- `;
59
- }
60
-
61
- render() {
62
- return html`${this.facetsTemplate}`;
63
- }
64
-
65
- static get styles(): CSSResultGroup {
66
- const columnCount = css`var(--facetsColumnCount, 1)`;
67
- const columnGap = css`var(--facetsColumnGap, 15px)`;
68
-
69
- return css`
70
- .facet-rows {
71
- column-count: ${columnCount};
72
- column-gap: ${columnGap};
73
- }
74
-
75
- a:link,
76
- a:visited {
77
- text-decoration: none;
78
- color: var(--ia-theme-link-color, #4b64ff);
79
- }
80
- a:hover {
81
- text-decoration: underline;
82
- }
83
- `;
84
- }
85
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Maximum number of aggregations to include in the More... facet dialogs.
3
- */
4
- export const MORE_FACETS__MAX_AGGREGATIONS = 10000;
5
-
6
- /**
7
- * Default number of facets to show per page of the More... facet dialogs.
8
- * Can be overridden via component property.
9
- */
10
- export const MORE_FACETS__DEFAULT_PAGE_SIZE = 35;