@internetarchive/collection-browser 3.3.2 → 3.3.3

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 (532) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +27 -27
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/.prettierignore +1 -1
  8. package/LICENSE +661 -661
  9. package/README.md +83 -83
  10. package/dist/index.d.ts +16 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/src/app-root.d.ts +105 -0
  13. package/dist/src/app-root.js +1076 -0
  14. package/dist/src/app-root.js.map +1 -0
  15. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -0
  16. package/dist/src/assets/img/icons/arrow-left.js +10 -0
  17. package/dist/src/assets/img/icons/arrow-left.js.map +1 -0
  18. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -0
  19. package/dist/src/assets/img/icons/arrow-right.js +10 -0
  20. package/dist/src/assets/img/icons/arrow-right.js.map +1 -0
  21. package/dist/src/assets/img/icons/chevron.d.ts +2 -0
  22. package/dist/src/assets/img/icons/chevron.js +4 -0
  23. package/dist/src/assets/img/icons/chevron.js.map +1 -0
  24. package/dist/src/assets/img/icons/close-circle-dark.d.ts +2 -0
  25. package/dist/src/assets/img/icons/close-circle-dark.js +5 -0
  26. package/dist/src/assets/img/icons/close-circle-dark.js.map +1 -0
  27. package/dist/src/assets/img/icons/contract.d.ts +2 -0
  28. package/dist/src/assets/img/icons/contract.js +9 -0
  29. package/dist/src/assets/img/icons/contract.js.map +1 -0
  30. package/dist/src/assets/img/icons/empty-query.d.ts +2 -0
  31. package/dist/src/assets/img/icons/empty-query.js +5 -0
  32. package/dist/src/assets/img/icons/empty-query.js.map +1 -0
  33. package/dist/src/assets/img/icons/expand.d.ts +2 -0
  34. package/dist/src/assets/img/icons/expand.js +9 -0
  35. package/dist/src/assets/img/icons/expand.js.map +1 -0
  36. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
  37. package/dist/src/assets/img/icons/eye-closed.js +5 -0
  38. package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
  39. package/dist/src/assets/img/icons/eye.d.ts +2 -0
  40. package/dist/src/assets/img/icons/eye.js +5 -0
  41. package/dist/src/assets/img/icons/eye.js.map +1 -0
  42. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -0
  43. package/dist/src/assets/img/icons/favorite-filled.js +10 -0
  44. package/dist/src/assets/img/icons/favorite-filled.js.map +1 -0
  45. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -0
  46. package/dist/src/assets/img/icons/favorite-unfilled.js +9 -0
  47. package/dist/src/assets/img/icons/favorite-unfilled.js.map +1 -0
  48. package/dist/src/assets/img/icons/filter.d.ts +2 -0
  49. package/dist/src/assets/img/icons/filter.js +10 -0
  50. package/dist/src/assets/img/icons/filter.js.map +1 -0
  51. package/dist/src/assets/img/icons/login-required.d.ts +1 -0
  52. package/dist/src/assets/img/icons/login-required.js +18 -0
  53. package/dist/src/assets/img/icons/login-required.js.map +1 -0
  54. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -0
  55. package/dist/src/assets/img/icons/mediatype/account.js +14 -0
  56. package/dist/src/assets/img/icons/mediatype/account.js.map +1 -0
  57. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -0
  58. package/dist/src/assets/img/icons/mediatype/audio.js +14 -0
  59. package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -0
  60. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -0
  61. package/dist/src/assets/img/icons/mediatype/collection.js +12 -0
  62. package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -0
  63. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -0
  64. package/dist/src/assets/img/icons/mediatype/data.js +15 -0
  65. package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
  66. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -0
  67. package/dist/src/assets/img/icons/mediatype/etree.js +14 -0
  68. package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -0
  69. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -0
  70. package/dist/src/assets/img/icons/mediatype/film.js +14 -0
  71. package/dist/src/assets/img/icons/mediatype/film.js.map +1 -0
  72. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -0
  73. package/dist/src/assets/img/icons/mediatype/images.js +13 -0
  74. package/dist/src/assets/img/icons/mediatype/images.js.map +1 -0
  75. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -0
  76. package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
  77. package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
  78. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -0
  79. package/dist/src/assets/img/icons/mediatype/search.js +14 -0
  80. package/dist/src/assets/img/icons/mediatype/search.js.map +1 -0
  81. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -0
  82. package/dist/src/assets/img/icons/mediatype/software.js +13 -0
  83. package/dist/src/assets/img/icons/mediatype/software.js.map +1 -0
  84. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -0
  85. package/dist/src/assets/img/icons/mediatype/texts.js +13 -0
  86. package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -0
  87. package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +1 -0
  88. package/dist/src/assets/img/icons/mediatype/tv-commercial.js +12 -0
  89. package/dist/src/assets/img/icons/mediatype/tv-commercial.js.map +1 -0
  90. package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +1 -0
  91. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js +12 -0
  92. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js.map +1 -0
  93. package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +1 -0
  94. package/dist/src/assets/img/icons/mediatype/tv-quote.js +12 -0
  95. package/dist/src/assets/img/icons/mediatype/tv-quote.js.map +1 -0
  96. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -0
  97. package/dist/src/assets/img/icons/mediatype/tv.js +14 -0
  98. package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -0
  99. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -0
  100. package/dist/src/assets/img/icons/mediatype/video.js +14 -0
  101. package/dist/src/assets/img/icons/mediatype/video.js.map +1 -0
  102. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -0
  103. package/dist/src/assets/img/icons/mediatype/web.js +13 -0
  104. package/dist/src/assets/img/icons/mediatype/web.js.map +1 -0
  105. package/dist/src/assets/img/icons/null-result.d.ts +2 -0
  106. package/dist/src/assets/img/icons/null-result.js +5 -0
  107. package/dist/src/assets/img/icons/null-result.js.map +1 -0
  108. package/dist/src/assets/img/icons/quote.d.ts +1 -0
  109. package/dist/src/assets/img/icons/quote.js +7 -0
  110. package/dist/src/assets/img/icons/quote.js.map +1 -0
  111. package/dist/src/assets/img/icons/restricted.d.ts +1 -0
  112. package/dist/src/assets/img/icons/restricted.js +13 -0
  113. package/dist/src/assets/img/icons/restricted.js.map +1 -0
  114. package/dist/src/assets/img/icons/reviews.d.ts +1 -0
  115. package/dist/src/assets/img/icons/reviews.js +11 -0
  116. package/dist/src/assets/img/icons/reviews.js.map +1 -0
  117. package/dist/src/assets/img/icons/upload.d.ts +1 -0
  118. package/dist/src/assets/img/icons/upload.js +12 -0
  119. package/dist/src/assets/img/icons/upload.js.map +1 -0
  120. package/dist/src/assets/img/icons/views.d.ts +1 -0
  121. package/dist/src/assets/img/icons/views.js +11 -0
  122. package/dist/src/assets/img/icons/views.js.map +1 -0
  123. package/dist/src/circular-activity-indicator.d.ts +5 -0
  124. package/dist/src/circular-activity-indicator.js +66 -0
  125. package/dist/src/circular-activity-indicator.js.map +1 -0
  126. package/dist/src/collection-browser.d.ts +684 -0
  127. package/dist/src/collection-browser.js +2567 -0
  128. package/dist/src/collection-browser.js.map +1 -0
  129. package/dist/src/collection-facets/facet-row.d.ts +30 -0
  130. package/dist/src/collection-facets/facet-row.js +265 -0
  131. package/dist/src/collection-facets/facet-row.js.map +1 -0
  132. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -0
  133. package/dist/src/collection-facets/facet-tombstone-row.js +43 -0
  134. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -0
  135. package/dist/src/collection-facets/facets-template.d.ts +13 -0
  136. package/dist/src/collection-facets/facets-template.js +68 -0
  137. package/dist/src/collection-facets/facets-template.js.map +1 -0
  138. package/dist/src/collection-facets/models.d.ts +9 -0
  139. package/dist/src/collection-facets/models.js +10 -0
  140. package/dist/src/collection-facets/models.js.map +1 -0
  141. package/dist/src/collection-facets/more-facets-content.d.ts +109 -0
  142. package/dist/src/collection-facets/more-facets-content.js +547 -0
  143. package/dist/src/collection-facets/more-facets-content.js.map +1 -0
  144. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -0
  145. package/dist/src/collection-facets/more-facets-pagination.js +264 -0
  146. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -0
  147. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -0
  148. package/dist/src/collection-facets/smart-facets/dedupe.js +35 -0
  149. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -0
  150. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.d.ts +5 -0
  151. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js +24 -0
  152. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +1 -0
  153. package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +3 -0
  154. package/dist/src/collection-facets/smart-facets/heuristics/index.js +4 -0
  155. package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +1 -0
  156. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.d.ts +4 -0
  157. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +14 -0
  158. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +1 -0
  159. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +6 -0
  160. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js +68 -0
  161. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +1 -0
  162. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +9 -0
  163. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js +69 -0
  164. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +1 -0
  165. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.d.ts +21 -0
  166. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +76 -0
  167. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -0
  168. package/dist/src/collection-facets/smart-facets/models.d.ts +30 -0
  169. package/dist/src/collection-facets/smart-facets/models.js +2 -0
  170. package/dist/src/collection-facets/smart-facets/models.js.map +1 -0
  171. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +54 -0
  172. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +383 -0
  173. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -0
  174. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -0
  175. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +133 -0
  176. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -0
  177. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +28 -0
  178. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +172 -0
  179. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -0
  180. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -0
  181. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +13 -0
  182. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js.map +1 -0
  183. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -0
  184. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +18 -0
  185. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -0
  186. package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
  187. package/dist/src/collection-facets/toggle-switch.js +174 -0
  188. package/dist/src/collection-facets/toggle-switch.js.map +1 -0
  189. package/dist/src/collection-facets.d.ts +113 -0
  190. package/dist/src/collection-facets.js +872 -0
  191. package/dist/src/collection-facets.js.map +1 -0
  192. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +261 -0
  193. package/dist/src/data-source/collection-browser-data-source-interface.js +2 -0
  194. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -0
  195. package/dist/src/data-source/collection-browser-data-source.d.ts +400 -0
  196. package/dist/src/data-source/collection-browser-data-source.js +1103 -0
  197. package/dist/src/data-source/collection-browser-data-source.js.map +1 -0
  198. package/dist/src/data-source/collection-browser-query-state.d.ts +49 -0
  199. package/dist/src/data-source/collection-browser-query-state.js +2 -0
  200. package/dist/src/data-source/collection-browser-query-state.js.map +1 -0
  201. package/dist/src/data-source/models.d.ts +32 -0
  202. package/dist/src/data-source/models.js +9 -0
  203. package/dist/src/data-source/models.js.map +1 -0
  204. package/dist/src/empty-placeholder.d.ts +23 -0
  205. package/dist/src/empty-placeholder.js +165 -0
  206. package/dist/src/empty-placeholder.js.map +1 -0
  207. package/dist/src/expanded-date-picker.d.ts +50 -0
  208. package/dist/src/expanded-date-picker.js +182 -0
  209. package/dist/src/expanded-date-picker.js.map +1 -0
  210. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
  211. package/dist/src/language-code-handler/language-code-handler.js +27 -0
  212. package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
  213. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
  214. package/dist/src/language-code-handler/language-code-mapping.js +563 -0
  215. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
  216. package/dist/src/manage/manage-bar.d.ts +58 -0
  217. package/dist/src/manage/manage-bar.js +237 -0
  218. package/dist/src/manage/manage-bar.js.map +1 -0
  219. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  220. package/dist/src/manage/remove-items-modal-content.js +104 -0
  221. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  222. package/dist/src/mediatype/mediatype-config.d.ts +11 -0
  223. package/dist/src/mediatype/mediatype-config.js +116 -0
  224. package/dist/src/mediatype/mediatype-config.js.map +1 -0
  225. package/dist/src/models.d.ts +302 -0
  226. package/dist/src/models.js +511 -0
  227. package/dist/src/models.js.map +1 -0
  228. package/dist/src/restoration-state-handler.d.ts +75 -0
  229. package/dist/src/restoration-state-handler.js +403 -0
  230. package/dist/src/restoration-state-handler.js.map +1 -0
  231. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -0
  232. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +60 -0
  233. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -0
  234. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -0
  235. package/dist/src/sort-filter-bar/alpha-bar.js +241 -0
  236. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -0
  237. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
  238. package/dist/src/sort-filter-bar/img/compact.js +5 -0
  239. package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
  240. package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
  241. package/dist/src/sort-filter-bar/img/list.js +5 -0
  242. package/dist/src/sort-filter-bar/img/list.js.map +1 -0
  243. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
  244. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
  245. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
  246. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
  247. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
  248. package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
  249. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
  250. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
  251. package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
  252. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
  253. package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
  254. package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
  255. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
  256. package/dist/src/sort-filter-bar/img/tile.js +5 -0
  257. package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
  258. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +278 -0
  259. package/dist/src/sort-filter-bar/sort-filter-bar.js +1161 -0
  260. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -0
  261. package/dist/src/styles/ia-button.d.ts +2 -0
  262. package/dist/src/styles/ia-button.js +134 -0
  263. package/dist/src/styles/ia-button.js.map +1 -0
  264. package/dist/src/styles/item-image-styles.d.ts +8 -0
  265. package/dist/src/styles/item-image-styles.js +123 -0
  266. package/dist/src/styles/item-image-styles.js.map +1 -0
  267. package/dist/src/styles/sr-only.d.ts +1 -0
  268. package/dist/src/styles/sr-only.js +18 -0
  269. package/dist/src/styles/sr-only.js.map +1 -0
  270. package/dist/src/tiles/base-tile-component.d.ts +27 -0
  271. package/dist/src/tiles/base-tile-component.js +82 -0
  272. package/dist/src/tiles/base-tile-component.js.map +1 -0
  273. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -0
  274. package/dist/src/tiles/collection-browser-loading-tile.js +29 -0
  275. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
  276. package/dist/src/tiles/grid/account-tile.d.ts +18 -0
  277. package/dist/src/tiles/grid/account-tile.js +111 -0
  278. package/dist/src/tiles/grid/account-tile.js.map +1 -0
  279. package/dist/src/tiles/grid/collection-tile.d.ts +15 -0
  280. package/dist/src/tiles/grid/collection-tile.js +160 -0
  281. package/dist/src/tiles/grid/collection-tile.js.map +1 -0
  282. package/dist/src/tiles/grid/item-tile.d.ts +41 -0
  283. package/dist/src/tiles/grid/item-tile.js +321 -0
  284. package/dist/src/tiles/grid/item-tile.js.map +1 -0
  285. package/dist/src/tiles/grid/search-tile.d.ts +10 -0
  286. package/dist/src/tiles/grid/search-tile.js +95 -0
  287. package/dist/src/tiles/grid/search-tile.js.map +1 -0
  288. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -0
  289. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +128 -0
  290. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -0
  291. package/dist/src/tiles/grid/tile-stats.d.ts +58 -0
  292. package/dist/src/tiles/grid/tile-stats.js +204 -0
  293. package/dist/src/tiles/grid/tile-stats.js.map +1 -0
  294. package/dist/src/tiles/hover/hover-pane-controller.d.ts +228 -0
  295. package/dist/src/tiles/hover/hover-pane-controller.js +446 -0
  296. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -0
  297. package/dist/src/tiles/hover/tile-hover-pane.d.ts +20 -0
  298. package/dist/src/tiles/hover/tile-hover-pane.js +185 -0
  299. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -0
  300. package/dist/src/tiles/image-block.d.ts +19 -0
  301. package/dist/src/tiles/image-block.js +175 -0
  302. package/dist/src/tiles/image-block.js.map +1 -0
  303. package/dist/src/tiles/item-image.d.ts +40 -0
  304. package/dist/src/tiles/item-image.js +191 -0
  305. package/dist/src/tiles/item-image.js.map +1 -0
  306. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -0
  307. package/dist/src/tiles/list/tile-list-compact-header.js +85 -0
  308. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
  309. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -0
  310. package/dist/src/tiles/list/tile-list-compact.js +223 -0
  311. package/dist/src/tiles/list/tile-list-compact.js.map +1 -0
  312. package/dist/src/tiles/list/tile-list.d.ts +54 -0
  313. package/dist/src/tiles/list/tile-list.js +621 -0
  314. package/dist/src/tiles/list/tile-list.js.map +1 -0
  315. package/dist/src/tiles/models.d.ts +1 -0
  316. package/dist/src/tiles/models.js +2 -0
  317. package/dist/src/tiles/models.js.map +1 -0
  318. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -0
  319. package/dist/src/tiles/overlay/icon-overlay.js +55 -0
  320. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -0
  321. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -0
  322. package/dist/src/tiles/overlay/text-overlay.js +74 -0
  323. package/dist/src/tiles/overlay/text-overlay.js.map +1 -0
  324. package/dist/src/tiles/review-block.d.ts +12 -0
  325. package/dist/src/tiles/review-block.js +134 -0
  326. package/dist/src/tiles/review-block.js.map +1 -0
  327. package/dist/src/tiles/text-snippet-block.d.ts +27 -0
  328. package/dist/src/tiles/text-snippet-block.js +132 -0
  329. package/dist/src/tiles/text-snippet-block.js.map +1 -0
  330. package/dist/src/tiles/tile-dispatcher.d.ts +71 -0
  331. package/dist/src/tiles/tile-dispatcher.js +472 -0
  332. package/dist/src/tiles/tile-dispatcher.js.map +1 -0
  333. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -0
  334. package/dist/src/tiles/tile-display-value-provider.js +95 -0
  335. package/dist/src/tiles/tile-display-value-provider.js.map +1 -0
  336. package/dist/src/tiles/tile-mediatype-icon.d.ts +27 -0
  337. package/dist/src/tiles/tile-mediatype-icon.js +130 -0
  338. package/dist/src/tiles/tile-mediatype-icon.js.map +1 -0
  339. package/dist/src/utils/analytics-events.d.ts +28 -0
  340. package/dist/src/utils/analytics-events.js +31 -0
  341. package/dist/src/utils/analytics-events.js.map +1 -0
  342. package/dist/src/utils/array-equals.d.ts +4 -0
  343. package/dist/src/utils/array-equals.js +11 -0
  344. package/dist/src/utils/array-equals.js.map +1 -0
  345. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -0
  346. package/dist/src/utils/collapse-repeated-quotes.js +14 -0
  347. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -0
  348. package/dist/src/utils/facet-utils.d.ts +83 -0
  349. package/dist/src/utils/facet-utils.js +152 -0
  350. package/dist/src/utils/facet-utils.js.map +1 -0
  351. package/dist/src/utils/format-count.d.ts +7 -0
  352. package/dist/src/utils/format-count.js +76 -0
  353. package/dist/src/utils/format-count.js.map +1 -0
  354. package/dist/src/utils/format-date.d.ts +16 -0
  355. package/dist/src/utils/format-date.js +33 -0
  356. package/dist/src/utils/format-date.js.map +1 -0
  357. package/dist/src/utils/format-unit-size.d.ts +2 -0
  358. package/dist/src/utils/format-unit-size.js +34 -0
  359. package/dist/src/utils/format-unit-size.js.map +1 -0
  360. package/dist/src/utils/local-date-from-utc.d.ts +9 -0
  361. package/dist/src/utils/local-date-from-utc.js +16 -0
  362. package/dist/src/utils/local-date-from-utc.js.map +1 -0
  363. package/dist/src/utils/log.d.ts +7 -0
  364. package/dist/src/utils/log.js +14 -0
  365. package/dist/src/utils/log.js.map +1 -0
  366. package/dist/src/utils/resolve-mediatype.d.ts +8 -0
  367. package/dist/src/utils/resolve-mediatype.js +24 -0
  368. package/dist/src/utils/resolve-mediatype.js.map +1 -0
  369. package/dist/src/utils/sha1.d.ts +2 -0
  370. package/dist/src/utils/sha1.js +9 -0
  371. package/dist/src/utils/sha1.js.map +1 -0
  372. package/dist/test/collection-browser.test.d.ts +1 -0
  373. package/dist/test/collection-browser.test.js +1711 -0
  374. package/dist/test/collection-browser.test.js.map +1 -0
  375. package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
  376. package/dist/test/collection-facets/facet-row.test.js +274 -0
  377. package/dist/test/collection-facets/facet-row.test.js.map +1 -0
  378. package/dist/test/collection-facets/facets-template.test.d.ts +1 -0
  379. package/dist/test/collection-facets/facets-template.test.js +101 -0
  380. package/dist/test/collection-facets/facets-template.test.js.map +1 -0
  381. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -0
  382. package/dist/test/collection-facets/more-facets-content.test.js +169 -0
  383. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -0
  384. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -0
  385. package/dist/test/collection-facets/more-facets-pagination.test.js +132 -0
  386. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -0
  387. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
  388. package/dist/test/collection-facets/toggle-switch.test.js +96 -0
  389. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
  390. package/dist/test/collection-facets.test.d.ts +2 -0
  391. package/dist/test/collection-facets.test.js +745 -0
  392. package/dist/test/collection-facets.test.js.map +1 -0
  393. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -0
  394. package/dist/test/data-source/collection-browser-data-source.test.js +102 -0
  395. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -0
  396. package/dist/test/empty-placeholder.test.d.ts +1 -0
  397. package/dist/test/empty-placeholder.test.js +63 -0
  398. package/dist/test/empty-placeholder.test.js.map +1 -0
  399. package/dist/test/expanded-date-picker.test.d.ts +1 -0
  400. package/dist/test/expanded-date-picker.test.js +130 -0
  401. package/dist/test/expanded-date-picker.test.js.map +1 -0
  402. package/dist/test/icon-overlay.test.d.ts +1 -0
  403. package/dist/test/icon-overlay.test.js +30 -0
  404. package/dist/test/icon-overlay.test.js.map +1 -0
  405. package/dist/test/image-block.test.d.ts +1 -0
  406. package/dist/test/image-block.test.js +218 -0
  407. package/dist/test/image-block.test.js.map +1 -0
  408. package/dist/test/item-image.test.d.ts +1 -0
  409. package/dist/test/item-image.test.js +196 -0
  410. package/dist/test/item-image.test.js.map +1 -0
  411. package/dist/test/manage/manage-bar.test.d.ts +2 -0
  412. package/dist/test/manage/manage-bar.test.js +106 -0
  413. package/dist/test/manage/manage-bar.test.js.map +1 -0
  414. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  415. package/dist/test/manage/remove-items-modal-content.test.js +65 -0
  416. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  417. package/dist/test/mediatype-config.test.d.ts +1 -0
  418. package/dist/test/mediatype-config.test.js +11 -0
  419. package/dist/test/mediatype-config.test.js.map +1 -0
  420. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -0
  421. package/dist/test/mocks/mock-analytics-handler.js +16 -0
  422. package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
  423. package/dist/test/mocks/mock-search-responses.d.ts +31 -0
  424. package/dist/test/mocks/mock-search-responses.js +1241 -0
  425. package/dist/test/mocks/mock-search-responses.js.map +1 -0
  426. package/dist/test/mocks/mock-search-service.d.ts +16 -0
  427. package/dist/test/mocks/mock-search-service.js +65 -0
  428. package/dist/test/mocks/mock-search-service.js.map +1 -0
  429. package/dist/test/restoration-state-handler.test.d.ts +1 -0
  430. package/dist/test/restoration-state-handler.test.js +375 -0
  431. package/dist/test/restoration-state-handler.test.js.map +1 -0
  432. package/dist/test/review-block.test.d.ts +1 -0
  433. package/dist/test/review-block.test.js +48 -0
  434. package/dist/test/review-block.test.js.map +1 -0
  435. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -0
  436. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +13 -0
  437. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -0
  438. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -0
  439. package/dist/test/sort-filter-bar/alpha-bar.test.js +74 -0
  440. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -0
  441. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -0
  442. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +609 -0
  443. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -0
  444. package/dist/test/text-overlay.test.d.ts +1 -0
  445. package/dist/test/text-overlay.test.js +42 -0
  446. package/dist/test/text-overlay.test.js.map +1 -0
  447. package/dist/test/text-snippet-block.test.d.ts +1 -0
  448. package/dist/test/text-snippet-block.test.js +63 -0
  449. package/dist/test/text-snippet-block.test.js.map +1 -0
  450. package/dist/test/tile-stats.test.d.ts +1 -0
  451. package/dist/test/tile-stats.test.js +128 -0
  452. package/dist/test/tile-stats.test.js.map +1 -0
  453. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -0
  454. package/dist/test/tiles/grid/account-tile.test.js +96 -0
  455. package/dist/test/tiles/grid/account-tile.test.js.map +1 -0
  456. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -0
  457. package/dist/test/tiles/grid/collection-tile.test.js +96 -0
  458. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -0
  459. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -0
  460. package/dist/test/tiles/grid/item-tile.test.js +427 -0
  461. package/dist/test/tiles/grid/item-tile.test.js.map +1 -0
  462. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -0
  463. package/dist/test/tiles/grid/search-tile.test.js +66 -0
  464. package/dist/test/tiles/grid/search-tile.test.js.map +1 -0
  465. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -0
  466. package/dist/test/tiles/hover/hover-pane-controller.test.js +329 -0
  467. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -0
  468. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -0
  469. package/dist/test/tiles/hover/tile-hover-pane.test.js +57 -0
  470. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -0
  471. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -0
  472. package/dist/test/tiles/list/tile-list-compact.test.js +251 -0
  473. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -0
  474. package/dist/test/tiles/list/tile-list.test.d.ts +1 -0
  475. package/dist/test/tiles/list/tile-list.test.js +469 -0
  476. package/dist/test/tiles/list/tile-list.test.js.map +1 -0
  477. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -0
  478. package/dist/test/tiles/tile-dispatcher.test.js +231 -0
  479. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -0
  480. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -0
  481. package/dist/test/tiles/tile-display-value-provider.test.js +142 -0
  482. package/dist/test/tiles/tile-display-value-provider.test.js.map +1 -0
  483. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +1 -0
  484. package/dist/test/tiles/tile-mediatype-icon.test.js +145 -0
  485. package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -0
  486. package/dist/test/utils/array-equals.test.d.ts +1 -0
  487. package/dist/test/utils/array-equals.test.js +27 -0
  488. package/dist/test/utils/array-equals.test.js.map +1 -0
  489. package/dist/test/utils/format-count.test.d.ts +1 -0
  490. package/dist/test/utils/format-count.test.js +24 -0
  491. package/dist/test/utils/format-count.test.js.map +1 -0
  492. package/dist/test/utils/format-date.test.d.ts +1 -0
  493. package/dist/test/utils/format-date.test.js +61 -0
  494. package/dist/test/utils/format-date.test.js.map +1 -0
  495. package/dist/test/utils/format-unit-size.test.d.ts +1 -0
  496. package/dist/test/utils/format-unit-size.test.js +18 -0
  497. package/dist/test/utils/format-unit-size.test.js.map +1 -0
  498. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -0
  499. package/dist/test/utils/local-date-from-utc.test.js +27 -0
  500. package/dist/test/utils/local-date-from-utc.test.js.map +1 -0
  501. package/eslint.config.mjs +53 -53
  502. package/index.html +24 -24
  503. package/local.archive.org.cert +86 -86
  504. package/local.archive.org.key +27 -27
  505. package/package.json +118 -117
  506. package/renovate.json +6 -6
  507. package/src/collection-browser.ts +2829 -2829
  508. package/src/collection-facets/more-facets-content.ts +639 -639
  509. package/src/collection-facets.ts +994 -995
  510. package/src/data-source/collection-browser-data-source.ts +1401 -1401
  511. package/src/data-source/collection-browser-query-state.ts +65 -65
  512. package/src/data-source/models.ts +43 -43
  513. package/src/tiles/base-tile-component.ts +65 -65
  514. package/src/tiles/grid/account-tile.ts +113 -113
  515. package/src/tiles/grid/collection-tile.ts +163 -163
  516. package/src/tiles/grid/item-tile.ts +340 -340
  517. package/src/tiles/hover/hover-pane-controller.ts +613 -517
  518. package/src/tiles/hover/tile-hover-pane.ts +184 -180
  519. package/src/tiles/list/tile-list-compact.ts +239 -239
  520. package/src/tiles/list/tile-list.ts +700 -700
  521. package/src/tiles/tile-dispatcher.ts +517 -490
  522. package/src/utils/format-date.ts +62 -62
  523. package/test/collection-browser.test.ts +2403 -2403
  524. package/test/tiles/grid/item-tile.test.ts +520 -520
  525. package/test/tiles/hover/hover-pane-controller.test.ts +418 -353
  526. package/test/tiles/list/tile-list-compact.test.ts +282 -282
  527. package/test/tiles/list/tile-list.test.ts +552 -552
  528. package/test/tiles/tile-dispatcher.test.ts +283 -187
  529. package/test/utils/format-date.test.ts +89 -89
  530. package/tsconfig.json +20 -20
  531. package/web-dev-server.config.mjs +30 -30
  532. package/web-test-runner.config.mjs +41 -41
