@internetarchive/collection-browser 4.8.0 → 4.8.1-webdev-9227.1

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 (381) hide show
  1. package/README.md +33 -0
  2. package/dist/src/collection-browser.d.ts +2 -1
  3. package/dist/src/collection-browser.js +3 -3
  4. package/dist/src/collection-browser.js.map +1 -1
  5. package/dist/src/collection-facets/more-facets-content.js +3 -2
  6. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  7. package/dist/src/collection-facets/more-facets-scroller.js +3 -2
  8. package/dist/src/collection-facets/more-facets-scroller.js.map +1 -1
  9. package/dist/src/collection-facets.js +3 -2
  10. package/dist/src/collection-facets.js.map +1 -1
  11. package/dist/src/empty-placeholder.d.ts +7 -7
  12. package/dist/src/empty-placeholder.js +29 -15
  13. package/dist/src/empty-placeholder.js.map +1 -1
  14. package/dist/src/expanded-date-picker.js +3 -2
  15. package/dist/src/expanded-date-picker.js.map +1 -1
  16. package/dist/src/locales/es.d.ts +94 -0
  17. package/dist/src/locales/es.js +109 -0
  18. package/dist/src/locales/es.js.map +1 -0
  19. package/dist/src/manage/manage-bar.d.ts +3 -2
  20. package/dist/src/manage/manage-bar.js +6 -7
  21. package/dist/src/manage/manage-bar.js.map +1 -1
  22. package/dist/src/manage/remove-items-modal-content.js +3 -2
  23. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  24. package/dist/src/models.js +6 -2
  25. package/dist/src/models.js.map +1 -1
  26. package/dist/src/sort-filter-bar/sort-filter-bar.js +3 -2
  27. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  28. package/dist/src/tiles/grid/account-tile.js +3 -2
  29. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  30. package/dist/src/tiles/grid/collection-tile.js +3 -2
  31. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  32. package/dist/src/tiles/grid/item-tile.js +3 -2
  33. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  34. package/dist/src/tiles/grid/tile-stats.js +3 -2
  35. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  36. package/dist/src/tiles/list/tile-list-compact-header.js +3 -2
  37. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  38. package/dist/src/tiles/list/tile-list-compact.js +3 -1
  39. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  40. package/dist/src/tiles/list/tile-list.js +3 -2
  41. package/dist/src/tiles/list/tile-list.js.map +1 -1
  42. package/dist/src/tiles/overlay/text-overlay.js +3 -1
  43. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  44. package/dist/src/tiles/review-block.js +3 -2
  45. package/dist/src/tiles/review-block.js.map +1 -1
  46. package/dist/src/tiles/tile-dispatcher.d.ts +2 -1
  47. package/dist/src/tiles/tile-dispatcher.js +5 -4
  48. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  49. package/locales/es.d.ts +1 -0
  50. package/locales/es.js +1 -0
  51. package/package.json +13 -1
  52. package/.editorconfig +0 -29
  53. package/.github/workflows/ci.yml +0 -29
  54. package/.github/workflows/gh-pages-main.yml +0 -41
  55. package/.github/workflows/npm-publish.yml +0 -42
  56. package/.github/workflows/pr-preview.yml +0 -40
  57. package/.husky/pre-commit +0 -1
  58. package/.prettierignore +0 -1
  59. package/dist/test/collection-browser.test.d.ts +0 -1
  60. package/dist/test/collection-browser.test.js +0 -1815
  61. package/dist/test/collection-browser.test.js.map +0 -1
  62. package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
  63. package/dist/test/collection-facets/facet-row.test.js +0 -291
  64. package/dist/test/collection-facets/facet-row.test.js.map +0 -1
  65. package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
  66. package/dist/test/collection-facets/facets-template.test.js +0 -95
  67. package/dist/test/collection-facets/facets-template.test.js.map +0 -1
  68. package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
  69. package/dist/test/collection-facets/more-facets-content.test.js +0 -509
  70. package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
  71. package/dist/test/collection-facets/more-facets-scroller.test.d.ts +0 -1
  72. package/dist/test/collection-facets/more-facets-scroller.test.js +0 -288
  73. package/dist/test/collection-facets/more-facets-scroller.test.js.map +0 -1
  74. package/dist/test/collection-facets/page-window.test.d.ts +0 -1
  75. package/dist/test/collection-facets/page-window.test.js +0 -175
  76. package/dist/test/collection-facets/page-window.test.js.map +0 -1
  77. package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
  78. package/dist/test/collection-facets/toggle-switch.test.js +0 -99
  79. package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
  80. package/dist/test/collection-facets.test.d.ts +0 -2
  81. package/dist/test/collection-facets.test.js +0 -728
  82. package/dist/test/collection-facets.test.js.map +0 -1
  83. package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
  84. package/dist/test/data-source/collection-browser-data-source.test.js +0 -154
  85. package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
  86. package/dist/test/empty-placeholder.test.d.ts +0 -1
  87. package/dist/test/empty-placeholder.test.js +0 -57
  88. package/dist/test/empty-placeholder.test.js.map +0 -1
  89. package/dist/test/expanded-date-picker.test.d.ts +0 -1
  90. package/dist/test/expanded-date-picker.test.js +0 -124
  91. package/dist/test/expanded-date-picker.test.js.map +0 -1
  92. package/dist/test/icon-overlay.test.d.ts +0 -1
  93. package/dist/test/icon-overlay.test.js +0 -31
  94. package/dist/test/icon-overlay.test.js.map +0 -1
  95. package/dist/test/image-block.test.d.ts +0 -1
  96. package/dist/test/image-block.test.js +0 -208
  97. package/dist/test/image-block.test.js.map +0 -1
  98. package/dist/test/item-image.test.d.ts +0 -1
  99. package/dist/test/item-image.test.js +0 -187
  100. package/dist/test/item-image.test.js.map +0 -1
  101. package/dist/test/manage/manage-bar.test.d.ts +0 -3
  102. package/dist/test/manage/manage-bar.test.js +0 -216
  103. package/dist/test/manage/manage-bar.test.js.map +0 -1
  104. package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
  105. package/dist/test/manage/remove-items-modal-content.test.js +0 -60
  106. package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
  107. package/dist/test/mediatype-config.test.d.ts +0 -1
  108. package/dist/test/mediatype-config.test.js +0 -11
  109. package/dist/test/mediatype-config.test.js.map +0 -1
  110. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
  111. package/dist/test/mocks/mock-analytics-handler.js +0 -16
  112. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
  113. package/dist/test/mocks/mock-search-responses.d.ts +0 -37
  114. package/dist/test/mocks/mock-search-responses.js +0 -1293
  115. package/dist/test/mocks/mock-search-responses.js.map +0 -1
  116. package/dist/test/mocks/mock-search-service.d.ts +0 -16
  117. package/dist/test/mocks/mock-search-service.js +0 -65
  118. package/dist/test/mocks/mock-search-service.js.map +0 -1
  119. package/dist/test/restoration-state-handler.test.d.ts +0 -1
  120. package/dist/test/restoration-state-handler.test.js +0 -335
  121. package/dist/test/restoration-state-handler.test.js.map +0 -1
  122. package/dist/test/review-block.test.d.ts +0 -1
  123. package/dist/test/review-block.test.js +0 -46
  124. package/dist/test/review-block.test.js.map +0 -1
  125. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
  126. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -12
  127. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
  128. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
  129. package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -68
  130. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
  131. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
  132. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -304
  133. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
  134. package/dist/test/text-overlay.test.d.ts +0 -1
  135. package/dist/test/text-overlay.test.js +0 -43
  136. package/dist/test/text-overlay.test.js.map +0 -1
  137. package/dist/test/text-snippet-block.test.d.ts +0 -1
  138. package/dist/test/text-snippet-block.test.js +0 -58
  139. package/dist/test/text-snippet-block.test.js.map +0 -1
  140. package/dist/test/tile-stats.test.d.ts +0 -1
  141. package/dist/test/tile-stats.test.js +0 -167
  142. package/dist/test/tile-stats.test.js.map +0 -1
  143. package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
  144. package/dist/test/tiles/grid/account-tile.test.js +0 -96
  145. package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
  146. package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
  147. package/dist/test/tiles/grid/collection-tile.test.js +0 -90
  148. package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
  149. package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
  150. package/dist/test/tiles/grid/item-tile.test.js +0 -400
  151. package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
  152. package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
  153. package/dist/test/tiles/grid/search-tile.test.js +0 -62
  154. package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
  155. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
  156. package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -351
  157. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
  158. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
  159. package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -53
  160. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
  161. package/dist/test/tiles/list/tile-list-compact-header.test.d.ts +0 -1
  162. package/dist/test/tiles/list/tile-list-compact-header.test.js +0 -36
  163. package/dist/test/tiles/list/tile-list-compact-header.test.js.map +0 -1
  164. package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
  165. package/dist/test/tiles/list/tile-list-compact.test.js +0 -237
  166. package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
  167. package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
  168. package/dist/test/tiles/list/tile-list.test.js +0 -460
  169. package/dist/test/tiles/list/tile-list.test.js.map +0 -1
  170. package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
  171. package/dist/test/tiles/tile-dispatcher.test.js +0 -246
  172. package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
  173. package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
  174. package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
  175. package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
  176. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
  177. package/dist/test/tiles/tile-mediatype-icon.test.js +0 -133
  178. package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
  179. package/dist/test/utils/array-equals.test.d.ts +0 -1
  180. package/dist/test/utils/array-equals.test.js +0 -27
  181. package/dist/test/utils/array-equals.test.js.map +0 -1
  182. package/dist/test/utils/format-count.test.d.ts +0 -1
  183. package/dist/test/utils/format-count.test.js +0 -24
  184. package/dist/test/utils/format-count.test.js.map +0 -1
  185. package/dist/test/utils/format-date.test.d.ts +0 -1
  186. package/dist/test/utils/format-date.test.js +0 -61
  187. package/dist/test/utils/format-date.test.js.map +0 -1
  188. package/dist/test/utils/format-unit-size.test.d.ts +0 -1
  189. package/dist/test/utils/format-unit-size.test.js +0 -18
  190. package/dist/test/utils/format-unit-size.test.js.map +0 -1
  191. package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
  192. package/dist/test/utils/local-date-from-utc.test.js +0 -27
  193. package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
  194. package/dist/test/utils/normalize-filter-text.test.d.ts +0 -1
  195. package/dist/test/utils/normalize-filter-text.test.js +0 -69
  196. package/dist/test/utils/normalize-filter-text.test.js.map +0 -1
  197. package/docs/design/column-virtualization.md +0 -214
  198. package/eslint.config.mjs +0 -53
  199. package/index.html +0 -24
  200. package/index.ts +0 -29
  201. package/local.archive.org.cert +0 -86
  202. package/local.archive.org.key +0 -27
  203. package/pnpm-workspace.yaml +0 -30
  204. package/renovate.json +0 -6
  205. package/src/app-root.ts +0 -1282
  206. package/src/assets/img/icons/arrow-left.ts +0 -10
  207. package/src/assets/img/icons/arrow-right.ts +0 -10
  208. package/src/assets/img/icons/check.ts +0 -5
  209. package/src/assets/img/icons/chevron.ts +0 -4
  210. package/src/assets/img/icons/close-circle-dark.ts +0 -5
  211. package/src/assets/img/icons/contract.ts +0 -9
  212. package/src/assets/img/icons/empty-query.ts +0 -5
  213. package/src/assets/img/icons/expand.ts +0 -9
  214. package/src/assets/img/icons/eye-closed.ts +0 -5
  215. package/src/assets/img/icons/eye.ts +0 -5
  216. package/src/assets/img/icons/favorite-filled.ts +0 -10
  217. package/src/assets/img/icons/favorite-unfilled.ts +0 -9
  218. package/src/assets/img/icons/filter.ts +0 -10
  219. package/src/assets/img/icons/login-required.ts +0 -18
  220. package/src/assets/img/icons/mediatype/account.ts +0 -14
  221. package/src/assets/img/icons/mediatype/audio.ts +0 -14
  222. package/src/assets/img/icons/mediatype/collection.ts +0 -12
  223. package/src/assets/img/icons/mediatype/data.ts +0 -15
  224. package/src/assets/img/icons/mediatype/etree.ts +0 -14
  225. package/src/assets/img/icons/mediatype/film.ts +0 -14
  226. package/src/assets/img/icons/mediatype/images.ts +0 -13
  227. package/src/assets/img/icons/mediatype/radio.ts +0 -15
  228. package/src/assets/img/icons/mediatype/search.ts +0 -14
  229. package/src/assets/img/icons/mediatype/software.ts +0 -13
  230. package/src/assets/img/icons/mediatype/texts.ts +0 -13
  231. package/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  232. package/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  233. package/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  234. package/src/assets/img/icons/mediatype/tv.ts +0 -14
  235. package/src/assets/img/icons/mediatype/video.ts +0 -14
  236. package/src/assets/img/icons/mediatype/web.ts +0 -13
  237. package/src/assets/img/icons/null-result.ts +0 -5
  238. package/src/assets/img/icons/quote.ts +0 -7
  239. package/src/assets/img/icons/restricted.ts +0 -13
  240. package/src/assets/img/icons/reviews.ts +0 -11
  241. package/src/assets/img/icons/upload.ts +0 -12
  242. package/src/assets/img/icons/views.ts +0 -11
  243. package/src/circular-activity-indicator.ts +0 -64
  244. package/src/collection-browser.ts +0 -3165
  245. package/src/collection-facets/facet-row-template.ts +0 -242
  246. package/src/collection-facets/facet-row.ts +0 -122
  247. package/src/collection-facets/facet-tombstone-row.ts +0 -40
  248. package/src/collection-facets/facets-template.ts +0 -85
  249. package/src/collection-facets/models.ts +0 -16
  250. package/src/collection-facets/more-facets-content.ts +0 -951
  251. package/src/collection-facets/more-facets-scroller.ts +0 -485
  252. package/src/collection-facets/page-window.ts +0 -247
  253. package/src/collection-facets/smart-facets/dedupe.ts +0 -44
  254. package/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  255. package/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  256. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  257. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  258. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  259. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  260. package/src/collection-facets/smart-facets/models.ts +0 -36
  261. package/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  262. package/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  263. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  264. package/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  265. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  266. package/src/collection-facets/toggle-switch.ts +0 -175
  267. package/src/collection-facets.ts +0 -1013
  268. package/src/data-source/collection-browser-data-source-interface.ts +0 -351
  269. package/src/data-source/collection-browser-data-source.ts +0 -1474
  270. package/src/data-source/collection-browser-query-state.ts +0 -60
  271. package/src/data-source/models.ts +0 -56
  272. package/src/empty-placeholder.ts +0 -192
  273. package/src/expanded-date-picker.ts +0 -191
  274. package/src/language-code-handler/language-code-handler.ts +0 -64
  275. package/src/language-code-handler/language-code-mapping.ts +0 -564
  276. package/src/manage/manage-bar.ts +0 -276
  277. package/src/manage/remove-items-modal-content.ts +0 -102
  278. package/src/mediatype/mediatype-config.ts +0 -146
  279. package/src/models.ts +0 -912
  280. package/src/restoration-state-handler.ts +0 -550
  281. package/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  282. package/src/sort-filter-bar/alpha-bar.ts +0 -252
  283. package/src/sort-filter-bar/img/compact.ts +0 -5
  284. package/src/sort-filter-bar/img/list.ts +0 -5
  285. package/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  286. package/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  287. package/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  288. package/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  289. package/src/sort-filter-bar/img/tile.ts +0 -5
  290. package/src/sort-filter-bar/sort-filter-bar.ts +0 -733
  291. package/src/styles/ia-button.ts +0 -139
  292. package/src/styles/item-image-styles.ts +0 -124
  293. package/src/styles/sr-only.ts +0 -18
  294. package/src/styles/tile-action-styles.ts +0 -59
  295. package/src/tiles/base-tile-component.ts +0 -124
  296. package/src/tiles/collection-browser-loading-tile.ts +0 -26
  297. package/src/tiles/grid/account-tile.ts +0 -113
  298. package/src/tiles/grid/collection-tile.ts +0 -184
  299. package/src/tiles/grid/item-tile.ts +0 -347
  300. package/src/tiles/grid/search-tile.ts +0 -90
  301. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  302. package/src/tiles/grid/tile-stats.ts +0 -211
  303. package/src/tiles/hover/hover-pane-controller.ts +0 -638
  304. package/src/tiles/hover/tile-hover-pane.ts +0 -184
  305. package/src/tiles/image-block.ts +0 -162
  306. package/src/tiles/item-image.ts +0 -214
  307. package/src/tiles/list/tile-list-compact-header.ts +0 -112
  308. package/src/tiles/list/tile-list-compact.ts +0 -278
  309. package/src/tiles/list/tile-list.ts +0 -718
  310. package/src/tiles/models.ts +0 -21
  311. package/src/tiles/overlay/icon-overlay.ts +0 -57
  312. package/src/tiles/overlay/text-overlay.ts +0 -79
  313. package/src/tiles/review-block.ts +0 -130
  314. package/src/tiles/text-snippet-block.ts +0 -132
  315. package/src/tiles/tile-dispatcher.ts +0 -637
  316. package/src/tiles/tile-display-value-provider.ts +0 -133
  317. package/src/tiles/tile-mediatype-icon.ts +0 -133
  318. package/src/utils/analytics-events.ts +0 -29
  319. package/src/utils/array-equals.ts +0 -8
  320. package/src/utils/collapse-repeated-quotes.ts +0 -13
  321. package/src/utils/date-filter-field.ts +0 -11
  322. package/src/utils/facet-utils.ts +0 -183
  323. package/src/utils/format-count.ts +0 -95
  324. package/src/utils/format-date.ts +0 -62
  325. package/src/utils/format-unit-size.ts +0 -43
  326. package/src/utils/local-date-from-utc.ts +0 -15
  327. package/src/utils/log.ts +0 -14
  328. package/src/utils/normalize-filter-text.ts +0 -54
  329. package/src/utils/resolve-mediatype.ts +0 -26
  330. package/src/utils/sha1.ts +0 -9
  331. package/test/collection-browser.test.ts +0 -2639
  332. package/test/collection-facets/facet-row.test.ts +0 -421
  333. package/test/collection-facets/facets-template.test.ts +0 -139
  334. package/test/collection-facets/more-facets-content.test.ts +0 -716
  335. package/test/collection-facets/more-facets-scroller.test.ts +0 -401
  336. package/test/collection-facets/page-window.test.ts +0 -208
  337. package/test/collection-facets/toggle-switch.test.ts +0 -164
  338. package/test/collection-facets.test.ts +0 -928
  339. package/test/data-source/collection-browser-data-source.test.ts +0 -193
  340. package/test/empty-placeholder.test.ts +0 -88
  341. package/test/expanded-date-picker.test.ts +0 -201
  342. package/test/icon-overlay.test.ts +0 -38
  343. package/test/image-block.test.ts +0 -247
  344. package/test/item-image.test.ts +0 -220
  345. package/test/manage/manage-bar.test.ts +0 -347
  346. package/test/manage/remove-items-modal-content.test.ts +0 -81
  347. package/test/mediatype-config.test.ts +0 -11
  348. package/test/mocks/mock-analytics-handler.ts +0 -30
  349. package/test/mocks/mock-search-responses.ts +0 -1420
  350. package/test/mocks/mock-search-service.ts +0 -136
  351. package/test/restoration-state-handler.test.ts +0 -480
  352. package/test/review-block.test.ts +0 -62
  353. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  354. package/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  355. package/test/sort-filter-bar/sort-filter-bar.test.ts +0 -443
  356. package/test/text-overlay.test.ts +0 -55
  357. package/test/text-snippet-block.test.ts +0 -85
  358. package/test/tile-stats.test.ts +0 -191
  359. package/test/tiles/grid/account-tile.test.ts +0 -121
  360. package/test/tiles/grid/collection-tile.test.ts +0 -114
  361. package/test/tiles/grid/item-tile.test.ts +0 -520
  362. package/test/tiles/grid/search-tile.test.ts +0 -75
  363. package/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  364. package/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  365. package/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  366. package/test/tiles/list/tile-list-compact.test.ts +0 -282
  367. package/test/tiles/list/tile-list.test.ts +0 -576
  368. package/test/tiles/tile-dispatcher.test.ts +0 -320
  369. package/test/tiles/tile-display-value-provider.test.ts +0 -172
  370. package/test/tiles/tile-mediatype-icon.test.ts +0 -160
  371. package/test/utils/array-equals.test.ts +0 -31
  372. package/test/utils/format-count.test.ts +0 -32
  373. package/test/utils/format-date.test.ts +0 -89
  374. package/test/utils/format-unit-size.test.ts +0 -21
  375. package/test/utils/local-date-from-utc.test.ts +0 -37
  376. package/test/utils/normalize-filter-text.test.ts +0 -87
  377. package/tsconfig.json +0 -25
  378. package/types/dompurify.d.ts +0 -1
  379. package/vite.config.ts +0 -29
  380. package/web-dev-server.config.mjs +0 -30
  381. package/web-test-runner.config.mjs +0 -57
