@internetarchive/collection-browser 2.7.7 → 2.7.8-alpha2

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 (338) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +13 -13
  6. package/dist/index.js +13 -13
  7. package/dist/src/app-root.d.ts +107 -99
  8. package/dist/src/app-root.js +539 -505
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  31. package/dist/src/assets/img/icons/filter.js +2 -2
  32. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  33. package/dist/src/assets/img/icons/login-required.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  60. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  61. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  62. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  63. package/dist/src/assets/img/icons/null-result.js +2 -2
  64. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  65. package/dist/src/assets/img/icons/restricted.js +2 -2
  66. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  67. package/dist/src/assets/img/icons/reviews.js +2 -2
  68. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  69. package/dist/src/assets/img/icons/upload.js +2 -2
  70. package/dist/src/assets/img/icons/views.d.ts +1 -1
  71. package/dist/src/assets/img/icons/views.js +2 -2
  72. package/dist/src/circular-activity-indicator.d.ts +5 -5
  73. package/dist/src/circular-activity-indicator.js +17 -17
  74. package/dist/src/collection-browser.d.ts +606 -582
  75. package/dist/src/collection-browser.js +1677 -1629
  76. package/dist/src/collection-browser.js.map +1 -1
  77. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  78. package/dist/src/collection-facets/facet-row.js +118 -118
  79. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  80. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  81. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  82. package/dist/src/collection-facets/facets-template.js +44 -44
  83. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  84. package/dist/src/collection-facets/more-facets-content.js +407 -407
  85. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  86. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  87. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  88. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  89. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  90. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  91. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  92. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  93. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  94. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  95. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  96. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  97. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  98. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  99. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  100. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  101. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  102. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  103. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  104. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  105. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  106. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  107. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  108. package/dist/src/collection-facets/toggle-switch.js +94 -94
  109. package/dist/src/collection-facets.d.ts +103 -103
  110. package/dist/src/collection-facets.js +522 -522
  111. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -241
  112. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  113. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  114. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -373
  115. package/dist/src/data-source/collection-browser-data-source.js +995 -982
  116. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  117. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -43
  118. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  119. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  120. package/dist/src/data-source/models.d.ts +28 -28
  121. package/dist/src/data-source/models.js +8 -8
  122. package/dist/src/empty-placeholder.d.ts +23 -23
  123. package/dist/src/empty-placeholder.js +79 -79
  124. package/dist/src/expanded-date-picker.d.ts +43 -43
  125. package/dist/src/expanded-date-picker.js +109 -109
  126. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  127. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  128. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  129. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  130. package/dist/src/manage/manage-bar.d.ts +58 -35
  131. package/dist/src/manage/manage-bar.js +174 -80
  132. package/dist/src/manage/manage-bar.js.map +1 -1
  133. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  134. package/dist/src/manage/remove-items-modal-content.js +104 -0
  135. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  136. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  137. package/dist/src/mediatype/mediatype-config.js +91 -91
  138. package/dist/src/models.d.ts +228 -219
  139. package/dist/src/models.js +401 -401
  140. package/dist/src/models.js.map +1 -1
  141. package/dist/src/restoration-state-handler.d.ts +70 -70
  142. package/dist/src/restoration-state-handler.js +363 -363
  143. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  144. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  145. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  146. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  147. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  148. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  149. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  150. package/dist/src/sort-filter-bar/img/list.js +2 -2
  151. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  152. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  153. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  154. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  155. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  156. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  157. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  158. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  159. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  160. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  161. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  162. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  163. package/dist/src/styles/ia-button.d.ts +2 -2
  164. package/dist/src/styles/ia-button.js +17 -17
  165. package/dist/src/styles/item-image-styles.d.ts +8 -8
  166. package/dist/src/styles/item-image-styles.js +9 -9
  167. package/dist/src/styles/sr-only.d.ts +1 -1
  168. package/dist/src/styles/sr-only.js +2 -2
  169. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  170. package/dist/src/tiles/base-tile-component.js +64 -64
  171. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  172. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  173. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  174. package/dist/src/tiles/grid/account-tile.js +72 -72
  175. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  176. package/dist/src/tiles/grid/collection-tile.js +80 -80
  177. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  178. package/dist/src/tiles/grid/item-tile.js +158 -158
  179. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  180. package/dist/src/tiles/grid/search-tile.js +51 -51
  181. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  182. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  183. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  184. package/dist/src/tiles/grid/tile-stats.js +53 -53
  185. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  186. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  187. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  188. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  189. package/dist/src/tiles/image-block.d.ts +18 -18
  190. package/dist/src/tiles/image-block.js +89 -89
  191. package/dist/src/tiles/item-image.d.ts +39 -39
  192. package/dist/src/tiles/item-image.js +154 -154
  193. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  194. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  195. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  196. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  197. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  198. package/dist/src/tiles/list/tile-list.js +323 -323
  199. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  200. package/dist/src/tiles/mediatype-icon.js +47 -47
  201. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  202. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  203. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  204. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  205. package/dist/src/tiles/review-block.d.ts +12 -12
  206. package/dist/src/tiles/review-block.js +56 -56
  207. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  208. package/dist/src/tiles/text-snippet-block.js +73 -73
  209. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  210. package/dist/src/tiles/tile-dispatcher.js +230 -230
  211. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  212. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  213. package/dist/src/utils/analytics-events.d.ts +28 -28
  214. package/dist/src/utils/analytics-events.js +30 -30
  215. package/dist/src/utils/array-equals.d.ts +4 -4
  216. package/dist/src/utils/array-equals.js +10 -10
  217. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  218. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  219. package/dist/src/utils/facet-utils.d.ts +83 -83
  220. package/dist/src/utils/facet-utils.js +145 -145
  221. package/dist/src/utils/format-count.d.ts +7 -7
  222. package/dist/src/utils/format-count.js +76 -76
  223. package/dist/src/utils/format-date.d.ts +2 -2
  224. package/dist/src/utils/format-date.js +27 -27
  225. package/dist/src/utils/format-unit-size.d.ts +2 -2
  226. package/dist/src/utils/format-unit-size.js +33 -33
  227. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  228. package/dist/src/utils/local-date-from-utc.js +15 -15
  229. package/dist/src/utils/log.d.ts +7 -7
  230. package/dist/src/utils/log.js +15 -15
  231. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  232. package/dist/src/utils/resolve-mediatype.js +23 -23
  233. package/dist/src/utils/sha1.d.ts +2 -2
  234. package/dist/src/utils/sha1.js +8 -8
  235. package/dist/test/collection-browser.test.d.ts +1 -1
  236. package/dist/test/collection-browser.test.js +1309 -1293
  237. package/dist/test/collection-browser.test.js.map +1 -1
  238. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  239. package/dist/test/collection-facets/facet-row.test.js +227 -227
  240. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  241. package/dist/test/collection-facets/facets-template.test.js +91 -91
  242. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  243. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  244. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  245. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  246. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  247. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  248. package/dist/test/collection-facets.test.d.ts +2 -2
  249. package/dist/test/collection-facets.test.js +690 -690
  250. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  251. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  252. package/dist/test/empty-placeholder.test.d.ts +1 -1
  253. package/dist/test/empty-placeholder.test.js +63 -63
  254. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  255. package/dist/test/expanded-date-picker.test.js +95 -95
  256. package/dist/test/icon-overlay.test.d.ts +1 -1
  257. package/dist/test/icon-overlay.test.js +24 -24
  258. package/dist/test/image-block.test.d.ts +1 -1
  259. package/dist/test/image-block.test.js +107 -107
  260. package/dist/test/item-image.test.d.ts +1 -1
  261. package/dist/test/item-image.test.js +85 -85
  262. package/dist/test/manage/manage-bar.test.d.ts +2 -1
  263. package/dist/test/manage/manage-bar.test.js +106 -91
  264. package/dist/test/manage/manage-bar.test.js.map +1 -1
  265. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  266. package/dist/test/manage/remove-items-modal-content.test.js +66 -0
  267. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  268. package/dist/test/mediatype-config.test.d.ts +1 -1
  269. package/dist/test/mediatype-config.test.js +16 -16
  270. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  271. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  272. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  273. package/dist/test/mocks/mock-search-responses.js +942 -942
  274. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  275. package/dist/test/mocks/mock-search-service.js +54 -54
  276. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  277. package/dist/test/restoration-state-handler.test.js +270 -270
  278. package/dist/test/review-block.test.d.ts +1 -1
  279. package/dist/test/review-block.test.js +44 -44
  280. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  281. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  282. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  283. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  284. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  285. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  286. package/dist/test/text-overlay.test.d.ts +1 -1
  287. package/dist/test/text-overlay.test.js +38 -38
  288. package/dist/test/text-snippet-block.test.d.ts +1 -1
  289. package/dist/test/text-snippet-block.test.js +57 -57
  290. package/dist/test/tile-stats.test.d.ts +1 -1
  291. package/dist/test/tile-stats.test.js +81 -81
  292. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  293. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  294. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  295. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  296. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  297. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  298. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  299. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  300. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  301. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  302. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  303. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  304. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  305. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  306. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  307. package/dist/test/tiles/list/tile-list.test.js +297 -297
  308. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  309. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  310. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  311. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  312. package/dist/test/utils/array-equals.test.d.ts +1 -1
  313. package/dist/test/utils/array-equals.test.js +26 -26
  314. package/dist/test/utils/format-count.test.d.ts +1 -1
  315. package/dist/test/utils/format-count.test.js +23 -23
  316. package/dist/test/utils/format-date.test.d.ts +1 -1
  317. package/dist/test/utils/format-date.test.js +30 -30
  318. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  319. package/dist/test/utils/format-unit-size.test.js +17 -17
  320. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  321. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  322. package/local.archive.org.cert +86 -86
  323. package/local.archive.org.key +27 -27
  324. package/package.json +1 -1
  325. package/renovate.json +6 -6
  326. package/src/app-root.ts +38 -4
  327. package/src/collection-browser.ts +69 -17
  328. package/src/data-source/collection-browser-data-source-interface.ts +5 -0
  329. package/src/data-source/collection-browser-data-source.ts +14 -0
  330. package/src/data-source/collection-browser-query-state.ts +1 -0
  331. package/src/manage/manage-bar.ts +120 -24
  332. package/src/manage/remove-items-modal-content.ts +102 -0
  333. package/src/models.ts +10 -0
  334. package/test/collection-browser.test.ts +23 -0
  335. package/test/manage/manage-bar.test.ts +41 -18
  336. package/test/manage/remove-items-modal-content.test.ts +82 -0
  337. package/web-dev-server.config.mjs +30 -30
  338. package/web-test-runner.config.mjs +41 -41
