@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,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
- });