@@ -1,421 +0,0 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import type { FacetRow } from '../../src/collection-facets/facet-row';
5
- import '../../src/collection-facets/facet-row';
6
- import type { FacetState } from '../../src/models';
7
-
8
- describe('Facet row', () => {
9
- it('renders nothing if no bucket provided', async () => {
10
- const el = await fixture<FacetRow>(
11
- html`<facet-row .facetType=${'subject'}></facet-row>`,
12
- );
13
-
14
- expect(el.shadowRoot?.querySelector('.facet-row-container')).not.to.exist;
15
- });
16
-
17
- it('renders nothing if no facet type provided', async () => {
18
- const bucket = {
19
- key: 'foo',
20
- state: 'none' as FacetState,
21
- count: 5,
22
- };
23
-
24
- const el = await fixture<FacetRow>(
25
- html`<facet-row .bucket=${bucket}></facet-row>`,
26
- );
27
-
28
- expect(el.shadowRoot?.querySelector('.facet-row-container')).not.to.exist;
29
- });
30
-
31
- it('renders provided bucket as facet row', async () => {
32
- const bucket = {
33
- key: 'foo',
34
- state: 'none' as FacetState,
35
- count: 5,
36
- };
37
-
38
- const el = await fixture<FacetRow>(
39
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
40
- );
41
-
42
- expect(el.shadowRoot?.querySelector('.facet-row-container')).to.exist;
43
- expect(
44
- el.shadowRoot?.querySelectorAll('input[type="checkbox"]'),
45
- ).to.have.length(2);
46
- expect(el.shadowRoot?.querySelectorAll('label')).to.have.length(2);
47
-
48
- const labelText = el.shadowRoot?.querySelector('.facet-info-display');
49
- expect(labelText?.textContent?.trim()).to.match(/^foo\s*5$/);
50
- });
51
-
52
- it('renders locale-appropriate facet count', async () => {
53
- const bucket = {
54
- key: 'foo',
55
- state: 'none' as FacetState,
56
- count: 54321,
57
- };
58
-
59
- const el = await fixture<FacetRow>(
60
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
61
- );
62
-
63
- const facetCount = el.shadowRoot?.querySelector('.facet-count');
64
- expect(facetCount?.textContent).to.equal('54,321');
65
- });
66
-
67
- it('renders selected facets with checked checkbox', async () => {
68
- const bucket = {
69
- key: 'foo',
70
- state: 'selected' as FacetState,
71
- count: 5,
72
- };
73
-
74
- const el = await fixture<FacetRow>(
75
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
76
- );
77
-
78
- // "Positive" checkbox is checked; "Negative" checkbox is not checked
79
- const selectCheckbox = el.shadowRoot?.querySelector(
80
- '.select-facet-checkbox',
81
- ) as HTMLInputElement;
82
- const hideCheckbox = el.shadowRoot?.querySelector(
83
- '.hide-facet-checkbox',
84
- ) as HTMLInputElement;
85
- expect(selectCheckbox?.checked).to.be.true;
86
- expect(hideCheckbox?.checked).to.be.false;
87
-
88
- // Eye icon is not in its active state
89
- expect(
90
- el.shadowRoot?.querySelector('.hide-facet-icon'),
91
- ).to.exist.and.satisfy(
92
- (icon: HTMLElement) => !icon.classList.contains('active'),
93
- );
94
- });
95
-
96
- it('renders hidden facets with closed eye icon', async () => {
97
- const bucket = {
98
- key: 'foo',
99
- state: 'hidden' as FacetState,
100
- count: 5,
101
- };
102
-
103
- const el = await fixture<FacetRow>(
104
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
105
- );
106
-
107
- // "Positive" checkbox is not checked; "Negative" checkbox is checked
108
- const selectCheckbox = el.shadowRoot?.querySelector(
109
- '.select-facet-checkbox',
110
- ) as HTMLInputElement;
111
- const hideCheckbox = el.shadowRoot?.querySelector(
112
- '.hide-facet-checkbox',
113
- ) as HTMLInputElement;
114
- expect(selectCheckbox?.checked).to.be.false;
115
- expect(hideCheckbox?.checked).to.be.true;
116
-
117
- // Eye icon is in its "active" state
118
- expect(
119
- el.shadowRoot?.querySelector('.hide-facet-icon'),
120
- ).to.exist.and.satisfy((icon: HTMLElement) =>
121
- icon.classList.contains('active'),
122
- );
123
- });
124
-
125
- it('omits hide button when property is specified (and facet state is not hidden)', async () => {
126
- const bucket = {
127
- key: 'foo',
128
- state: 'none' as FacetState,
129
- count: 5,
130
- };
131
-
132
- const el = await fixture<FacetRow>(
133
- html`<facet-row
134
- .facetType=${'subject'}
135
- .bucket=${bucket}
136
- omitHideButton
137
- ></facet-row>`,
138
- );
139
-
140
- // Hide button's container is hidden
141
- expect(
142
- el.shadowRoot
143
- ?.querySelector('.hide-facet-container')
144
- ?.hasAttribute('hidden'),
145
- ).to.be.true;
146
- });
147
-
148
- it('does not omit hide button when facet state is hidden, even if property specified', async () => {
149
- const bucket = {
150
- key: 'foo',
151
- state: 'hidden' as FacetState,
152
- count: 5,
153
- };
154
-
155
- const el = await fixture<FacetRow>(
156
- html`<facet-row
157
- .facetType=${'subject'}
158
- .bucket=${bucket}
159
- omitHideButton
160
- ></facet-row>`,
161
- );
162
-
163
- // Hide button's container is NOT hidden (i.e., we SHOW the hide button like normal)
164
- expect(
165
- el.shadowRoot
166
- ?.querySelector('.hide-facet-container')
167
- ?.hasAttribute('hidden'),
168
- ).to.be.false;
169
- });
170
-
171
- it('renders correct accessible label for unchecked negative facets', async () => {
172
- const bucket = {
173
- key: 'foo',
174
- state: 'none' as FacetState,
175
- count: 5,
176
- };
177
-
178
- const el = await fixture<FacetRow>(
179
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
180
- );
181
-
182
- const hideFacetLabel = el.shadowRoot?.querySelector('.hide-facet-icon');
183
- expect(hideFacetLabel?.textContent?.trim()).to.match(/^Hide subject: foo$/);
184
- });
185
-
186
- it('renders correct accessible label for checked negative facets', async () => {
187
- const bucket = {
188
- key: 'foo',
189
- state: 'hidden' as FacetState,
190
- count: 5,
191
- };
192
-
193
- const el = await fixture<FacetRow>(
194
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
195
- );
196
-
197
- const hideFacetLabel = el.shadowRoot?.querySelector('.hide-facet-icon');
198
- expect(hideFacetLabel?.textContent?.trim()).to.match(
199
- /^Unhide subject: foo$/,
200
- );
201
- });
202
-
203
- it('renders collection facets as links', async () => {
204
- const bucket = {
205
- key: 'foo',
206
- state: 'none' as FacetState,
207
- count: 5,
208
- };
209
-
210
- const el = await fixture<FacetRow>(
211
- html`<facet-row
212
- .facetType=${'collection'}
213
- .bucket=${bucket}
214
- ></facet-row>`,
215
- );
216
-
217
- const collectionName = el.shadowRoot?.querySelector(
218
- '.facet-title > a:link',
219
- );
220
- expect(collectionName).to.exist;
221
- expect(collectionName?.getAttribute('href')).to.equal('/details/foo');
222
- });
223
-
224
- it('does not render non-collection facets as links', async () => {
225
- const bucket = {
226
- key: 'foo',
227
- state: 'none' as FacetState,
228
- count: 5,
229
- };
230
-
231
- const el = await fixture<FacetRow>(
232
- html`<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`,
233
- );
234
-
235
- expect(el.shadowRoot?.querySelector('a:link')).not.to.exist;
236
- });
237
-
238
- it('emits event when facet checkbox is clicked', async () => {
239
- const facetClickSpy = sinon.spy();
240
- const bucket = {
241
- key: 'foo',
242
- state: 'none' as FacetState,
243
- count: 5,
244
- };
245
-
246
- const el = await fixture<FacetRow>(
247
- html`<facet-row
248
- .facetType=${'subject'}
249
- .bucket=${bucket}
250
- @facetClick=${facetClickSpy}
251
- ></facet-row>`,
252
- );
253
-
254
- const positiveFacetCheck = el.shadowRoot?.querySelector(
255
- '.select-facet-checkbox',
256
- ) as HTMLInputElement;
257
- expect(positiveFacetCheck).to.exist;
258
- positiveFacetCheck.click();
259
-
260
- expect(facetClickSpy.callCount).to.equal(1);
261
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
262
- facetType: 'subject',
263
- bucket: {
264
- key: 'foo',
265
- state: 'selected',
266
- count: 5,
267
- },
268
- negative: false,
269
- });
270
- });
271
-
272
- it('emits event when facet checkbox is unchecked', async () => {
273
- const facetClickSpy = sinon.spy();
274
- const bucket = {
275
- key: 'foo',
276
- state: 'selected' as FacetState,
277
- count: 5,
278
- };
279
-
280
- const el = await fixture<FacetRow>(
281
- html`<facet-row
282
- .facetType=${'subject'}
283
- .bucket=${bucket}
284
- @facetClick=${facetClickSpy}
285
- ></facet-row>`,
286
- );
287
-
288
- const positiveFacetCheck = el.shadowRoot?.querySelector(
289
- '.select-facet-checkbox',
290
- ) as HTMLInputElement;
291
- expect(positiveFacetCheck).to.exist;
292
- positiveFacetCheck.click();
293
-
294
- expect(facetClickSpy.callCount).to.equal(1);
295
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
296
- facetType: 'subject',
297
- bucket: {
298
- key: 'foo',
299
- state: 'none',
300
- count: 5,
301
- },
302
- negative: false,
303
- });
304
- });
305
-
306
- it('emits event when facet negative icon is clicked', async () => {
307
- const facetClickSpy = sinon.spy();
308
- const bucket = {
309
- key: 'foo',
310
- state: 'none' as FacetState,
311
- count: 5,
312
- };
313
-
314
- const el = await fixture<FacetRow>(
315
- html`<facet-row
316
- .facetType=${'subject'}
317
- .bucket=${bucket}
318
- @facetClick=${facetClickSpy}
319
- ></facet-row>`,
320
- );
321
-
322
- const negativeFacetIcon = el.shadowRoot?.querySelector(
323
- '.hide-facet-icon',
324
- ) as HTMLLabelElement;
325
- expect(negativeFacetIcon).to.exist;
326
- negativeFacetIcon.click();
327
-
328
- expect(facetClickSpy.callCount).to.equal(1);
329
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
330
- facetType: 'subject',
331
- bucket: {
332
- key: 'foo',
333
- state: 'hidden',
334
- count: 5,
335
- },
336
- negative: true,
337
- });
338
- });
339
-
340
- it('emits event when facet negative icon is unchecked', async () => {
341
- const facetClickSpy = sinon.spy();
342
- const bucket = {
343
- key: 'foo',
344
- state: 'hidden' as FacetState,
345
- count: 5,
346
- };
347
-
348
- const el = await fixture<FacetRow>(
349
- html`<facet-row
350
- .facetType=${'subject'}
351
- .bucket=${bucket}
352
- @facetClick=${facetClickSpy}
353
- ></facet-row>`,
354
- );
355
-
356
- const negativeFacetIcon = el.shadowRoot?.querySelector(
357
- '.hide-facet-icon',
358
- ) as HTMLLabelElement;
359
- expect(negativeFacetIcon).to.exist;
360
- negativeFacetIcon.click();
361
-
362
- expect(facetClickSpy.callCount).to.equal(1);
363
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
364
- facetType: 'subject',
365
- bucket: {
366
- key: 'foo',
367
- state: 'none',
368
- count: 5,
369
- },
370
- negative: true,
371
- });
372
- });
373
-
374
- it('selects/deselects facet when label is clicked', async () => {
375
- const facetClickSpy = sinon.spy();
376
- const bucket = {
377
- key: 'foo',
378
- state: 'none' as FacetState,
379
- count: 5,
380
- };
381
-
382
- const el = await fixture<FacetRow>(
383
- html`<facet-row
384
- .facetType=${'subject'}
385
- .bucket=${bucket}
386
- @facetClick=${facetClickSpy}
387
- ></facet-row>`,
388
- );
389
-
390
- const facetLabel = el.shadowRoot?.querySelector(
391
- '.facet-info-display',
392
- ) as HTMLLabelElement;
393
- expect(facetLabel).to.exist;
394
-
395
- // Select facet by clicking label
396
- facetLabel.click();
397
- expect(facetClickSpy.callCount).to.equal(1);
398
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
399
- facetType: 'subject',
400
- bucket: {
401
- key: 'foo',
402
- state: 'selected',
403
- count: 5,
404
- },
405
- negative: false,
406
- });
407
-
408
- // Deselect facet by clicking label
409
- facetLabel.click();
410
- expect(facetClickSpy.callCount).to.equal(2);
411
- expect(facetClickSpy.lastCall.args[0]?.detail).to.deep.equal({
412
- facetType: 'subject',
413
- bucket: {
414
- key: 'foo',
415
- state: 'none',
416
- count: 5,
417
- },
418
- negative: false,
419
- });
420
- });
421
- });
@@ -1,139 +0,0 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import type { FacetsTemplate } from '../../src/collection-facets/facets-template';
5
- import '../../src/collection-facets/facets-template';
6
- import type { FacetRow } from '../../src/collection-facets/facet-row';
7
- import type { FacetGroup } from '../../src/models';
8
-
9
- const facetGroup: FacetGroup = {
10
- title: 'Media Type',
11
- key: 'mediatype',
12
- buckets: [
13
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
14
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
15
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
16
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
17
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
18
- ],
19
- };
20
-
21
- describe('Render facets', () => {
22
- it('should render more facets template', async () => {
23
- const el = await fixture<FacetsTemplate>(
24
- html`<facets-template .facetGroup=${facetGroup}></facets-template>`,
25
- );
26
- await el.updateComplete;
27
-
28
- expect(el.shadowRoot?.querySelector('facet-row')).to.exist;
29
- });
30
-
31
- it('facets template renders facet rows', async () => {
32
- const el = await fixture<FacetsTemplate>(
33
- html`<facets-template .facetGroup=${facetGroup}></facets-template>`,
34
- );
35
-
36
- expect(el.shadowRoot?.querySelector('.facet-rows')).to.exist;
37
- });
38
-
39
- it('applies correct bucket values to facet row', async () => {
40
- const el = await fixture<FacetsTemplate>(
41
- html`<facets-template .facetGroup=${facetGroup}></facets-template>`,
42
- );
43
-
44
- const facetRows = el.shadowRoot?.querySelectorAll('facet-row');
45
- expect(facetRows?.length).to.equal(facetGroup.buckets.length);
46
-
47
- facetRows?.forEach((elmt, i) => {
48
- const facetRow = elmt as FacetRow;
49
- expect(facetRow).to.exist;
50
- expect(facetRow.bucket).to.equal(facetGroup.buckets[i]);
51
- expect(facetRow.facetType).to.equal(facetGroup.key);
52
- });
53
- });
54
-
55
- it('emits facet click event when a facet is selected/deselected', async () => {
56
- const facetClickSpy = sinon.spy();
57
- const el = await fixture<FacetsTemplate>(
58
- html`<facets-template
59
- .facetGroup=${facetGroup}
60
- @facetClick=${facetClickSpy}
61
- ></facets-template>`,
62
- );
63
-
64
- const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;
65
- expect(facetRow).to.exist;
66
-
67
- const facetSelectCheck = facetRow.shadowRoot?.querySelector(
68
- '.select-facet-checkbox',
69
- ) as HTMLInputElement;
70
- expect(facetSelectCheck).to.exist;
71
-
72
- facetSelectCheck.click();
73
- expect(facetClickSpy.callCount).to.equal(1);
74
- expect(facetRow.bucket?.state).to.equal('selected');
75
-
76
- facetSelectCheck.click();
77
- expect(facetClickSpy.callCount).to.equal(2);
78
- expect(facetRow.bucket?.state).to.equal('none');
79
- });
80
-
81
- it('emits facet click event when a facet is negated/un-negated', async () => {
82
- const facetClickSpy = sinon.spy();
83
- const el = await fixture<FacetsTemplate>(
84
- html`<facets-template
85
- .facetGroup=${facetGroup}
86
- @facetClick=${facetClickSpy}
87
- ></facets-template>`,
88
- );
89
-
90
- const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;
91
- expect(facetRow).to.exist;
92
-
93
- const facetNegateCheck = facetRow.shadowRoot?.querySelector(
94
- '.hide-facet-checkbox',
95
- ) as HTMLInputElement;
96
- expect(facetNegateCheck).to.exist;
97
-
98
- facetNegateCheck.click();
99
- expect(facetClickSpy.callCount).to.equal(1);
100
- expect(facetRow.bucket?.state).to.equal('hidden');
101
-
102
- facetNegateCheck.click();
103
- expect(facetClickSpy.callCount).to.equal(2);
104
- expect(facetRow.bucket?.state).to.equal('none');
105
- });
106
-
107
- it('emits facet click event when a pre-selected facet is deselected', async () => {
108
- const facetClickSpy = sinon.spy();
109
- const facetGroupWithSelection = { ...facetGroup };
110
- facetGroupWithSelection.buckets = [
111
- { ...facetGroup.buckets[0], state: 'selected' },
112
- ...facetGroup.buckets.slice(1),
113
- ];
114
-
115
- const el = await fixture<FacetsTemplate>(
116
- html`<facets-template
117
- .facetGroup=${facetGroupWithSelection}
118
- @facetClick=${facetClickSpy}
119
- ></facets-template>`,
120
- );
121
-
122
- const facetRow = el.shadowRoot?.querySelector('facet-row') as FacetRow;
123
- expect(facetRow).to.exist;
124
-
125
- const facetSelectCheck = facetRow.shadowRoot?.querySelector(
126
- '.select-facet-checkbox',
127
- ) as HTMLInputElement;
128
- expect(facetSelectCheck).to.exist;
129
- expect(facetSelectCheck.checked).to.be.true;
130
-
131
- facetSelectCheck.click();
132
- expect(facetClickSpy.callCount).to.equal(1);
133
- expect(facetRow.bucket?.state).to.equal('none');
134
-
135
- facetSelectCheck.click();
136
- expect(facetClickSpy.callCount).to.equal(2);
137
- expect(facetRow.bucket?.state).to.equal('selected');
138
- });
139
- });