@@ -1,101 +1,101 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import '../../src/collection-facets/facets-template';
5
- const facetGroup = {
6
- title: 'Media Type',
7
- key: 'mediatype',
8
- buckets: [
9
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
10
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
11
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
12
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
13
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
14
- ],
15
- };
16
- describe('Render facets', () => {
17
- it('should render more facets template', async () => {
18
- var _a;
19
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
20
- await el.updateComplete;
21
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row')).to.exist;
22
- });
23
- it('facets template renders facet rows', async () => {
24
- var _a;
25
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
26
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-rows')).to.exist;
27
- });
28
- it('applies correct bucket values to facet row', async () => {
29
- var _a;
30
- const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
31
- const facetRows = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('facet-row');
32
- expect(facetRows === null || facetRows === void 0 ? void 0 : facetRows.length).to.equal(facetGroup.buckets.length);
33
- facetRows === null || facetRows === void 0 ? void 0 : facetRows.forEach((elmt, i) => {
34
- const facetRow = elmt;
35
- expect(facetRow).to.exist;
36
- expect(facetRow.bucket).to.equal(facetGroup.buckets[i]);
37
- expect(facetRow.facetType).to.equal(facetGroup.key);
38
- });
39
- });
40
- it('emits facet click event when a facet is selected/deselected', async () => {
41
- var _a, _b, _c, _d;
42
- const facetClickSpy = sinon.spy();
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import sinon from 'sinon';
3
+ import { html } from 'lit';
4
+ import '../../src/collection-facets/facets-template';
5
+ const facetGroup = {
6
+ title: 'Media Type',
7
+ key: 'mediatype',
8
+ buckets: [
9
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
10
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
11
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
12
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
13
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
14
+ ],
15
+ };
16
+ describe('Render facets', () => {
17
+ it('should render more facets template', async () => {
18
+ var _a;
19
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
20
+ await el.updateComplete;
21
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row')).to.exist;
22
+ });
23
+ it('facets template renders facet rows', async () => {
24
+ var _a;
25
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
26
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-rows')).to.exist;
27
+ });
28
+ it('applies correct bucket values to facet row', async () => {
29
+ var _a;
30
+ const el = await fixture(html `<facets-template .facetGroup=${facetGroup}></facets-template>`);
31
+ const facetRows = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('facet-row');
32
+ expect(facetRows === null || facetRows === void 0 ? void 0 : facetRows.length).to.equal(facetGroup.buckets.length);
33
+ facetRows === null || facetRows === void 0 ? void 0 : facetRows.forEach((elmt, i) => {
34
+ const facetRow = elmt;
35
+ expect(facetRow).to.exist;
36
+ expect(facetRow.bucket).to.equal(facetGroup.buckets[i]);
37
+ expect(facetRow.facetType).to.equal(facetGroup.key);
38
+ });
39
+ });
40
+ it('emits facet click event when a facet is selected/deselected', async () => {
41
+ var _a, _b, _c, _d;
42
+ const facetClickSpy = sinon.spy();
43
43
  const el = await fixture(html `<facets-template
44
44
  .facetGroup=${facetGroup}
45
45
  @facetClick=${facetClickSpy}
46
- ></facets-template>`);
47
- const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
48
- expect(facetRow).to.exist;
49
- const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
50
- expect(facetSelectCheck).to.exist;
51
- facetSelectCheck.click();
52
- expect(facetClickSpy.callCount).to.equal(1);
53
- expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('selected');
54
- facetSelectCheck.click();
55
- expect(facetClickSpy.callCount).to.equal(2);
56
- expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
57
- });
58
- it('emits facet click event when a facet is negated/un-negated', async () => {
59
- var _a, _b, _c, _d;
60
- const facetClickSpy = sinon.spy();
46
+ ></facets-template>`);
47
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
48
+ expect(facetRow).to.exist;
49
+ const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
50
+ expect(facetSelectCheck).to.exist;
51
+ facetSelectCheck.click();
52
+ expect(facetClickSpy.callCount).to.equal(1);
53
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('selected');
54
+ facetSelectCheck.click();
55
+ expect(facetClickSpy.callCount).to.equal(2);
56
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
57
+ });
58
+ it('emits facet click event when a facet is negated/un-negated', async () => {
59
+ var _a, _b, _c, _d;
60
+ const facetClickSpy = sinon.spy();
61
61
  const el = await fixture(html `<facets-template
62
62
  .facetGroup=${facetGroup}
63
63
  @facetClick=${facetClickSpy}
64
- ></facets-template>`);
65
- const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
66
- expect(facetRow).to.exist;
67
- const facetNegateCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
68
- expect(facetNegateCheck).to.exist;
69
- facetNegateCheck.click();
70
- expect(facetClickSpy.callCount).to.equal(1);
71
- expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('hidden');
72
- facetNegateCheck.click();
73
- expect(facetClickSpy.callCount).to.equal(2);
74
- expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
75
- });
76
- it('emits facet click event when a pre-selected facet is deselected', async () => {
77
- var _a, _b, _c, _d;
78
- const facetClickSpy = sinon.spy();
79
- const facetGroupWithSelection = { ...facetGroup };
80
- facetGroupWithSelection.buckets = [
81
- { ...facetGroup.buckets[0], state: 'selected' },
82
- ...facetGroup.buckets.slice(1),
83
- ];
64
+ ></facets-template>`);
65
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
66
+ expect(facetRow).to.exist;
67
+ const facetNegateCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
68
+ expect(facetNegateCheck).to.exist;
69
+ facetNegateCheck.click();
70
+ expect(facetClickSpy.callCount).to.equal(1);
71
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('hidden');
72
+ facetNegateCheck.click();
73
+ expect(facetClickSpy.callCount).to.equal(2);
74
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('none');
75
+ });
76
+ it('emits facet click event when a pre-selected facet is deselected', async () => {
77
+ var _a, _b, _c, _d;
78
+ const facetClickSpy = sinon.spy();
79
+ const facetGroupWithSelection = { ...facetGroup };
80
+ facetGroupWithSelection.buckets = [
81
+ { ...facetGroup.buckets[0], state: 'selected' },
82
+ ...facetGroup.buckets.slice(1),
83
+ ];
84
84
  const el = await fixture(html `<facets-template
85
85
  .facetGroup=${facetGroupWithSelection}
86
86
  @facetClick=${facetClickSpy}
87
- ></facets-template>`);
88
- const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
89
- expect(facetRow).to.exist;
90
- const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
91
- expect(facetSelectCheck).to.exist;
92
- expect(facetSelectCheck.checked).to.be.true;
93
- facetSelectCheck.click();
94
- expect(facetClickSpy.callCount).to.equal(1);
95
- expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('none');
96
- facetSelectCheck.click();
97
- expect(facetClickSpy.callCount).to.equal(2);
98
- expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('selected');
99
- });
100
- });
87
+ ></facets-template>`);
88
+ const facetRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facet-row');
89
+ expect(facetRow).to.exist;
90
+ const facetSelectCheck = (_b = facetRow.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.select-facet-checkbox');
91
+ expect(facetSelectCheck).to.exist;
92
+ expect(facetSelectCheck.checked).to.be.true;
93
+ facetSelectCheck.click();
94
+ expect(facetClickSpy.callCount).to.equal(1);
95
+ expect((_c = facetRow.bucket) === null || _c === void 0 ? void 0 : _c.state).to.equal('none');
96
+ facetSelectCheck.click();
97
+ expect(facetClickSpy.callCount).to.equal(2);
98
+ expect((_d = facetRow.bucket) === null || _d === void 0 ? void 0 : _d.state).to.equal('selected');
99
+ });
100
+ });
101
101
  //# sourceMappingURL=facets-template.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/more-facets-content';
1
+ import '../../src/collection-facets/more-facets-content';
@@ -1,170 +1,170 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { aTimeout, expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import '../../src/collection-facets/more-facets-content';
5
- import { MockSearchService } from '../mocks/mock-search-service';
6
- import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
7
- const selectedFacetsGroup = {
8
- title: 'Media Type',
9
- key: 'mediatype',
10
- buckets: [
11
- { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
12
- { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
13
- { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
14
- { displayText: 'data', key: 'data', count: 230, state: 'none' },
15
- { displayText: 'web', key: 'web', count: 453, state: 'none' },
16
- ],
17
- };
18
- const yearSelectedFacets = {
19
- mediatype: {},
20
- lending: {},
21
- year: {
22
- '2000': { key: '2000', count: 5, state: 'selected' },
23
- },
24
- subject: {},
25
- collection: {},
26
- creator: {},
27
- language: {},
28
- };
29
- describe('More facets content', () => {
30
- it('should render more facets template', async () => {
31
- var _a;
32
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
33
- el.facetsLoading = false;
34
- await el.updateComplete;
35
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
36
- });
37
- it('should render more facets loader template', async () => {
38
- var _a;
39
- const el = await fixture(html `<more-facets-content></more-facets-content>`);
40
- el.facetsLoading = true;
41
- await el.updateComplete;
42
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
43
- });
44
- it('should render pagination for more facets', async () => {
45
- var _a;
46
- const searchService = new MockSearchService();
1
+ /* eslint-disable import/no-duplicates */
2
+ import { aTimeout, expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import '../../src/collection-facets/more-facets-content';
5
+ import { MockSearchService } from '../mocks/mock-search-service';
6
+ import { MockAnalyticsHandler } from '../mocks/mock-analytics-handler';
7
+ const selectedFacetsGroup = {
8
+ title: 'Media Type',
9
+ key: 'mediatype',
10
+ buckets: [
11
+ { displayText: 'audio', key: 'audio', count: 1001, state: 'none' },
12
+ { displayText: 'movies', key: 'movies', count: 901, state: 'none' },
13
+ { displayText: 'texts', key: 'texts', count: 2101, state: 'none' },
14
+ { displayText: 'data', key: 'data', count: 230, state: 'none' },
15
+ { displayText: 'web', key: 'web', count: 453, state: 'none' },
16
+ ],
17
+ };
18
+ const yearSelectedFacets = {
19
+ mediatype: {},
20
+ lending: {},
21
+ year: {
22
+ '2000': { key: '2000', count: 5, state: 'selected' },
23
+ },
24
+ subject: {},
25
+ collection: {},
26
+ creator: {},
27
+ language: {},
28
+ };
29
+ describe('More facets content', () => {
30
+ it('should render more facets template', async () => {
31
+ var _a;
32
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
33
+ el.facetsLoading = false;
34
+ await el.updateComplete;
35
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-content')).to.exist;
36
+ });
37
+ it('should render more facets loader template', async () => {
38
+ var _a;
39
+ const el = await fixture(html `<more-facets-content></more-facets-content>`);
40
+ el.facetsLoading = true;
41
+ await el.updateComplete;
42
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facets-loader')).to.exist;
43
+ });
44
+ it('should render pagination for more facets', async () => {
45
+ var _a;
46
+ const searchService = new MockSearchService();
47
47
  const el = await fixture(html `<more-facets-content
48
48
  .searchService=${searchService}
49
- ></more-facets-content>`);
50
- el.facetKey = 'year';
51
- el.query = 'more-facets'; // Produces a response with 40+ aggregations for multiple pages
52
- await el.updateComplete;
53
- await aTimeout(50); // Give it a moment to perform the (mock) search query after the initial update
54
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
55
- });
56
- it('query for more facets content using search service', async () => {
57
- var _a;
58
- const searchService = new MockSearchService();
49
+ ></more-facets-content>`);
50
+ el.facetKey = 'year';
51
+ el.query = 'more-facets'; // Produces a response with 40+ aggregations for multiple pages
52
+ await el.updateComplete;
53
+ await aTimeout(50); // Give it a moment to perform the (mock) search query after the initial update
54
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('more-facets-pagination')).to.exist;
55
+ });
56
+ it('query for more facets content using search service', async () => {
57
+ var _a;
58
+ const searchService = new MockSearchService();
59
59
  const el = await fixture(html `<more-facets-content
60
60
  .searchService=${searchService}
61
- ></more-facets-content>`);
62
- el.facetKey = 'collection';
63
- el.query = 'collection-aggregations';
64
- await el.updateComplete;
65
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('collection-aggregations');
66
- });
67
- it('queries for more facets using search service within a collection (no query)', async () => {
68
- var _a, _b;
69
- const searchService = new MockSearchService();
61
+ ></more-facets-content>`);
62
+ el.facetKey = 'collection';
63
+ el.query = 'collection-aggregations';
64
+ await el.updateComplete;
65
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('collection-aggregations');
66
+ });
67
+ it('queries for more facets using search service within a collection (no query)', async () => {
68
+ var _a, _b;
69
+ const searchService = new MockSearchService();
70
70
  const el = await fixture(html `<more-facets-content
71
71
  .searchService=${searchService}
72
- .pageSpecifierParams=${{
73
- pageType: 'collection_details',
74
- pageTarget: 'foobar',
72
+ .pageSpecifierParams=${{
73
+ pageType: 'collection_details',
74
+ pageTarget: 'foobar',
75
75
  }}
76
- ></more-facets-content>`);
77
- el.facetKey = 'subject';
78
- await el.updateComplete;
79
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.be.empty;
80
- expect((_b = searchService.searchParams) === null || _b === void 0 ? void 0 : _b.pageTarget).to.equal('foobar');
81
- });
82
- it('queries for more facets using search service within a collection (with query)', async () => {
83
- var _a, _b;
84
- const searchService = new MockSearchService();
76
+ ></more-facets-content>`);
77
+ el.facetKey = 'subject';
78
+ await el.updateComplete;
79
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.be.empty;
80
+ expect((_b = searchService.searchParams) === null || _b === void 0 ? void 0 : _b.pageTarget).to.equal('foobar');
81
+ });
82
+ it('queries for more facets using search service within a collection (with query)', async () => {
83
+ var _a, _b;
84
+ const searchService = new MockSearchService();
85
85
  const el = await fixture(html `<more-facets-content
86
86
  .searchService=${searchService}
87
- .pageSpecifierParams=${{
88
- pageType: 'collection_details',
89
- pageTarget: 'foobar',
87
+ .pageSpecifierParams=${{
88
+ pageType: 'collection_details',
89
+ pageTarget: 'foobar',
90
90
  }}
91
- ></more-facets-content>`);
92
- el.facetKey = 'subject';
93
- el.query = 'title:hello';
94
- await el.updateComplete;
95
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
96
- expect((_b = searchService.searchParams) === null || _b === void 0 ? void 0 : _b.pageTarget).to.equal('foobar');
97
- });
98
- it('filter raw selectedFacets object', async () => {
99
- var _a;
100
- const searchService = new MockSearchService();
91
+ ></more-facets-content>`);
92
+ el.facetKey = 'subject';
93
+ el.query = 'title:hello';
94
+ await el.updateComplete;
95
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
96
+ expect((_b = searchService.searchParams) === null || _b === void 0 ? void 0 : _b.pageTarget).to.equal('foobar');
97
+ });
98
+ it('filter raw selectedFacets object', async () => {
99
+ var _a;
100
+ const searchService = new MockSearchService();
101
101
  const el = await fixture(html `<more-facets-content
102
102
  .searchService=${searchService}
103
103
  .selectedFacets=${selectedFacetsGroup}
104
- ></more-facets-content>`);
105
- el.facetKey = 'collection';
106
- el.query = 'title:hello';
107
- await el.updateComplete;
108
- expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
109
- });
110
- it('combines selectedFacets and aggregationFacets and renders on modal', async () => {
111
- var _a;
112
- const searchService = new MockSearchService();
104
+ ></more-facets-content>`);
105
+ el.facetKey = 'collection';
106
+ el.query = 'title:hello';
107
+ await el.updateComplete;
108
+ expect((_a = searchService.searchParams) === null || _a === void 0 ? void 0 : _a.query).to.equal('title:hello');
109
+ });
110
+ it('combines selectedFacets and aggregationFacets and renders on modal', async () => {
111
+ var _a;
112
+ const searchService = new MockSearchService();
113
113
  const el = await fixture(html `<more-facets-content
114
114
  .facetKey=${'year'}
115
115
  .query=${'more-facets'}
116
116
  .searchService=${searchService}
117
117
  .selectedFacets=${yearSelectedFacets}
118
- ></more-facets-content>`);
119
- const facetsTemplate = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template');
120
- expect(facetsTemplate).to.exist;
121
- const { facetGroup } = facetsTemplate;
122
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('year');
123
- expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Year');
124
- // First bucket is the one that was included in the selected facets
125
- const firstBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
126
- expect(firstBucket === null || firstBucket === void 0 ? void 0 : firstBucket.key).to.equal('2000');
127
- expect(firstBucket === null || firstBucket === void 0 ? void 0 : firstBucket.count).to.equal(5);
128
- // Second bucket is the most recent year, since year facets default to descending order of year
129
- const secondBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[1];
130
- expect(secondBucket === null || secondBucket === void 0 ? void 0 : secondBucket.key).to.equal('2024');
131
- expect(secondBucket === null || secondBucket === void 0 ? void 0 : secondBucket.count).to.equal(5);
132
- });
133
- it('cancel button clicked event', async () => {
134
- var _a;
135
- const searchService = new MockSearchService();
136
- const mockAnalyticsHandler = new MockAnalyticsHandler();
118
+ ></more-facets-content>`);
119
+ const facetsTemplate = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('facets-template');
120
+ expect(facetsTemplate).to.exist;
121
+ const { facetGroup } = facetsTemplate;
122
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.key).to.equal('year');
123
+ expect(facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.title).to.equal('Year');
124
+ // First bucket is the one that was included in the selected facets
125
+ const firstBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[0];
126
+ expect(firstBucket === null || firstBucket === void 0 ? void 0 : firstBucket.key).to.equal('2000');
127
+ expect(firstBucket === null || firstBucket === void 0 ? void 0 : firstBucket.count).to.equal(5);
128
+ // Second bucket is the most recent year, since year facets default to descending order of year
129
+ const secondBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets[1];
130
+ expect(secondBucket === null || secondBucket === void 0 ? void 0 : secondBucket.key).to.equal('2024');
131
+ expect(secondBucket === null || secondBucket === void 0 ? void 0 : secondBucket.count).to.equal(5);
132
+ });
133
+ it('cancel button clicked event', async () => {
134
+ var _a;
135
+ const searchService = new MockSearchService();
136
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
137
137
  const el = await fixture(html `<more-facets-content
138
138
  .facetKey=${'collection'}
139
139
  .query=${'collection-aggregations'}
140
140
  .searchService=${searchService}
141
141
  .analyticsHandler=${mockAnalyticsHandler}
142
- ></more-facets-content>`);
143
- // select cancel button
144
- const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
145
- expect(cancelButton).to.exist;
146
- cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
147
- expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
148
- expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
149
- expect(mockAnalyticsHandler.callLabel).to.equal('collection');
150
- });
151
- it('facet apply button clicked event', async () => {
152
- var _a;
153
- const searchService = new MockSearchService();
154
- const mockAnalyticsHandler = new MockAnalyticsHandler();
142
+ ></more-facets-content>`);
143
+ // select cancel button
144
+ const cancelButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-cancel');
145
+ expect(cancelButton).to.exist;
146
+ cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.click();
147
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
148
+ expect(mockAnalyticsHandler.callAction).to.equal('closeMoreFacetsModal');
149
+ expect(mockAnalyticsHandler.callLabel).to.equal('collection');
150
+ });
151
+ it('facet apply button clicked event', async () => {
152
+ var _a;
153
+ const searchService = new MockSearchService();
154
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
155
155
  const el = await fixture(html `<more-facets-content
156
156
  .facetKey=${'collection'}
157
157
  .query=${'collection-aggregations'}
158
158
  .searchService=${searchService}
159
159
  .analyticsHandler=${mockAnalyticsHandler}
160
- ></more-facets-content>`);
161
- // select submit button
162
- const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
163
- expect(submitButton).to.exist;
164
- submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
165
- expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
166
- expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
167
- expect(mockAnalyticsHandler.callLabel).to.equal('collection');
168
- });
169
- });
160
+ ></more-facets-content>`);
161
+ // select submit button
162
+ const submitButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.footer > .btn-submit');
163
+ expect(submitButton).to.exist;
164
+ submitButton === null || submitButton === void 0 ? void 0 : submitButton.click();
165
+ expect(mockAnalyticsHandler.callCategory).to.equal('collection-browser');
166
+ expect(mockAnalyticsHandler.callAction).to.equal('applyMoreFacetsModal');
167
+ expect(mockAnalyticsHandler.callLabel).to.equal('collection');
168
+ });
169
+ });
170
170
  //# sourceMappingURL=more-facets-content.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/more-facets-pagination';
1
+ import '../../src/collection-facets/more-facets-pagination';