@@ -0,0 +1,745 @@
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import sinon from 'sinon';
3
+ import { html } from 'lit';
4
+ import { Aggregation } from '@internetarchive/search-service';
5
+ import '@internetarchive/modal-manager';
6
+ import '../src/collection-facets';
7
+ import {
8
+ // SelectedFacets, Used in lending tests (disabled)
9
+ getDefaultSelectedFacets, } from '../src/models';
10
+ import { MockAnalyticsHandler } from './mocks/mock-analytics-handler';
11
+ // import type { FacetsTemplate } from '../src/collection-facets/facets-template'; Used in lending tests (disabled)
12
+ describe('Collection Facets', () => {
13
+ it('has loader', async () => {
14
+ var _a, _b, _c, _d;
15
+ const el = await fixture(html `<collection-facets ?facetsLoading=${true}></collection-facets>`);
16
+ expect((_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#container')) === null || _b === void 0 ? void 0 : _b.classList.contains('loading')).to.be.true;
17
+ el.facetsLoading = false;
18
+ await el.updateComplete;
19
+ expect((_d = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#container')) === null || _d === void 0 ? void 0 : _d.classList.contains('loading')).to.be.false;
20
+ });
21
+ it('renders a date picker loading placeholder when date picker enabled', async () => {
22
+ var _a;
23
+ const el = await fixture(html `<collection-facets></collection-facets>`);
24
+ el.histogramAggregationLoading = true;
25
+ el.showHistogramDatePicker = true;
26
+ el.histogramAggregation = new Aggregation({
27
+ buckets: [1, 2, 3],
28
+ first_bucket_key: 0,
29
+ last_bucket_key: 2,
30
+ });
31
+ await el.updateComplete;
32
+ const histogramLoader = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.histogram-loading-indicator');
33
+ expect(histogramLoader).to.exist;
34
+ });
35
+ it('does not render a date picker loading placeholder when date picker disabled', async () => {
36
+ var _a;
37
+ const el = await fixture(html `<collection-facets></collection-facets>`);
38
+ el.histogramAggregationLoading = true;
39
+ el.showHistogramDatePicker = false;
40
+ el.histogramAggregation = new Aggregation({
41
+ buckets: [1, 2, 3],
42
+ first_bucket_key: 0,
43
+ last_bucket_key: 2,
44
+ });
45
+ await el.updateComplete;
46
+ const histogramLoader = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.histogram-loading-indicator');
47
+ expect(histogramLoader).to.be.null;
48
+ });
49
+ it('renders the date picker when enabled with data present', async () => {
50
+ var _a;
51
+ const el = await fixture(html `<collection-facets></collection-facets>`);
52
+ el.histogramAggregationLoading = false;
53
+ el.showHistogramDatePicker = true;
54
+ el.histogramAggregation = new Aggregation({
55
+ buckets: [1, 2, 3],
56
+ first_bucket_key: 0,
57
+ last_bucket_key: 2,
58
+ });
59
+ await el.updateComplete;
60
+ const histogram = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('histogram-date-range');
61
+ expect(histogram).to.exist;
62
+ });
63
+ it('does not render the date picker when disabled', async () => {
64
+ var _a;
65
+ const el = await fixture(html `<collection-facets></collection-facets>`);
66
+ el.histogramAggregationLoading = false;
67
+ el.showHistogramDatePicker = false;
68
+ el.histogramAggregation = new Aggregation({
69
+ buckets: [1, 2, 3],
70
+ first_bucket_key: 0,
71
+ last_bucket_key: 2,
72
+ });
73
+ await el.updateComplete;
74
+ const histogram = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('histogram-date-range');
75
+ expect(histogram).to.be.null;
76
+ });
77
+ it('renders button to expand the date picker when allowed', async () => {
78
+ var _a;
79
+ const el = await fixture(html `<collection-facets></collection-facets>`);
80
+ el.histogramAggregationLoading = false;
81
+ el.showHistogramDatePicker = true;
82
+ el.allowExpandingDatePicker = true;
83
+ el.histogramAggregation = new Aggregation({
84
+ buckets: [1, 2, 3],
85
+ first_bucket_key: 0,
86
+ last_bucket_key: 2,
87
+ });
88
+ await el.updateComplete;
89
+ const expandBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.expand-date-picker-btn');
90
+ expect(expandBtn).to.exist;
91
+ });
92
+ it('does not render button to expand the date picker when disallowed', async () => {
93
+ var _a;
94
+ const el = await fixture(html `<collection-facets></collection-facets>`);
95
+ el.histogramAggregationLoading = false;
96
+ el.showHistogramDatePicker = true;
97
+ el.allowExpandingDatePicker = false;
98
+ el.histogramAggregation = new Aggregation({
99
+ buckets: [1, 2, 3],
100
+ first_bucket_key: 0,
101
+ last_bucket_key: 2,
102
+ });
103
+ await el.updateComplete;
104
+ const expandBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.expand-date-picker-btn');
105
+ expect(expandBtn).to.be.null;
106
+ });
107
+ it('opens modal when date picker expand button clicked', async () => {
108
+ var _a, _b;
109
+ const modalManager = await fixture(html `<modal-manager></modal-manager>`);
110
+ const el = await fixture(html `<collection-facets
111
+ .modalManager=${modalManager}
112
+ ></collection-facets>`);
113
+ el.histogramAggregationLoading = false;
114
+ el.showHistogramDatePicker = true;
115
+ el.allowExpandingDatePicker = true;
116
+ el.histogramAggregation = new Aggregation({
117
+ buckets: [1, 2, 3],
118
+ first_bucket_key: 0,
119
+ last_bucket_key: 2,
120
+ });
121
+ await el.updateComplete;
122
+ const expandBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.expand-date-picker-btn');
123
+ expect(expandBtn).to.exist;
124
+ const showModalSpy = sinon.spy(el.modalManager, 'showModal');
125
+ // Click the expand button to open the modal
126
+ expandBtn === null || expandBtn === void 0 ? void 0 : expandBtn.click();
127
+ await el.updateComplete;
128
+ expect(showModalSpy.callCount).to.equal(1);
129
+ expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('expanded-date-picker')).to.be
130
+ .true;
131
+ });
132
+ it('renders aggregations as facets', async () => {
133
+ var _a, _b, _c, _d, _e, _f;
134
+ const el = await fixture(html `<collection-facets></collection-facets>`);
135
+ const aggs = {
136
+ subject: new Aggregation({
137
+ buckets: [
138
+ {
139
+ key: 'foo',
140
+ doc_count: 5,
141
+ },
142
+ ],
143
+ }),
144
+ };
145
+ el.aggregations = aggs;
146
+ await el.updateComplete;
147
+ const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
148
+ expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(1);
149
+ const titleFacetGroup = facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups[0];
150
+ const facetGroupHeader = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('h3');
151
+ // Every facet group header has an invisible " filters" suffix for screen-readers
152
+ expect((_c = (_b = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.querySelector('span.sr-only')) === null || _b === void 0 ? void 0 : _b.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('filters');
153
+ // Ignoring the screen-reader suffix, we should be left with only the readable, capitalized title
154
+ expect((_d = facetGroupHeader === null || facetGroupHeader === void 0 ? void 0 : facetGroupHeader.textContent) === null || _d === void 0 ? void 0 : _d.trim().replace(/\s*filters$/, '')).to.equal('Subject');
155
+ const titleFacetRow = (_f = (_e = titleFacetGroup === null || titleFacetGroup === void 0 ? void 0 : titleFacetGroup.querySelector('facets-template')) === null || _e === void 0 ? void 0 : _e.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector('facet-row');
156
+ await titleFacetRow.updateComplete;
157
+ });
158
+ it('renders multiple aggregation types', async () => {
159
+ var _a;
160
+ const el = await fixture(html `<collection-facets></collection-facets>`);
161
+ const aggs = {
162
+ subject: new Aggregation({
163
+ buckets: [
164
+ {
165
+ key: 'foo',
166
+ doc_count: 5,
167
+ },
168
+ ],
169
+ }),
170
+ mediatype: new Aggregation({
171
+ buckets: [
172
+ {
173
+ key: 'bar',
174
+ doc_count: 10,
175
+ },
176
+ ],
177
+ }),
178
+ };
179
+ el.aggregations = aggs;
180
+ await el.updateComplete;
181
+ const facetGroups = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group');
182
+ expect(facetGroups === null || facetGroups === void 0 ? void 0 : facetGroups.length).to.equal(2);
183
+ });
184
+ it('does not render suppressed collection facets', async () => {
185
+ var _a, _b, _c, _d;
186
+ const el = await fixture(html `<collection-facets></collection-facets>`);
187
+ const aggs = {
188
+ collection: new Aggregation({
189
+ buckets: [
190
+ {
191
+ key: 'deemphasize',
192
+ doc_count: 5,
193
+ },
194
+ {
195
+ key: 'community',
196
+ doc_count: 5,
197
+ },
198
+ {
199
+ key: 'foo',
200
+ doc_count: 5,
201
+ },
202
+ ],
203
+ }),
204
+ };
205
+ el.aggregations = aggs;
206
+ await el.updateComplete;
207
+ const collectionFacets = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('facet-row');
208
+ expect(collectionFacets === null || collectionFacets === void 0 ? void 0 : collectionFacets.length).to.equal(1);
209
+ // The first (and only) collection link should be for 'foo'
210
+ expect((_d = collectionFacets[0].bucket) === null || _d === void 0 ? void 0 : _d.key).to.equal('foo');
211
+ });
212
+ // Lending tests disabled because lending facet disabled
213
+ // it('renders lending facets with human-readable names', async () => {
214
+ // const el = await fixture<CollectionFacets>(
215
+ // html`<collection-facets></collection-facets>`
216
+ // );
217
+ // const aggs: Record<string, Aggregation> = {
218
+ // lending: new Aggregation({
219
+ // buckets: [
220
+ // {
221
+ // key: 'is_lendable',
222
+ // doc_count: 3,
223
+ // },
224
+ // {
225
+ // key: 'available_to_borrow',
226
+ // doc_count: 2,
227
+ // },
228
+ // {
229
+ // key: 'is_readable',
230
+ // doc_count: 1,
231
+ // },
232
+ // ],
233
+ // }),
234
+ // };
235
+ // el.aggregations = aggs;
236
+ // await el.updateComplete;
237
+ // const facetsTemplate = el.shadowRoot?.querySelector(
238
+ // 'facets-template'
239
+ // ) as FacetsTemplate;
240
+ // await facetsTemplate?.updateComplete;
241
+ // const lendingFacets = facetsTemplate?.shadowRoot?.querySelectorAll(
242
+ // 'facet-row'
243
+ // ) as ArrayLike<FacetRow>;
244
+ // expect(lendingFacets?.length).to.equal(3);
245
+ // expect(lendingFacets[0].shadowRoot?.textContent?.trim()).to.match(
246
+ // /^Lending Library\s*3$/
247
+ // );
248
+ // expect(lendingFacets[1].shadowRoot?.textContent?.trim()).to.match(
249
+ // /^Borrow 14 Days\s*2$/
250
+ // );
251
+ // expect(lendingFacets[2].shadowRoot?.textContent?.trim()).to.match(
252
+ // /^Always Available\s*1$/
253
+ // );
254
+ // });
255
+ // it('renders selected/negative lending facets with human-readable names', async () => {
256
+ // const el = await fixture<CollectionFacets>(
257
+ // html`<collection-facets></collection-facets>`
258
+ // );
259
+ // const selectedFacets: SelectedFacets = {
260
+ // subject: {},
261
+ // lending: {
262
+ // is_lendable: {
263
+ // key: 'is_lendable',
264
+ // count: 5,
265
+ // state: 'selected',
266
+ // },
267
+ // available_to_borrow: {
268
+ // key: 'available_to_borrow',
269
+ // count: 4,
270
+ // state: 'selected',
271
+ // },
272
+ // is_readable: {
273
+ // key: 'is_readable',
274
+ // count: 3,
275
+ // state: 'hidden',
276
+ // },
277
+ // },
278
+ // mediatype: {},
279
+ // language: {},
280
+ // creator: {},
281
+ // collection: {},
282
+ // year: {},
283
+ // };
284
+ // el.selectedFacets = selectedFacets;
285
+ // await el.updateComplete;
286
+ // const facetsTemplate = el.shadowRoot?.querySelector(
287
+ // 'facets-template'
288
+ // ) as FacetsTemplate;
289
+ // await facetsTemplate?.updateComplete;
290
+ // const lendingFacets = facetsTemplate?.shadowRoot?.querySelectorAll(
291
+ // 'facet-row'
292
+ // ) as ArrayLike<FacetRow>;
293
+ // expect(lendingFacets?.length).to.equal(3);
294
+ // expect(lendingFacets[0].shadowRoot?.textContent?.trim()).to.match(
295
+ // /^Lending Library\s*5$/
296
+ // );
297
+ // expect(lendingFacets[1].shadowRoot?.textContent?.trim()).to.match(
298
+ // /^Borrow 14 Days\s*4$/
299
+ // );
300
+ // expect(lendingFacets[2].shadowRoot?.textContent?.trim()).to.match(
301
+ // /^Always Available\s*3$/
302
+ // );
303
+ // });
304
+ // it('only renders lending facets for is_lendable, available_to_borrow, and is_readable', async () => {
305
+ // const el = await fixture<CollectionFacets>(
306
+ // html`<collection-facets></collection-facets>`
307
+ // );
308
+ // const aggs: Record<string, Aggregation> = {
309
+ // lending: new Aggregation({
310
+ // buckets: [
311
+ // {
312
+ // key: 'is_lendable',
313
+ // doc_count: 5,
314
+ // },
315
+ // {
316
+ // key: 'is_borrowable',
317
+ // doc_count: 4,
318
+ // },
319
+ // {
320
+ // key: 'available_to_borrow',
321
+ // doc_count: 5,
322
+ // },
323
+ // {
324
+ // key: 'is_browsable',
325
+ // doc_count: 4,
326
+ // },
327
+ // {
328
+ // key: 'available_to_browse',
329
+ // doc_count: 5,
330
+ // },
331
+ // {
332
+ // key: 'is_readable',
333
+ // doc_count: 4,
334
+ // },
335
+ // {
336
+ // key: 'available_to_waitlist',
337
+ // doc_count: 5,
338
+ // },
339
+ // ],
340
+ // }),
341
+ // };
342
+ // el.aggregations = aggs;
343
+ // await el.updateComplete;
344
+ // const facetsTemplate = el.shadowRoot?.querySelector(
345
+ // 'facets-template'
346
+ // ) as FacetsTemplate;
347
+ // await facetsTemplate?.updateComplete;
348
+ // await new Promise(res => {
349
+ // setTimeout(res, 100);
350
+ // });
351
+ // const lendingFacets = facetsTemplate?.shadowRoot?.querySelectorAll(
352
+ // 'facet-row'
353
+ // ) as ArrayLike<FacetRow>;
354
+ // expect(lendingFacets?.length).to.equal(3);
355
+ // expect(lendingFacets[0].shadowRoot?.textContent?.trim()).to.match(
356
+ // /^Lending Library\s*5$/
357
+ // );
358
+ // expect(lendingFacets[1].shadowRoot?.textContent?.trim()).to.match(
359
+ // /^Borrow 14 Days\s*5$/
360
+ // );
361
+ // expect(lendingFacets[2].shadowRoot?.textContent?.trim()).to.match(
362
+ // /^Always Available\s*4$/
363
+ // );
364
+ // });
365
+ // it('does not render a More... link for lending facets', async () => {
366
+ // const el = await fixture<CollectionFacets>(
367
+ // html`<collection-facets></collection-facets>`
368
+ // );
369
+ // const aggs: Record<string, Aggregation> = {
370
+ // lending: new Aggregation({
371
+ // buckets: [
372
+ // {
373
+ // key: 'is_lendable',
374
+ // doc_count: 5,
375
+ // },
376
+ // {
377
+ // key: 'is_borrowable',
378
+ // doc_count: 4,
379
+ // },
380
+ // {
381
+ // key: 'available_to_borrow',
382
+ // doc_count: 5,
383
+ // },
384
+ // {
385
+ // key: 'is_browsable',
386
+ // doc_count: 4,
387
+ // },
388
+ // {
389
+ // key: 'available_to_browse',
390
+ // doc_count: 5,
391
+ // },
392
+ // {
393
+ // key: 'is_readable',
394
+ // doc_count: 4,
395
+ // },
396
+ // {
397
+ // key: 'available_to_waitlist',
398
+ // doc_count: 5,
399
+ // },
400
+ // ],
401
+ // }),
402
+ // };
403
+ // el.aggregations = aggs;
404
+ // await el.updateComplete;
405
+ // const moreLink = el.shadowRoot?.querySelector('.more-link');
406
+ // expect(moreLink).not.to.exist;
407
+ // });
408
+ it('always renders the mediatype:collection facet when present', async () => {
409
+ var _a, _b, _c, _d;
410
+ const el = await fixture(html `<collection-facets></collection-facets>`);
411
+ const aggs = {
412
+ mediatype: new Aggregation({
413
+ buckets: [
414
+ {
415
+ key: 'texts',
416
+ doc_count: 10000,
417
+ },
418
+ {
419
+ key: 'image',
420
+ doc_count: 9000,
421
+ },
422
+ {
423
+ key: 'audio',
424
+ doc_count: 8000,
425
+ },
426
+ {
427
+ key: 'movies',
428
+ doc_count: 7000,
429
+ },
430
+ {
431
+ key: 'software',
432
+ doc_count: 6000,
433
+ },
434
+ {
435
+ key: 'data',
436
+ doc_count: 5000,
437
+ },
438
+ {
439
+ key: 'etree',
440
+ doc_count: 4000,
441
+ },
442
+ {
443
+ key: 'collection',
444
+ doc_count: 1,
445
+ },
446
+ ],
447
+ }),
448
+ };
449
+ el.aggregations = aggs;
450
+ await el.updateComplete;
451
+ const facetsTemplate = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template');
452
+ const facetRows = (_b = facetsTemplate === null || facetsTemplate === void 0 ? void 0 : facetsTemplate.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('facet-row');
453
+ expect(facetRows === null || facetRows === void 0 ? void 0 : facetRows.length).to.equal(6);
454
+ expect((_d = (_c = facetRows === null || facetRows === void 0 ? void 0 : facetRows[5]) === null || _c === void 0 ? void 0 : _c.bucket) === null || _d === void 0 ? void 0 : _d.key).to.equal('collection');
455
+ });
456
+ it('renders the mediatype:collection facet even when >=6 other mediatypes are selected', async () => {
457
+ var _a, _b, _c, _d;
458
+ const el = await fixture(html `<collection-facets></collection-facets>`);
459
+ const aggs = {
460
+ mediatype: new Aggregation({
461
+ buckets: [
462
+ {
463
+ key: 'texts',
464
+ doc_count: 10000,
465
+ },
466
+ {
467
+ key: 'image',
468
+ doc_count: 9000,
469
+ },
470
+ {
471
+ key: 'audio',
472
+ doc_count: 8000,
473
+ },
474
+ {
475
+ key: 'movies',
476
+ doc_count: 7000,
477
+ },
478
+ {
479
+ key: 'software',
480
+ doc_count: 6000,
481
+ },
482
+ {
483
+ key: 'data',
484
+ doc_count: 5000,
485
+ },
486
+ {
487
+ key: 'etree',
488
+ doc_count: 4000,
489
+ },
490
+ {
491
+ key: 'collection',
492
+ doc_count: 1,
493
+ },
494
+ ],
495
+ }),
496
+ };
497
+ const selectedFacets = getDefaultSelectedFacets();
498
+ selectedFacets.mediatype = {
499
+ texts: { key: 'texts', count: 10000, state: 'selected' },
500
+ image: { key: 'image', count: 9000, state: 'selected' },
501
+ audio: { key: 'audio', count: 8000, state: 'selected' },
502
+ movies: { key: 'movies', count: 7000, state: 'selected' },
503
+ software: { key: 'software', count: 6000, state: 'selected' },
504
+ data: { key: 'data', count: 5000, state: 'selected' },
505
+ etree: { key: 'etree', count: 4000, state: 'selected' },
506
+ };
507
+ el.aggregations = aggs;
508
+ el.selectedFacets = selectedFacets;
509
+ await el.updateComplete;
510
+ const facetsTemplate = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template');
511
+ const facetRows = (_b = facetsTemplate === null || facetsTemplate === void 0 ? void 0 : facetsTemplate.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('facet-row');
512
+ expect(facetRows === null || facetRows === void 0 ? void 0 : facetRows.length).to.equal(8);
513
+ expect((_d = (_c = facetRows === null || facetRows === void 0 ? void 0 : facetRows[7]) === null || _c === void 0 ? void 0 : _c.bucket) === null || _d === void 0 ? void 0 : _d.key).to.equal('collection');
514
+ });
515
+ it('uses specified facet display order', async () => {
516
+ var _a;
517
+ const el = await fixture(html `<collection-facets
518
+ .facetDisplayOrder=${['language', 'creator']}
519
+ ></collection-facets>`);
520
+ const aggs = {
521
+ mediatype: new Aggregation({
522
+ buckets: [{ key: 'texts', doc_count: 5 }],
523
+ }),
524
+ collection: new Aggregation({
525
+ buckets: [{ key: 'foo', doc_count: 10 }],
526
+ }),
527
+ creator: new Aggregation({
528
+ buckets: [{ key: 'bar', doc_count: 15 }],
529
+ }),
530
+ language: new Aggregation({
531
+ buckets: [{ key: 'baz', doc_count: 20 }],
532
+ }),
533
+ };
534
+ el.aggregations = aggs;
535
+ await el.updateComplete;
536
+ const facetHeaders = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.facet-group-header');
537
+ // The only two facet groups should be Language and Creator (in that order)
538
+ expect(facetHeaders === null || facetHeaders === void 0 ? void 0 : facetHeaders.length).to.equal(2);
539
+ expect(facetHeaders === null || facetHeaders === void 0 ? void 0 : facetHeaders[0].textContent).to.contain('Language');
540
+ expect(facetHeaders === null || facetHeaders === void 0 ? void 0 : facetHeaders[1].textContent).to.contain('Creator');
541
+ });
542
+ describe('More Facets', () => {
543
+ it('Does not render < allowedFacetCount', async () => {
544
+ var _a;
545
+ const el = await fixture(html `<collection-facets></collection-facets>`);
546
+ const aggs = {
547
+ subject: new Aggregation({
548
+ buckets: [
549
+ {
550
+ key: 'foo',
551
+ doc_count: 5,
552
+ },
553
+ ],
554
+ }),
555
+ };
556
+ el.aggregations = aggs;
557
+ await el.updateComplete;
558
+ const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
559
+ expect(moreLink).to.be.null;
560
+ });
561
+ it('Render More Facets', async () => {
562
+ var _a, _b;
563
+ const modalManager = await fixture(html `<modal-manager></modal-manager>`);
564
+ const el = await fixture(html `<collection-facets
565
+ .modalManager=${modalManager}
566
+ ></collection-facets>`);
567
+ const aggs = {
568
+ subject: new Aggregation({
569
+ buckets: [
570
+ {
571
+ key: 'foo',
572
+ doc_count: 5,
573
+ },
574
+ {
575
+ key: 'fi',
576
+ doc_count: 5,
577
+ },
578
+ {
579
+ key: 'fum',
580
+ doc_count: 5,
581
+ },
582
+ {
583
+ key: 'flee',
584
+ doc_count: 5,
585
+ },
586
+ {
587
+ key: 'wheee',
588
+ doc_count: 5,
589
+ },
590
+ {
591
+ key: 'whooo',
592
+ doc_count: 5,
593
+ },
594
+ {
595
+ key: 'boop',
596
+ doc_count: 5,
597
+ },
598
+ ],
599
+ }),
600
+ };
601
+ el.aggregations = aggs;
602
+ await el.updateComplete;
603
+ let eventCaught = false;
604
+ let eventFacet = '';
605
+ el.addEventListener('showMoreFacets', e => {
606
+ eventFacet = e.detail;
607
+ eventCaught = true;
608
+ });
609
+ const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
610
+ expect(moreLink).to.exist; // has link
611
+ const showModalSpy = sinon.spy(el.modalManager, 'showModal');
612
+ // let's pop up modal
613
+ moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
614
+ await el.updateComplete;
615
+ expect(showModalSpy.callCount).to.equal(1);
616
+ expect((_b = el.modalManager) === null || _b === void 0 ? void 0 : _b.classList.contains('more-search-facets')).to.be
617
+ .true;
618
+ expect(eventCaught).to.be.true;
619
+ expect(eventFacet).to.equal('subject');
620
+ });
621
+ });
622
+ it('fire analytics on more link', async () => {
623
+ var _a;
624
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
625
+ const el = await fixture(html `<collection-facets
626
+ .analyticsHandler=${mockAnalyticsHandler}
627
+ ></collection-facets>`);
628
+ const aggs = {
629
+ subject: new Aggregation({
630
+ buckets: [
631
+ {
632
+ key: 'foo',
633
+ doc_count: 5,
634
+ },
635
+ {
636
+ key: 'fi',
637
+ doc_count: 5,
638
+ },
639
+ {
640
+ key: 'fum',
641
+ doc_count: 5,
642
+ },
643
+ {
644
+ key: 'flee',
645
+ doc_count: 5,
646
+ },
647
+ {
648
+ key: 'wheee',
649
+ doc_count: 5,
650
+ },
651
+ {
652
+ key: 'whooo',
653
+ doc_count: 5,
654
+ },
655
+ {
656
+ key: 'boop',
657
+ doc_count: 5,
658
+ },
659
+ ],
660
+ }),
661
+ };
662
+ el.aggregations = aggs;
663
+ await el.updateComplete;
664
+ const moreLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.more-link');
665
+ expect(moreLink).to.exist; // has link
666
+ moreLink === null || moreLink === void 0 ? void 0 : moreLink.click();
667
+ await el.updateComplete;
668
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
669
+ expect(mockAnalyticsHandler.callAction).to.equal('showMoreFacetsModal');
670
+ expect(mockAnalyticsHandler.callLabel).to.equal('subject');
671
+ });
672
+ it('includes Part Of section for collections', async () => {
673
+ var _a, _b, _c, _d, _e, _f, _g;
674
+ const el = await fixture(html `<collection-facets
675
+ .baseNavigationUrl=${''}
676
+ .withinCollection=${'foo'}
677
+ .parentCollections=${['bar', 'baz']}
678
+ .collectionTitles=${new Map([
679
+ ['foo', 'foo-name'],
680
+ ['bar', 'bar-name'],
681
+ ['baz', 'baz-name'],
682
+ ])}
683
+ ></collection-facets>`);
684
+ const partOfSection = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.partof-collections');
685
+ expect(partOfSection).to.exist;
686
+ const partOfLinks = partOfSection === null || partOfSection === void 0 ? void 0 : partOfSection.querySelectorAll('a[href]');
687
+ expect(partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks.length).to.equal(2);
688
+ expect((_c = (_b = partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks[0]) === null || _b === void 0 ? void 0 : _b.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('bar-name');
689
+ expect((_d = partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks[0]) === null || _d === void 0 ? void 0 : _d.getAttribute('href')).to.equal('/details/bar');
690
+ expect((_f = (_e = partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks[1]) === null || _e === void 0 ? void 0 : _e.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('baz-name');
691
+ expect((_g = partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks[1]) === null || _g === void 0 ? void 0 : _g.getAttribute('href')).to.equal('/details/baz');
692
+ });
693
+ it('does not include Part Of section without parent collections', async () => {
694
+ var _a;
695
+ // No parentCollections prop
696
+ const el = await fixture(html `<collection-facets .withinCollection=${'foo'}></collection-facets>`);
697
+ const partOfSection = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.partof-collections');
698
+ expect(partOfSection).not.to.exist;
699
+ });
700
+ it('fires analytics on expanding date picker', async () => {
701
+ var _a;
702
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
703
+ const el = await fixture(html `<collection-facets
704
+ .analyticsHandler=${mockAnalyticsHandler}
705
+ ></collection-facets>`);
706
+ el.histogramAggregationLoading = false;
707
+ el.showHistogramDatePicker = true;
708
+ el.allowExpandingDatePicker = true;
709
+ el.histogramAggregation = new Aggregation({
710
+ buckets: [1, 2, 3],
711
+ first_bucket_key: 0,
712
+ last_bucket_key: 2,
713
+ });
714
+ await el.updateComplete;
715
+ const expandBtn = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.expand-date-picker-btn');
716
+ expect(expandBtn).to.exist;
717
+ // Click the expand button to open the modal
718
+ expandBtn === null || expandBtn === void 0 ? void 0 : expandBtn.click();
719
+ await el.updateComplete;
720
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
721
+ expect(mockAnalyticsHandler.callAction).to.equal('histogramExpanded');
722
+ expect(mockAnalyticsHandler.callLabel).to.equal(window.location.href);
723
+ });
724
+ it('fires analytics on clicking Part Of collection link', async () => {
725
+ var _a;
726
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
727
+ const el = await fixture(html `<collection-facets
728
+ .baseNavigationUrl=${''}
729
+ .withinCollection=${'foo'}
730
+ .parentCollections=${['bar']}
731
+ .analyticsHandler=${mockAnalyticsHandler}
732
+ ></collection-facets>`);
733
+ const partOfLinks = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.partof-collections a[href]');
734
+ expect(partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks.length).to.equal(1);
735
+ // Click the expand button to open the modal
736
+ const link = partOfLinks === null || partOfLinks === void 0 ? void 0 : partOfLinks[0];
737
+ link === null || link === void 0 ? void 0 : link.addEventListener('click', e => e.preventDefault());
738
+ link === null || link === void 0 ? void 0 : link.click();
739
+ await el.updateComplete;
740
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
741
+ expect(mockAnalyticsHandler.callAction).to.equal('partOfCollectionClicked');
742
+ expect(mockAnalyticsHandler.callLabel).to.equal('bar');
743
+ });
744
+ });
745
+ //# sourceMappingURL=collection-facets.test.js.map