@internetarchive/collection-browser 3.3.1 → 3.3.2

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 (492) hide show
  1. package/package.json +1 -1
  2. package/dist/index.d.ts +0 -16
  3. package/dist/index.js.map +0 -1
  4. package/dist/src/app-root.d.ts +0 -105
  5. package/dist/src/app-root.js +0 -1076
  6. package/dist/src/app-root.js.map +0 -1
  7. package/dist/src/assets/img/icons/arrow-left.d.ts +0 -2
  8. package/dist/src/assets/img/icons/arrow-left.js +0 -10
  9. package/dist/src/assets/img/icons/arrow-left.js.map +0 -1
  10. package/dist/src/assets/img/icons/arrow-right.d.ts +0 -2
  11. package/dist/src/assets/img/icons/arrow-right.js +0 -10
  12. package/dist/src/assets/img/icons/arrow-right.js.map +0 -1
  13. package/dist/src/assets/img/icons/chevron.d.ts +0 -2
  14. package/dist/src/assets/img/icons/chevron.js +0 -4
  15. package/dist/src/assets/img/icons/chevron.js.map +0 -1
  16. package/dist/src/assets/img/icons/close-circle-dark.d.ts +0 -2
  17. package/dist/src/assets/img/icons/close-circle-dark.js +0 -5
  18. package/dist/src/assets/img/icons/close-circle-dark.js.map +0 -1
  19. package/dist/src/assets/img/icons/contract.d.ts +0 -2
  20. package/dist/src/assets/img/icons/contract.js +0 -9
  21. package/dist/src/assets/img/icons/contract.js.map +0 -1
  22. package/dist/src/assets/img/icons/empty-query.d.ts +0 -2
  23. package/dist/src/assets/img/icons/empty-query.js +0 -5
  24. package/dist/src/assets/img/icons/empty-query.js.map +0 -1
  25. package/dist/src/assets/img/icons/expand.d.ts +0 -2
  26. package/dist/src/assets/img/icons/expand.js +0 -9
  27. package/dist/src/assets/img/icons/expand.js.map +0 -1
  28. package/dist/src/assets/img/icons/eye-closed.d.ts +0 -2
  29. package/dist/src/assets/img/icons/eye-closed.js +0 -5
  30. package/dist/src/assets/img/icons/eye-closed.js.map +0 -1
  31. package/dist/src/assets/img/icons/eye.d.ts +0 -2
  32. package/dist/src/assets/img/icons/eye.js +0 -5
  33. package/dist/src/assets/img/icons/eye.js.map +0 -1
  34. package/dist/src/assets/img/icons/favorite-filled.d.ts +0 -1
  35. package/dist/src/assets/img/icons/favorite-filled.js +0 -10
  36. package/dist/src/assets/img/icons/favorite-filled.js.map +0 -1
  37. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +0 -1
  38. package/dist/src/assets/img/icons/favorite-unfilled.js +0 -9
  39. package/dist/src/assets/img/icons/favorite-unfilled.js.map +0 -1
  40. package/dist/src/assets/img/icons/filter.d.ts +0 -2
  41. package/dist/src/assets/img/icons/filter.js +0 -10
  42. package/dist/src/assets/img/icons/filter.js.map +0 -1
  43. package/dist/src/assets/img/icons/login-required.d.ts +0 -1
  44. package/dist/src/assets/img/icons/login-required.js +0 -18
  45. package/dist/src/assets/img/icons/login-required.js.map +0 -1
  46. package/dist/src/assets/img/icons/mediatype/account.d.ts +0 -1
  47. package/dist/src/assets/img/icons/mediatype/account.js +0 -14
  48. package/dist/src/assets/img/icons/mediatype/account.js.map +0 -1
  49. package/dist/src/assets/img/icons/mediatype/audio.d.ts +0 -1
  50. package/dist/src/assets/img/icons/mediatype/audio.js +0 -14
  51. package/dist/src/assets/img/icons/mediatype/audio.js.map +0 -1
  52. package/dist/src/assets/img/icons/mediatype/collection.d.ts +0 -1
  53. package/dist/src/assets/img/icons/mediatype/collection.js +0 -12
  54. package/dist/src/assets/img/icons/mediatype/collection.js.map +0 -1
  55. package/dist/src/assets/img/icons/mediatype/data.d.ts +0 -1
  56. package/dist/src/assets/img/icons/mediatype/data.js +0 -15
  57. package/dist/src/assets/img/icons/mediatype/data.js.map +0 -1
  58. package/dist/src/assets/img/icons/mediatype/etree.d.ts +0 -1
  59. package/dist/src/assets/img/icons/mediatype/etree.js +0 -14
  60. package/dist/src/assets/img/icons/mediatype/etree.js.map +0 -1
  61. package/dist/src/assets/img/icons/mediatype/film.d.ts +0 -1
  62. package/dist/src/assets/img/icons/mediatype/film.js +0 -14
  63. package/dist/src/assets/img/icons/mediatype/film.js.map +0 -1
  64. package/dist/src/assets/img/icons/mediatype/images.d.ts +0 -1
  65. package/dist/src/assets/img/icons/mediatype/images.js +0 -13
  66. package/dist/src/assets/img/icons/mediatype/images.js.map +0 -1
  67. package/dist/src/assets/img/icons/mediatype/radio.d.ts +0 -1
  68. package/dist/src/assets/img/icons/mediatype/radio.js +0 -15
  69. package/dist/src/assets/img/icons/mediatype/radio.js.map +0 -1
  70. package/dist/src/assets/img/icons/mediatype/search.d.ts +0 -1
  71. package/dist/src/assets/img/icons/mediatype/search.js +0 -14
  72. package/dist/src/assets/img/icons/mediatype/search.js.map +0 -1
  73. package/dist/src/assets/img/icons/mediatype/software.d.ts +0 -1
  74. package/dist/src/assets/img/icons/mediatype/software.js +0 -13
  75. package/dist/src/assets/img/icons/mediatype/software.js.map +0 -1
  76. package/dist/src/assets/img/icons/mediatype/texts.d.ts +0 -1
  77. package/dist/src/assets/img/icons/mediatype/texts.js +0 -13
  78. package/dist/src/assets/img/icons/mediatype/texts.js.map +0 -1
  79. package/dist/src/assets/img/icons/mediatype/tv-commercial.d.ts +0 -1
  80. package/dist/src/assets/img/icons/mediatype/tv-commercial.js +0 -12
  81. package/dist/src/assets/img/icons/mediatype/tv-commercial.js.map +0 -1
  82. package/dist/src/assets/img/icons/mediatype/tv-fact-check.d.ts +0 -1
  83. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js +0 -12
  84. package/dist/src/assets/img/icons/mediatype/tv-fact-check.js.map +0 -1
  85. package/dist/src/assets/img/icons/mediatype/tv-quote.d.ts +0 -1
  86. package/dist/src/assets/img/icons/mediatype/tv-quote.js +0 -12
  87. package/dist/src/assets/img/icons/mediatype/tv-quote.js.map +0 -1
  88. package/dist/src/assets/img/icons/mediatype/tv.d.ts +0 -1
  89. package/dist/src/assets/img/icons/mediatype/tv.js +0 -14
  90. package/dist/src/assets/img/icons/mediatype/tv.js.map +0 -1
  91. package/dist/src/assets/img/icons/mediatype/video.d.ts +0 -1
  92. package/dist/src/assets/img/icons/mediatype/video.js +0 -14
  93. package/dist/src/assets/img/icons/mediatype/video.js.map +0 -1
  94. package/dist/src/assets/img/icons/mediatype/web.d.ts +0 -1
  95. package/dist/src/assets/img/icons/mediatype/web.js +0 -13
  96. package/dist/src/assets/img/icons/mediatype/web.js.map +0 -1
  97. package/dist/src/assets/img/icons/null-result.d.ts +0 -2
  98. package/dist/src/assets/img/icons/null-result.js +0 -5
  99. package/dist/src/assets/img/icons/null-result.js.map +0 -1
  100. package/dist/src/assets/img/icons/quote.d.ts +0 -1
  101. package/dist/src/assets/img/icons/quote.js +0 -7
  102. package/dist/src/assets/img/icons/quote.js.map +0 -1
  103. package/dist/src/assets/img/icons/restricted.d.ts +0 -1
  104. package/dist/src/assets/img/icons/restricted.js +0 -13
  105. package/dist/src/assets/img/icons/restricted.js.map +0 -1
  106. package/dist/src/assets/img/icons/reviews.d.ts +0 -1
  107. package/dist/src/assets/img/icons/reviews.js +0 -11
  108. package/dist/src/assets/img/icons/reviews.js.map +0 -1
  109. package/dist/src/assets/img/icons/upload.d.ts +0 -1
  110. package/dist/src/assets/img/icons/upload.js +0 -12
  111. package/dist/src/assets/img/icons/upload.js.map +0 -1
  112. package/dist/src/assets/img/icons/views.d.ts +0 -1
  113. package/dist/src/assets/img/icons/views.js +0 -11
  114. package/dist/src/assets/img/icons/views.js.map +0 -1
  115. package/dist/src/circular-activity-indicator.d.ts +0 -5
  116. package/dist/src/circular-activity-indicator.js +0 -66
  117. package/dist/src/circular-activity-indicator.js.map +0 -1
  118. package/dist/src/collection-browser.d.ts +0 -684
  119. package/dist/src/collection-browser.js +0 -2567
  120. package/dist/src/collection-browser.js.map +0 -1
  121. package/dist/src/collection-facets/facet-row.d.ts +0 -30
  122. package/dist/src/collection-facets/facet-row.js +0 -265
  123. package/dist/src/collection-facets/facet-row.js.map +0 -1
  124. package/dist/src/collection-facets/facet-tombstone-row.d.ts +0 -5
  125. package/dist/src/collection-facets/facet-tombstone-row.js +0 -43
  126. package/dist/src/collection-facets/facet-tombstone-row.js.map +0 -1
  127. package/dist/src/collection-facets/facets-template.d.ts +0 -13
  128. package/dist/src/collection-facets/facets-template.js +0 -68
  129. package/dist/src/collection-facets/facets-template.js.map +0 -1
  130. package/dist/src/collection-facets/models.d.ts +0 -9
  131. package/dist/src/collection-facets/models.js +0 -10
  132. package/dist/src/collection-facets/models.js.map +0 -1
  133. package/dist/src/collection-facets/more-facets-content.d.ts +0 -109
  134. package/dist/src/collection-facets/more-facets-content.js +0 -547
  135. package/dist/src/collection-facets/more-facets-content.js.map +0 -1
  136. package/dist/src/collection-facets/more-facets-pagination.d.ts +0 -36
  137. package/dist/src/collection-facets/more-facets-pagination.js +0 -264
  138. package/dist/src/collection-facets/more-facets-pagination.js.map +0 -1
  139. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +0 -10
  140. package/dist/src/collection-facets/smart-facets/dedupe.js +0 -35
  141. package/dist/src/collection-facets/smart-facets/dedupe.js.map +0 -1
  142. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.d.ts +0 -5
  143. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js +0 -24
  144. package/dist/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.js.map +0 -1
  145. package/dist/src/collection-facets/smart-facets/heuristics/index.d.ts +0 -3
  146. package/dist/src/collection-facets/smart-facets/heuristics/index.js +0 -4
  147. package/dist/src/collection-facets/smart-facets/heuristics/index.js.map +0 -1
  148. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.d.ts +0 -4
  149. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js +0 -14
  150. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.js.map +0 -1
  151. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.d.ts +0 -6
  152. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js +0 -68
  153. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.js.map +0 -1
  154. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.d.ts +0 -9
  155. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js +0 -69
  156. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.js.map +0 -1
  157. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.d.ts +0 -21
  158. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +0 -76
  159. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +0 -1
  160. package/dist/src/collection-facets/smart-facets/models.d.ts +0 -30
  161. package/dist/src/collection-facets/smart-facets/models.js +0 -2
  162. package/dist/src/collection-facets/smart-facets/models.js.map +0 -1
  163. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +0 -54
  164. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +0 -383
  165. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +0 -1
  166. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +0 -11
  167. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +0 -133
  168. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +0 -1
  169. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +0 -28
  170. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +0 -172
  171. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +0 -1
  172. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +0 -2
  173. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +0 -13
  174. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js.map +0 -1
  175. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +0 -5
  176. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +0 -18
  177. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +0 -1
  178. package/dist/src/collection-facets/toggle-switch.d.ts +0 -41
  179. package/dist/src/collection-facets/toggle-switch.js +0 -174
  180. package/dist/src/collection-facets/toggle-switch.js.map +0 -1
  181. package/dist/src/collection-facets.d.ts +0 -113
  182. package/dist/src/collection-facets.js +0 -873
  183. package/dist/src/collection-facets.js.map +0 -1
  184. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +0 -261
  185. package/dist/src/data-source/collection-browser-data-source-interface.js +0 -2
  186. package/dist/src/data-source/collection-browser-data-source-interface.js.map +0 -1
  187. package/dist/src/data-source/collection-browser-data-source.d.ts +0 -400
  188. package/dist/src/data-source/collection-browser-data-source.js +0 -1103
  189. package/dist/src/data-source/collection-browser-data-source.js.map +0 -1
  190. package/dist/src/data-source/collection-browser-query-state.d.ts +0 -49
  191. package/dist/src/data-source/collection-browser-query-state.js +0 -2
  192. package/dist/src/data-source/collection-browser-query-state.js.map +0 -1
  193. package/dist/src/data-source/models.d.ts +0 -32
  194. package/dist/src/data-source/models.js +0 -9
  195. package/dist/src/data-source/models.js.map +0 -1
  196. package/dist/src/empty-placeholder.d.ts +0 -23
  197. package/dist/src/empty-placeholder.js +0 -165
  198. package/dist/src/empty-placeholder.js.map +0 -1
  199. package/dist/src/expanded-date-picker.d.ts +0 -50
  200. package/dist/src/expanded-date-picker.js +0 -182
  201. package/dist/src/expanded-date-picker.js.map +0 -1
  202. package/dist/src/language-code-handler/language-code-handler.d.ts +0 -37
  203. package/dist/src/language-code-handler/language-code-handler.js +0 -27
  204. package/dist/src/language-code-handler/language-code-handler.js.map +0 -1
  205. package/dist/src/language-code-handler/language-code-mapping.d.ts +0 -1
  206. package/dist/src/language-code-handler/language-code-mapping.js +0 -563
  207. package/dist/src/language-code-handler/language-code-mapping.js.map +0 -1
  208. package/dist/src/manage/manage-bar.d.ts +0 -58
  209. package/dist/src/manage/manage-bar.js +0 -237
  210. package/dist/src/manage/manage-bar.js.map +0 -1
  211. package/dist/src/manage/remove-items-modal-content.d.ts +0 -9
  212. package/dist/src/manage/remove-items-modal-content.js +0 -104
  213. package/dist/src/manage/remove-items-modal-content.js.map +0 -1
  214. package/dist/src/mediatype/mediatype-config.d.ts +0 -11
  215. package/dist/src/mediatype/mediatype-config.js +0 -116
  216. package/dist/src/mediatype/mediatype-config.js.map +0 -1
  217. package/dist/src/models.d.ts +0 -302
  218. package/dist/src/models.js +0 -511
  219. package/dist/src/models.js.map +0 -1
  220. package/dist/src/restoration-state-handler.d.ts +0 -75
  221. package/dist/src/restoration-state-handler.js +0 -403
  222. package/dist/src/restoration-state-handler.js.map +0 -1
  223. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +0 -6
  224. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +0 -60
  225. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +0 -1
  226. package/dist/src/sort-filter-bar/alpha-bar.d.ts +0 -21
  227. package/dist/src/sort-filter-bar/alpha-bar.js +0 -241
  228. package/dist/src/sort-filter-bar/alpha-bar.js.map +0 -1
  229. package/dist/src/sort-filter-bar/img/compact.d.ts +0 -1
  230. package/dist/src/sort-filter-bar/img/compact.js +0 -5
  231. package/dist/src/sort-filter-bar/img/compact.js.map +0 -1
  232. package/dist/src/sort-filter-bar/img/list.d.ts +0 -1
  233. package/dist/src/sort-filter-bar/img/list.js +0 -5
  234. package/dist/src/sort-filter-bar/img/list.js.map +0 -1
  235. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +0 -1
  236. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +0 -15
  237. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +0 -1
  238. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +0 -1
  239. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +0 -17
  240. package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +0 -1
  241. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +0 -1
  242. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +0 -17
  243. package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +0 -1
  244. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +0 -1
  245. package/dist/src/sort-filter-bar/img/sort-triangle.js +0 -5
  246. package/dist/src/sort-filter-bar/img/sort-triangle.js.map +0 -1
  247. package/dist/src/sort-filter-bar/img/tile.d.ts +0 -1
  248. package/dist/src/sort-filter-bar/img/tile.js +0 -5
  249. package/dist/src/sort-filter-bar/img/tile.js.map +0 -1
  250. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +0 -278
  251. package/dist/src/sort-filter-bar/sort-filter-bar.js +0 -1161
  252. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +0 -1
  253. package/dist/src/styles/ia-button.d.ts +0 -2
  254. package/dist/src/styles/ia-button.js +0 -134
  255. package/dist/src/styles/ia-button.js.map +0 -1
  256. package/dist/src/styles/item-image-styles.d.ts +0 -8
  257. package/dist/src/styles/item-image-styles.js +0 -123
  258. package/dist/src/styles/item-image-styles.js.map +0 -1
  259. package/dist/src/styles/sr-only.d.ts +0 -1
  260. package/dist/src/styles/sr-only.js +0 -18
  261. package/dist/src/styles/sr-only.js.map +0 -1
  262. package/dist/src/tiles/base-tile-component.d.ts +0 -27
  263. package/dist/src/tiles/base-tile-component.js +0 -82
  264. package/dist/src/tiles/base-tile-component.js.map +0 -1
  265. package/dist/src/tiles/collection-browser-loading-tile.d.ts +0 -5
  266. package/dist/src/tiles/collection-browser-loading-tile.js +0 -29
  267. package/dist/src/tiles/collection-browser-loading-tile.js.map +0 -1
  268. package/dist/src/tiles/grid/account-tile.d.ts +0 -18
  269. package/dist/src/tiles/grid/account-tile.js +0 -111
  270. package/dist/src/tiles/grid/account-tile.js.map +0 -1
  271. package/dist/src/tiles/grid/collection-tile.d.ts +0 -15
  272. package/dist/src/tiles/grid/collection-tile.js +0 -160
  273. package/dist/src/tiles/grid/collection-tile.js.map +0 -1
  274. package/dist/src/tiles/grid/item-tile.d.ts +0 -41
  275. package/dist/src/tiles/grid/item-tile.js +0 -321
  276. package/dist/src/tiles/grid/item-tile.js.map +0 -1
  277. package/dist/src/tiles/grid/search-tile.d.ts +0 -10
  278. package/dist/src/tiles/grid/search-tile.js +0 -95
  279. package/dist/src/tiles/grid/search-tile.js.map +0 -1
  280. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +0 -1
  281. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +0 -128
  282. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +0 -1
  283. package/dist/src/tiles/grid/tile-stats.d.ts +0 -58
  284. package/dist/src/tiles/grid/tile-stats.js +0 -204
  285. package/dist/src/tiles/grid/tile-stats.js.map +0 -1
  286. package/dist/src/tiles/hover/hover-pane-controller.d.ts +0 -220
  287. package/dist/src/tiles/hover/hover-pane-controller.js +0 -378
  288. package/dist/src/tiles/hover/hover-pane-controller.js.map +0 -1
  289. package/dist/src/tiles/hover/tile-hover-pane.d.ts +0 -19
  290. package/dist/src/tiles/hover/tile-hover-pane.js +0 -182
  291. package/dist/src/tiles/hover/tile-hover-pane.js.map +0 -1
  292. package/dist/src/tiles/image-block.d.ts +0 -19
  293. package/dist/src/tiles/image-block.js +0 -175
  294. package/dist/src/tiles/image-block.js.map +0 -1
  295. package/dist/src/tiles/item-image.d.ts +0 -40
  296. package/dist/src/tiles/item-image.js +0 -191
  297. package/dist/src/tiles/item-image.js.map +0 -1
  298. package/dist/src/tiles/list/tile-list-compact-header.d.ts +0 -6
  299. package/dist/src/tiles/list/tile-list-compact-header.js +0 -85
  300. package/dist/src/tiles/list/tile-list-compact-header.js.map +0 -1
  301. package/dist/src/tiles/list/tile-list-compact.d.ts +0 -19
  302. package/dist/src/tiles/list/tile-list-compact.js +0 -223
  303. package/dist/src/tiles/list/tile-list-compact.js.map +0 -1
  304. package/dist/src/tiles/list/tile-list.d.ts +0 -54
  305. package/dist/src/tiles/list/tile-list.js +0 -621
  306. package/dist/src/tiles/list/tile-list.js.map +0 -1
  307. package/dist/src/tiles/models.d.ts +0 -1
  308. package/dist/src/tiles/models.js +0 -2
  309. package/dist/src/tiles/models.js.map +0 -1
  310. package/dist/src/tiles/overlay/icon-overlay.d.ts +0 -8
  311. package/dist/src/tiles/overlay/icon-overlay.js +0 -55
  312. package/dist/src/tiles/overlay/icon-overlay.js.map +0 -1
  313. package/dist/src/tiles/overlay/text-overlay.d.ts +0 -9
  314. package/dist/src/tiles/overlay/text-overlay.js +0 -74
  315. package/dist/src/tiles/overlay/text-overlay.js.map +0 -1
  316. package/dist/src/tiles/review-block.d.ts +0 -12
  317. package/dist/src/tiles/review-block.js +0 -134
  318. package/dist/src/tiles/review-block.js.map +0 -1
  319. package/dist/src/tiles/text-snippet-block.d.ts +0 -27
  320. package/dist/src/tiles/text-snippet-block.js +0 -132
  321. package/dist/src/tiles/text-snippet-block.js.map +0 -1
  322. package/dist/src/tiles/tile-dispatcher.d.ts +0 -68
  323. package/dist/src/tiles/tile-dispatcher.js +0 -445
  324. package/dist/src/tiles/tile-dispatcher.js.map +0 -1
  325. package/dist/src/tiles/tile-display-value-provider.d.ts +0 -47
  326. package/dist/src/tiles/tile-display-value-provider.js +0 -95
  327. package/dist/src/tiles/tile-display-value-provider.js.map +0 -1
  328. package/dist/src/tiles/tile-mediatype-icon.d.ts +0 -27
  329. package/dist/src/tiles/tile-mediatype-icon.js +0 -130
  330. package/dist/src/tiles/tile-mediatype-icon.js.map +0 -1
  331. package/dist/src/utils/analytics-events.d.ts +0 -28
  332. package/dist/src/utils/analytics-events.js +0 -31
  333. package/dist/src/utils/analytics-events.js.map +0 -1
  334. package/dist/src/utils/array-equals.d.ts +0 -4
  335. package/dist/src/utils/array-equals.js +0 -11
  336. package/dist/src/utils/array-equals.js.map +0 -1
  337. package/dist/src/utils/collapse-repeated-quotes.d.ts +0 -11
  338. package/dist/src/utils/collapse-repeated-quotes.js +0 -14
  339. package/dist/src/utils/collapse-repeated-quotes.js.map +0 -1
  340. package/dist/src/utils/facet-utils.d.ts +0 -83
  341. package/dist/src/utils/facet-utils.js +0 -152
  342. package/dist/src/utils/facet-utils.js.map +0 -1
  343. package/dist/src/utils/format-count.d.ts +0 -7
  344. package/dist/src/utils/format-count.js +0 -76
  345. package/dist/src/utils/format-count.js.map +0 -1
  346. package/dist/src/utils/format-date.d.ts +0 -16
  347. package/dist/src/utils/format-date.js +0 -33
  348. package/dist/src/utils/format-date.js.map +0 -1
  349. package/dist/src/utils/format-unit-size.d.ts +0 -2
  350. package/dist/src/utils/format-unit-size.js +0 -34
  351. package/dist/src/utils/format-unit-size.js.map +0 -1
  352. package/dist/src/utils/local-date-from-utc.d.ts +0 -9
  353. package/dist/src/utils/local-date-from-utc.js +0 -16
  354. package/dist/src/utils/local-date-from-utc.js.map +0 -1
  355. package/dist/src/utils/log.d.ts +0 -7
  356. package/dist/src/utils/log.js +0 -14
  357. package/dist/src/utils/log.js.map +0 -1
  358. package/dist/src/utils/resolve-mediatype.d.ts +0 -8
  359. package/dist/src/utils/resolve-mediatype.js +0 -24
  360. package/dist/src/utils/resolve-mediatype.js.map +0 -1
  361. package/dist/src/utils/sha1.d.ts +0 -2
  362. package/dist/src/utils/sha1.js +0 -9
  363. package/dist/src/utils/sha1.js.map +0 -1
  364. package/dist/test/collection-browser.test.d.ts +0 -1
  365. package/dist/test/collection-browser.test.js +0 -1711
  366. package/dist/test/collection-browser.test.js.map +0 -1
  367. package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
  368. package/dist/test/collection-facets/facet-row.test.js +0 -274
  369. package/dist/test/collection-facets/facet-row.test.js.map +0 -1
  370. package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
  371. package/dist/test/collection-facets/facets-template.test.js +0 -101
  372. package/dist/test/collection-facets/facets-template.test.js.map +0 -1
  373. package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
  374. package/dist/test/collection-facets/more-facets-content.test.js +0 -169
  375. package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
  376. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +0 -1
  377. package/dist/test/collection-facets/more-facets-pagination.test.js +0 -132
  378. package/dist/test/collection-facets/more-facets-pagination.test.js.map +0 -1
  379. package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
  380. package/dist/test/collection-facets/toggle-switch.test.js +0 -96
  381. package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
  382. package/dist/test/collection-facets.test.d.ts +0 -2
  383. package/dist/test/collection-facets.test.js +0 -745
  384. package/dist/test/collection-facets.test.js.map +0 -1
  385. package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
  386. package/dist/test/data-source/collection-browser-data-source.test.js +0 -102
  387. package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
  388. package/dist/test/empty-placeholder.test.d.ts +0 -1
  389. package/dist/test/empty-placeholder.test.js +0 -63
  390. package/dist/test/empty-placeholder.test.js.map +0 -1
  391. package/dist/test/expanded-date-picker.test.d.ts +0 -1
  392. package/dist/test/expanded-date-picker.test.js +0 -130
  393. package/dist/test/expanded-date-picker.test.js.map +0 -1
  394. package/dist/test/icon-overlay.test.d.ts +0 -1
  395. package/dist/test/icon-overlay.test.js +0 -30
  396. package/dist/test/icon-overlay.test.js.map +0 -1
  397. package/dist/test/image-block.test.d.ts +0 -1
  398. package/dist/test/image-block.test.js +0 -218
  399. package/dist/test/image-block.test.js.map +0 -1
  400. package/dist/test/item-image.test.d.ts +0 -1
  401. package/dist/test/item-image.test.js +0 -196
  402. package/dist/test/item-image.test.js.map +0 -1
  403. package/dist/test/manage/manage-bar.test.d.ts +0 -2
  404. package/dist/test/manage/manage-bar.test.js +0 -106
  405. package/dist/test/manage/manage-bar.test.js.map +0 -1
  406. package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
  407. package/dist/test/manage/remove-items-modal-content.test.js +0 -65
  408. package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
  409. package/dist/test/mediatype-config.test.d.ts +0 -1
  410. package/dist/test/mediatype-config.test.js +0 -11
  411. package/dist/test/mediatype-config.test.js.map +0 -1
  412. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
  413. package/dist/test/mocks/mock-analytics-handler.js +0 -16
  414. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
  415. package/dist/test/mocks/mock-search-responses.d.ts +0 -31
  416. package/dist/test/mocks/mock-search-responses.js +0 -1241
  417. package/dist/test/mocks/mock-search-responses.js.map +0 -1
  418. package/dist/test/mocks/mock-search-service.d.ts +0 -16
  419. package/dist/test/mocks/mock-search-service.js +0 -65
  420. package/dist/test/mocks/mock-search-service.js.map +0 -1
  421. package/dist/test/restoration-state-handler.test.d.ts +0 -1
  422. package/dist/test/restoration-state-handler.test.js +0 -375
  423. package/dist/test/restoration-state-handler.test.js.map +0 -1
  424. package/dist/test/review-block.test.d.ts +0 -1
  425. package/dist/test/review-block.test.js +0 -48
  426. package/dist/test/review-block.test.js.map +0 -1
  427. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
  428. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -13
  429. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
  430. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
  431. package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -74
  432. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
  433. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
  434. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -609
  435. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
  436. package/dist/test/text-overlay.test.d.ts +0 -1
  437. package/dist/test/text-overlay.test.js +0 -42
  438. package/dist/test/text-overlay.test.js.map +0 -1
  439. package/dist/test/text-snippet-block.test.d.ts +0 -1
  440. package/dist/test/text-snippet-block.test.js +0 -63
  441. package/dist/test/text-snippet-block.test.js.map +0 -1
  442. package/dist/test/tile-stats.test.d.ts +0 -1
  443. package/dist/test/tile-stats.test.js +0 -128
  444. package/dist/test/tile-stats.test.js.map +0 -1
  445. package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
  446. package/dist/test/tiles/grid/account-tile.test.js +0 -96
  447. package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
  448. package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
  449. package/dist/test/tiles/grid/collection-tile.test.js +0 -96
  450. package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
  451. package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
  452. package/dist/test/tiles/grid/item-tile.test.js +0 -427
  453. package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
  454. package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
  455. package/dist/test/tiles/grid/search-tile.test.js +0 -66
  456. package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
  457. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
  458. package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -282
  459. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
  460. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
  461. package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -57
  462. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
  463. package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
  464. package/dist/test/tiles/list/tile-list-compact.test.js +0 -251
  465. package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
  466. package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
  467. package/dist/test/tiles/list/tile-list.test.js +0 -469
  468. package/dist/test/tiles/list/tile-list.test.js.map +0 -1
  469. package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
  470. package/dist/test/tiles/tile-dispatcher.test.js +0 -153
  471. package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
  472. package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
  473. package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
  474. package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
  475. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
  476. package/dist/test/tiles/tile-mediatype-icon.test.js +0 -145
  477. package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
  478. package/dist/test/utils/array-equals.test.d.ts +0 -1
  479. package/dist/test/utils/array-equals.test.js +0 -27
  480. package/dist/test/utils/array-equals.test.js.map +0 -1
  481. package/dist/test/utils/format-count.test.d.ts +0 -1
  482. package/dist/test/utils/format-count.test.js +0 -24
  483. package/dist/test/utils/format-count.test.js.map +0 -1
  484. package/dist/test/utils/format-date.test.d.ts +0 -1
  485. package/dist/test/utils/format-date.test.js +0 -61
  486. package/dist/test/utils/format-date.test.js.map +0 -1
  487. package/dist/test/utils/format-unit-size.test.d.ts +0 -1
  488. package/dist/test/utils/format-unit-size.test.js +0 -18
  489. package/dist/test/utils/format-unit-size.test.js.map +0 -1
  490. package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
  491. package/dist/test/utils/local-date-from-utc.test.js +0 -27
  492. package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
@@ -1,873 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing, } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import { map } from 'lit/directives/map.js';
5
- import { ref } from 'lit/directives/ref.js';
6
- import { msg } from '@lit/localize';
7
- import { classMap } from 'lit/directives/class-map.js';
8
- import '@internetarchive/histogram-date-range';
9
- import '@internetarchive/feature-feedback';
10
- import { ModalConfig, } from '@internetarchive/modal-manager';
11
- import chevronIcon from './assets/img/icons/chevron';
12
- import expandIcon from './assets/img/icons/expand';
13
- import { defaultFacetDisplayOrder, facetTitles, lendingFacetDisplayNames, lendingFacetKeysVisibility, suppressedCollections, defaultFacetSort, } from './models';
14
- import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
15
- import { srOnlyStyle } from './styles/sr-only';
16
- import { ExpandedDatePicker } from './expanded-date-picker';
17
- import { sortBucketsBySelectionState, updateSelectedFacetBucket, } from './utils/facet-utils';
18
- import '@internetarchive/histogram-date-range';
19
- import './collection-facets/more-facets-content';
20
- import './collection-facets/facets-template';
21
- import './collection-facets/facet-tombstone-row';
22
- import './expanded-date-picker';
23
- let CollectionFacets = class CollectionFacets extends LitElement {
24
- constructor() {
25
- super(...arguments);
26
- this.moreLinksVisible = true;
27
- this.facetsLoading = false;
28
- this.histogramAggregationLoading = false;
29
- this.collapsableFacets = false;
30
- this.showHistogramDatePicker = false;
31
- this.allowExpandingDatePicker = false;
32
- this.suppressMediatypeFacets = false;
33
- this.parentCollections = [];
34
- this.collectionPagePath = '/details/';
35
- this.isManageView = false;
36
- this.isTvSearch = false;
37
- this.facetDisplayOrder = defaultFacetDisplayOrder;
38
- this.openFacets = {
39
- subject: false,
40
- lending: false,
41
- mediatype: false,
42
- language: false,
43
- creator: false,
44
- collection: false,
45
- year: false,
46
- program: false,
47
- person: false,
48
- sponsor: false,
49
- };
50
- /**
51
- * Maximum # of facet buckets to render per facet group
52
- */
53
- this.allowedFacetCount = 6;
54
- this.handleExpandedDatePickerClosed = () => {
55
- var _a;
56
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('expanded-date-picker');
57
- };
58
- /**
59
- * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
60
- * input event.
61
- *
62
- * Arrow function to ensure `this` is always bound to the current component.
63
- */
64
- this.histogramDateRangeUpdated = (e) => {
65
- const { minDate, maxDate } = e.detail;
66
- const event = new CustomEvent('histogramDateRangeUpdated', {
67
- detail: { minDate, maxDate },
68
- });
69
- this.dispatchEvent(event);
70
- };
71
- }
72
- render() {
73
- const containerClasses = classMap({
74
- loading: this.facetsLoading,
75
- managing: this.isManageView,
76
- });
77
- // Added data-testid for Playwright testing
78
- // Using facet-group class and aria-labels is not ideal for Playwright locator
79
- const datePickerLabelId = 'date-picker-label';
80
- return html `
81
- <div id="container" class=${containerClasses}>
82
- ${this.showHistogramDatePicker &&
83
- (this.histogramAggregation || this.histogramAggregationLoading)
84
- ? html `
85
- <section
86
- class="facet-group"
87
- aria-labelledby=${datePickerLabelId}
88
- data-testid="facet-group-header-label-date-picker"
89
- >
90
- <h3 id=${datePickerLabelId}>
91
- Year Published <span class="sr-only">range filter</span>
92
- ${this.expandDatePickerBtnTemplate}
93
- </h3>
94
- ${this.histogramTemplate}
95
- </section>
96
- `
97
- : nothing}
98
- ${this.collectionPartOfTemplate}
99
- ${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
100
- </div>
101
- `;
102
- }
103
- get collectionPartOfTemplate() {
104
- var _a;
105
- // We only display the "Part Of" section on collection pages
106
- if (!((_a = this.parentCollections) === null || _a === void 0 ? void 0 : _a.length))
107
- return nothing;
108
- // Added data-testid for Playwright testing
109
- // Using className and aria-labels is not ideal for Playwright locator
110
- const headingId = 'partof-heading';
111
- return html `
112
- <section
113
- class="facet-group partof-collections"
114
- aria-labelledby=${headingId}
115
- data-testid="facet-group-partof-collections"
116
- >
117
- <div class="facet-group-header">
118
- <h3 id=${headingId}>${msg('Part Of')}</h3>
119
- </div>
120
- <ul>
121
- ${map(this.parentCollections, collxn => {
122
- var _a, _b;
123
- const collectionURL = `${this.baseNavigationUrl}${this.collectionPagePath}${collxn}`;
124
- return html ` <li>
125
- <a
126
- href=${collectionURL}
127
- data-id=${collxn}
128
- @click=${this.partOfCollectionClicked}
129
- >
130
- ${(_b = (_a = this.collectionTitles) === null || _a === void 0 ? void 0 : _a.get(collxn)) !== null && _b !== void 0 ? _b : collxn}
131
- </a>
132
- </li>`;
133
- })}
134
- </ul>
135
- </section>
136
- `;
137
- }
138
- partOfCollectionClicked(e) {
139
- var _a;
140
- (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
141
- category: analyticsCategories.default,
142
- action: analyticsActions.partOfCollectionClicked,
143
- label: e.target.dataset.id,
144
- });
145
- }
146
- /**
147
- * Properties to pass into the date-picker histogram component
148
- */
149
- get histogramProps() {
150
- var _a, _b, _c, _d, _e, _f;
151
- const { histogramAggregation: aggregation } = this;
152
- if (!aggregation)
153
- return undefined;
154
- // Normalize some properties from the raw aggregation
155
- const firstYear = (_a = aggregation.first_bucket_year) !== null && _a !== void 0 ? _a : aggregation.first_bucket_key;
156
- const lastYear = (_b = aggregation.last_bucket_year) !== null && _b !== void 0 ? _b : aggregation.last_bucket_key;
157
- if (firstYear == null || lastYear == null)
158
- return undefined; // We at least need a start/end year defined
159
- const firstMonth = (_c = aggregation.first_bucket_month) !== null && _c !== void 0 ? _c : 1;
160
- const lastMonth = (_d = aggregation.last_bucket_month) !== null && _d !== void 0 ? _d : 12;
161
- const yearInterval = (_e = aggregation.interval) !== null && _e !== void 0 ? _e : 1;
162
- const monthInterval = (_f = aggregation.interval_in_months) !== null && _f !== void 0 ? _f : 12;
163
- const zeroPadMonth = (month) => month.toString().padStart(2, '0');
164
- // The date picker is configured differently for TV search, allowing month-level resolution
165
- if (this.isTvSearch) {
166
- // Whether the bucket interval is less than a year
167
- // (i.e., requires individual months to be handled & labeled)
168
- const mustHandleMonths = monthInterval < 12;
169
- return {
170
- buckets: aggregation.buckets,
171
- dateFormat: 'YYYY-MM',
172
- tooltipDateFormat: mustHandleMonths ? 'MMM YYYY' : 'YYYY',
173
- tooltipLabel: 'broadcast',
174
- binSnapping: (mustHandleMonths
175
- ? 'month'
176
- : 'year'),
177
- barScaling: 'linear',
178
- minDate: `${firstYear}-${zeroPadMonth(firstMonth)}`,
179
- maxDate: `${lastYear}-${zeroPadMonth(lastMonth + monthInterval - 1)}`,
180
- };
181
- }
182
- // All other search types use the same configuration
183
- return {
184
- buckets: aggregation.buckets,
185
- dateFormat: 'YYYY',
186
- tooltipDateFormat: 'YYYY',
187
- tooltipLabel: 'item',
188
- binSnapping: 'year',
189
- barScaling: 'logarithmic',
190
- minDate: `${firstYear}`,
191
- maxDate: `${lastYear + yearInterval - 1}`,
192
- };
193
- }
194
- /**
195
- * Opens a modal dialog containing an enlarged version of the date picker.
196
- */
197
- showDatePickerModal() {
198
- var _a, _b, _c;
199
- const { histogramProps } = this;
200
- if (!histogramProps)
201
- return;
202
- const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
203
- // Because the modal manager does not clear its DOM content after being closed,
204
- // it may try to render the exact same date picker template when it is reopened.
205
- // And because it isn't actually a descendent of this collection-facets component,
206
- // changes to the template defined here may not trigger a reactive update to the date
207
- // picker, resulting in it displaying a stale date range.
208
- // This ref callback ensures that every time the date picker modal is opened, it will
209
- // always propagate the most recent date range into the date picker regardless of
210
- // whether Lit thinks the update is necessary.
211
- const expandedDatePickerChanged = (elmt) => {
212
- if (elmt && elmt instanceof ExpandedDatePicker) {
213
- const expandedDatePicker = elmt;
214
- expandedDatePicker.minSelectedDate = this.minSelectedDate;
215
- expandedDatePicker.maxSelectedDate = this.maxSelectedDate;
216
- }
217
- };
218
- const customModalContent = html `
219
- <expanded-date-picker
220
- ${ref(expandedDatePickerChanged)}
221
- .minDate=${minDate}
222
- .maxDate=${maxDate}
223
- .minSelectedDate=${this.minSelectedDate}
224
- .maxSelectedDate=${this.maxSelectedDate}
225
- .customDateFormat=${dateFormat}
226
- .customTooltipDateFormat=${tooltipDateFormat}
227
- .customTooltipLabel=${tooltipLabel}
228
- .binSnapping=${binSnapping}
229
- .barScaling=${barScaling}
230
- .buckets=${buckets}
231
- .modalManager=${this.modalManager}
232
- .analyticsHandler=${this.analyticsHandler}
233
- @histogramDateRangeApplied=${this.histogramDateRangeUpdated}
234
- @modalClosed=${this.handleExpandedDatePickerClosed}
235
- ></expanded-date-picker>
236
- `;
237
- const config = new ModalConfig({
238
- bodyColor: '#fff',
239
- headerColor: '#194880',
240
- showHeaderLogo: false,
241
- closeOnBackdropClick: true, // TODO: want to fire analytics
242
- title: html `${msg('Select a date range')}`,
243
- });
244
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('expanded-date-picker');
245
- (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
246
- config,
247
- customModalContent,
248
- userClosedModalCallback: this.handleExpandedDatePickerClosed,
249
- });
250
- (_c = this.analyticsHandler) === null || _c === void 0 ? void 0 : _c.sendEvent({
251
- category: analyticsCategories.default,
252
- action: analyticsActions.histogramExpanded,
253
- label: window.location.href,
254
- });
255
- }
256
- updated(changed) {
257
- if (changed.has('selectedFacets')) {
258
- this.dispatchFacetsChangedEvent();
259
- }
260
- }
261
- // TODO: want to fire analytics?
262
- dispatchFacetsChangedEvent() {
263
- const event = new CustomEvent('facetsChanged', {
264
- detail: this.selectedFacets,
265
- });
266
- this.dispatchEvent(event);
267
- }
268
- /**
269
- * Template for the "Expand" button to show the date picker modal, or
270
- * `nothing` if that button should currently not be shown.
271
- */
272
- get expandDatePickerBtnTemplate() {
273
- return this.allowExpandingDatePicker && !this.facetsLoading
274
- ? html `<button
275
- class="expand-date-picker-btn"
276
- aria-hidden="true"
277
- tabindex="-1"
278
- @click=${this.showDatePickerModal}
279
- >
280
- ${expandIcon}
281
- </button>`
282
- : nothing;
283
- }
284
- get histogramTemplate() {
285
- var _a, _b;
286
- if (this.histogramAggregationLoading) {
287
- return html ` <div class="histogram-loading-indicator">&hellip;</div> `;
288
- }
289
- const { histogramProps } = this;
290
- if (!histogramProps)
291
- return nothing;
292
- const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
293
- return html `
294
- <histogram-date-range
295
- class=${this.isTvSearch ? 'wide-inputs' : ''}
296
- .minDate=${minDate}
297
- .maxDate=${maxDate}
298
- .minSelectedDate=${(_a = this.minSelectedDate) !== null && _a !== void 0 ? _a : minDate}
299
- .maxSelectedDate=${(_b = this.maxSelectedDate) !== null && _b !== void 0 ? _b : maxDate}
300
- .updateDelay=${100}
301
- .dateFormat=${dateFormat}
302
- .tooltipDateFormat=${tooltipDateFormat}
303
- .tooltipLabel=${tooltipLabel}
304
- .binSnapping=${binSnapping}
305
- .barScaling=${barScaling}
306
- .bins=${buckets}
307
- missingDataMessage="..."
308
- .width=${this.collapsableFacets && this.contentWidth
309
- ? this.contentWidth
310
- : 180}
311
- @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
312
- ></histogram-date-range>
313
- `;
314
- }
315
- /**
316
- * Combines the selected facets with the aggregations to create a single list of facets
317
- */
318
- get mergedFacets() {
319
- const facetGroups = [];
320
- this.facetDisplayOrder.forEach(facetKey => {
321
- var _a, _b;
322
- if (facetKey === 'mediatype' && this.suppressMediatypeFacets)
323
- return;
324
- const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === facetKey);
325
- const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === facetKey);
326
- // if the user selected a facet, but it's not in the aggregation, we add it as-is
327
- if (selectedFacetGroup && !aggregateFacetGroup) {
328
- facetGroups.push(selectedFacetGroup);
329
- return;
330
- }
331
- // if we don't have an aggregate facet group, don't add this to the list
332
- if (!aggregateFacetGroup)
333
- return;
334
- // start with either the selected group if we have one, or the aggregate group
335
- const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
336
- // attach the counts to the selected buckets
337
- let bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
338
- const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
339
- return selectedBucket
340
- ? {
341
- ...bucket,
342
- count: selectedBucket.count,
343
- }
344
- : bucket;
345
- })) !== null && _a !== void 0 ? _a : [];
346
- // append any additional buckets that were not selected
347
- aggregateFacetGroup.buckets.forEach(bucket => {
348
- const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
349
- if (existingBucket)
350
- return;
351
- bucketsWithCount.push(bucket);
352
- });
353
- /**
354
- * render limited facet items on page facet area
355
- *
356
- * - by-default we are showing 6 items
357
- * - additionally want to show all items (selected/suppressed) in page facet area
358
- */
359
- let allowedFacetCount = (_b = Object.keys((selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets) || [])) === null || _b === void 0 ? void 0 : _b.length;
360
- if (allowedFacetCount < this.allowedFacetCount) {
361
- allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
362
- }
363
- // For lending facets, only include a specific subset of buckets
364
- if (facetKey === 'lending') {
365
- bucketsWithCount = bucketsWithCount.filter(bucket => lendingFacetKeysVisibility[bucket.key]);
366
- }
367
- // Sort the FacetBuckets so that selected and hidden buckets come before the rest
368
- sortBucketsBySelectionState(bucketsWithCount, defaultFacetSort[facetKey]);
369
- // For mediatype facets, ensure the collection bucket is always shown if present
370
- if (facetKey === 'mediatype') {
371
- const collectionIndex = bucketsWithCount.findIndex(bucket => bucket.key === 'collection');
372
- if (collectionIndex >= allowedFacetCount) {
373
- const [collectionBucket] = bucketsWithCount.splice(collectionIndex, 1);
374
- // If we're showing lots of selected facets, ensure we're not cutting off the last one
375
- if (allowedFacetCount > this.allowedFacetCount) {
376
- allowedFacetCount += 1;
377
- }
378
- bucketsWithCount.splice(allowedFacetCount - 1, 0, collectionBucket);
379
- }
380
- }
381
- // For TV creator facets, uppercase the display text
382
- if (facetKey === 'creator' && this.isTvSearch) {
383
- bucketsWithCount.forEach(b => {
384
- var _a, _b, _c;
385
- b.displayText = (_b = ((_a = b.displayText) !== null && _a !== void 0 ? _a : b.key)) === null || _b === void 0 ? void 0 : _b.toLocaleUpperCase();
386
- const channelLabel = (_c = this.tvChannelAliases) === null || _c === void 0 ? void 0 : _c.get(b.displayText);
387
- if (channelLabel && channelLabel !== b.displayText) {
388
- b.extraNote = `(${channelLabel})`;
389
- }
390
- });
391
- }
392
- // slice off how many items we want to show in page facet area
393
- facetGroup.buckets = bucketsWithCount.slice(0, allowedFacetCount);
394
- facetGroups.push(facetGroup);
395
- });
396
- return facetGroups;
397
- }
398
- /**
399
- * Converts the selected facets to a `FacetGroup` array,
400
- * which is easier to work with
401
- */
402
- get selectedFacetGroups() {
403
- if (!this.selectedFacets)
404
- return [];
405
- const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
406
- const option = key;
407
- const title = facetTitles[option];
408
- const buckets = Object.entries(selectedFacets).map(([value, facetData]) => {
409
- var _a;
410
- let displayText = value;
411
- // for lending facets, convert the key to a readable format
412
- if (option === 'lending') {
413
- displayText =
414
- (_a = lendingFacetDisplayNames[value]) !== null && _a !== void 0 ? _a : value;
415
- }
416
- return {
417
- displayText,
418
- key: value,
419
- count: facetData.count,
420
- state: facetData.state,
421
- };
422
- });
423
- return {
424
- title,
425
- key: option,
426
- buckets,
427
- };
428
- });
429
- return facetGroups;
430
- }
431
- /**
432
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
433
- */
434
- get aggregationFacetGroups() {
435
- var _a;
436
- const facetGroups = [];
437
- Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
438
- // the year_histogram and date_histogram data is in a different format so can't be handled here
439
- if (['year_histogram', 'date_histogram'].includes(key))
440
- return;
441
- const option = key;
442
- const title = facetTitles[option];
443
- if (!title)
444
- return;
445
- let castedBuckets = aggregation.getSortedBuckets(defaultFacetSort[option]);
446
- if (option === 'collection') {
447
- // we are not showing fav- collections or certain deemphasized collections in facets
448
- castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
449
- var _a;
450
- const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
451
- return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
452
- });
453
- }
454
- const facetBuckets = castedBuckets.map(bucket => {
455
- var _a;
456
- const bucketKey = bucket.key;
457
- let displayText = `${bucket.key}`;
458
- // for lending facets, convert the bucket key to a readable format
459
- if (option === 'lending') {
460
- displayText =
461
- (_a = lendingFacetDisplayNames[bucket.key]) !== null && _a !== void 0 ? _a : `${bucket.key}`;
462
- }
463
- return {
464
- displayText,
465
- key: `${bucketKey}`,
466
- count: bucket.doc_count,
467
- state: 'none',
468
- };
469
- });
470
- const group = {
471
- title,
472
- key: option,
473
- buckets: facetBuckets,
474
- };
475
- facetGroups.push(group);
476
- });
477
- return facetGroups;
478
- }
479
- /**
480
- * Generate the template for a facet group with a header and the collapsible
481
- * chevron for the mobile view
482
- */
483
- getFacetGroupTemplate(facetGroup) {
484
- if (!this.facetsLoading && facetGroup.buckets.length === 0)
485
- return nothing;
486
- const { key } = facetGroup;
487
- const isOpen = this.openFacets[key];
488
- const collapser = html `
489
- <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
490
- `;
491
- const toggleCollapsed = () => {
492
- const newOpenFacets = { ...this.openFacets };
493
- newOpenFacets[key] = !isOpen;
494
- this.openFacets = newOpenFacets;
495
- };
496
- // Added data-testid for Playwright testing
497
- // Using className and aria-labels is not ideal for Playwright locator
498
- const headerId = `facet-group-header-label-${facetGroup.key}`;
499
- return html `
500
- <section
501
- class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
502
- aria-labelledby=${headerId}
503
- data-testid=${headerId}
504
- >
505
- <div class="facet-group-header">
506
- <h3
507
- id=${headerId}
508
- @click=${toggleCollapsed}
509
- @keyup=${toggleCollapsed}
510
- >
511
- ${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
512
- <span class="sr-only">filters</span>
513
- </h3>
514
- </div>
515
- <div
516
- class="facet-group-content ${isOpen ? 'open' : ''}"
517
- data-testid="facet-group-content-${facetGroup.key}"
518
- >
519
- ${this.facetsLoading
520
- ? this.getTombstoneFacetGroupTemplate()
521
- : html `
522
- ${this.getFacetTemplate(facetGroup)}
523
- ${this.searchMoreFacetsLink(facetGroup)}
524
- `}
525
- </div>
526
- </section>
527
- `;
528
- }
529
- getTombstoneFacetGroupTemplate() {
530
- // Render five tombstone rows
531
- return html `
532
- ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
533
- `;
534
- }
535
- /**
536
- * Generate the More... link button just below the facets group
537
- *
538
- * TODO: want to fire analytics?
539
- */
540
- searchMoreFacetsLink(facetGroup) {
541
- // Don't render More... links for FTS searches
542
- if (!this.moreLinksVisible) {
543
- return nothing;
544
- }
545
- // Don't render More... links for lending facets
546
- if (facetGroup.key === 'lending') {
547
- return nothing;
548
- }
549
- // Don't render More... link if the number of facets < this.allowedFacetCount
550
- if (Object.keys(facetGroup.buckets).length < this.allowedFacetCount) {
551
- return nothing;
552
- }
553
- // We sort years in numeric order by default, rather than bucket count
554
- const facetSort = defaultFacetSort[facetGroup.key];
555
- // Added data-testid for Playwright testing
556
- // Using the className is not ideal for Playwright locator
557
- return html `<button
558
- class="more-link"
559
- @click=${() => {
560
- var _a;
561
- this.showMoreFacetsModal(facetGroup, facetSort);
562
- (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
563
- category: analyticsCategories.default,
564
- action: analyticsActions.showMoreFacetsModal,
565
- label: facetGroup.key,
566
- });
567
- this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
568
- }}
569
- data-testid="more-link-btn"
570
- >
571
- More...
572
- </button>`;
573
- }
574
- async showMoreFacetsModal(facetGroup, sortedBy) {
575
- var _a, _b;
576
- const customModalContent = html `
577
- <more-facets-content
578
- .analyticsHandler=${this.analyticsHandler}
579
- .facetKey=${facetGroup.key}
580
- .query=${this.query}
581
- .identifiers=${this.identifiers}
582
- .filterMap=${this.filterMap}
583
- .pageSpecifierParams=${this.pageSpecifierParams}
584
- .modalManager=${this.modalManager}
585
- .searchService=${this.searchService}
586
- .searchType=${this.searchType}
587
- .collectionTitles=${this.collectionTitles}
588
- .tvChannelAliases=${this.tvChannelAliases}
589
- .selectedFacets=${this.selectedFacets}
590
- .sortedBy=${sortedBy}
591
- .isTvSearch=${this.isTvSearch}
592
- @facetsChanged=${(e) => {
593
- const event = new CustomEvent('facetsChanged', {
594
- detail: e.detail,
595
- bubbles: true,
596
- composed: true,
597
- });
598
- this.dispatchEvent(event);
599
- }}
600
- >
601
- </more-facets-content>
602
- `;
603
- const config = new ModalConfig({
604
- bodyColor: '#fff',
605
- headerColor: '#194880',
606
- showHeaderLogo: false,
607
- closeOnBackdropClick: true, // TODO: want to fire analytics
608
- title: html `Select filters`,
609
- });
610
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('more-search-facets');
611
- (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
612
- config,
613
- customModalContent,
614
- userClosedModalCallback: () => {
615
- var _a;
616
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('more-search-facets');
617
- },
618
- });
619
- }
620
- /**
621
- * Generate the list template for each bucket in a facet group
622
- */
623
- getFacetTemplate(facetGroup) {
624
- return html `
625
- <facets-template
626
- .collectionPagePath=${this.collectionPagePath}
627
- .facetGroup=${facetGroup}
628
- .selectedFacets=${this.selectedFacets}
629
- .collectionTitles=${this.collectionTitles}
630
- @facetClick=${(e) => {
631
- this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
632
- const event = new CustomEvent('facetsChanged', {
633
- detail: this.selectedFacets,
634
- bubbles: true,
635
- composed: true,
636
- });
637
- this.dispatchEvent(event);
638
- }}
639
- ></facets-template>
640
- `;
641
- }
642
- static get styles() {
643
- return [
644
- srOnlyStyle,
645
- css `
646
- a:link {
647
- text-decoration: none;
648
- color: var(--ia-theme-link-color, #4b64ff);
649
- }
650
- a:link:hover {
651
- text-decoration: underline;
652
- }
653
-
654
- #container.loading {
655
- opacity: 0.5;
656
- }
657
-
658
- #container.managing {
659
- opacity: 0.3;
660
- }
661
-
662
- .histogram-loading-indicator {
663
- width: 100%;
664
- height: 2.25rem;
665
- margin-top: 1.75rem;
666
- font-size: 1.4rem;
667
- text-align: center;
668
- }
669
-
670
- .collapser {
671
- display: inline-block;
672
- cursor: pointer;
673
- width: 10px;
674
- height: 10px;
675
- }
676
-
677
- .collapser svg {
678
- transition: transform 0.2s ease-in-out;
679
- }
680
-
681
- .collapser.open svg {
682
- transform: rotate(90deg);
683
- }
684
-
685
- .facet-group:not(:last-child) {
686
- margin-bottom: 2rem;
687
- }
688
-
689
- .facet-group h3 {
690
- margin-bottom: 0.7rem;
691
- }
692
-
693
- .facet-group.mobile h3 {
694
- cursor: pointer;
695
- }
696
-
697
- .facet-group-header {
698
- display: flex;
699
- margin-bottom: 0.7rem;
700
- justify-content: space-between;
701
- border-bottom: 1px solid rgb(232, 232, 232);
702
- }
703
-
704
- .facet-group-content {
705
- transition: max-height 0.2s ease-in-out;
706
- }
707
-
708
- .facet-group.mobile .facet-group-content {
709
- max-height: 0;
710
- overflow: hidden;
711
- }
712
-
713
- .facet-group.mobile .facet-group-content.open {
714
- max-height: 2000px;
715
- }
716
-
717
- .partof-collections ul {
718
- list-style-type: none;
719
- padding: 0;
720
- font-size: 1.2rem;
721
- }
722
-
723
- h3 {
724
- font-size: 1.4rem;
725
- margin: 0;
726
- }
727
-
728
- .more-link {
729
- font-size: 1.2rem;
730
- text-decoration: none;
731
- padding: 0;
732
- margin-top: 0.25rem;
733
- background: inherit;
734
- border: 0;
735
- color: var(--ia-theme-link-color, #4b64ff);
736
- cursor: pointer;
737
- }
738
-
739
- #date-picker-label {
740
- display: flex;
741
- justify-content: space-between;
742
- }
743
-
744
- .expand-date-picker-btn {
745
- margin: 0;
746
- padding: 0;
747
- border: 0;
748
- appearance: none;
749
- background: none;
750
- cursor: pointer;
751
- }
752
-
753
- .expand-date-picker-btn > svg {
754
- width: 14px;
755
- height: 14px;
756
- }
757
-
758
- .sorting-icon {
759
- height: 15px;
760
- cursor: pointer;
761
- }
762
-
763
- histogram-date-range.wide-inputs {
764
- --histogramDateRangeInputWidth: 4.8rem;
765
- }
766
- `,
767
- ];
768
- }
769
- };
770
- __decorate([
771
- property({ type: Object })
772
- ], CollectionFacets.prototype, "searchService", void 0);
773
- __decorate([
774
- property({ type: Number })
775
- ], CollectionFacets.prototype, "searchType", void 0);
776
- __decorate([
777
- property({ type: Object })
778
- ], CollectionFacets.prototype, "aggregations", void 0);
779
- __decorate([
780
- property({ type: Object })
781
- ], CollectionFacets.prototype, "histogramAggregation", void 0);
782
- __decorate([
783
- property({ type: String })
784
- ], CollectionFacets.prototype, "minSelectedDate", void 0);
785
- __decorate([
786
- property({ type: String })
787
- ], CollectionFacets.prototype, "maxSelectedDate", void 0);
788
- __decorate([
789
- property({ type: Boolean })
790
- ], CollectionFacets.prototype, "moreLinksVisible", void 0);
791
- __decorate([
792
- property({ type: Boolean })
793
- ], CollectionFacets.prototype, "facetsLoading", void 0);
794
- __decorate([
795
- property({ type: Boolean })
796
- ], CollectionFacets.prototype, "histogramAggregationLoading", void 0);
797
- __decorate([
798
- property({ type: Object })
799
- ], CollectionFacets.prototype, "selectedFacets", void 0);
800
- __decorate([
801
- property({ type: Boolean })
802
- ], CollectionFacets.prototype, "collapsableFacets", void 0);
803
- __decorate([
804
- property({ type: Number })
805
- ], CollectionFacets.prototype, "contentWidth", void 0);
806
- __decorate([
807
- property({ type: Boolean })
808
- ], CollectionFacets.prototype, "showHistogramDatePicker", void 0);
809
- __decorate([
810
- property({ type: Boolean })
811
- ], CollectionFacets.prototype, "allowExpandingDatePicker", void 0);
812
- __decorate([
813
- property({ type: Boolean })
814
- ], CollectionFacets.prototype, "suppressMediatypeFacets", void 0);
815
- __decorate([
816
- property({ type: String })
817
- ], CollectionFacets.prototype, "query", void 0);
818
- __decorate([
819
- property({ type: Array })
820
- ], CollectionFacets.prototype, "identifiers", void 0);
821
- __decorate([
822
- property({ type: Object })
823
- ], CollectionFacets.prototype, "pageSpecifierParams", void 0);
824
- __decorate([
825
- property({ type: Array })
826
- ], CollectionFacets.prototype, "parentCollections", void 0);
827
- __decorate([
828
- property({ type: Object })
829
- ], CollectionFacets.prototype, "filterMap", void 0);
830
- __decorate([
831
- property({ type: String })
832
- ], CollectionFacets.prototype, "baseNavigationUrl", void 0);
833
- __decorate([
834
- property({ type: String })
835
- ], CollectionFacets.prototype, "collectionPagePath", void 0);
836
- __decorate([
837
- property({ type: Boolean })
838
- ], CollectionFacets.prototype, "isManageView", void 0);
839
- __decorate([
840
- property({ type: Boolean })
841
- ], CollectionFacets.prototype, "isTvSearch", void 0);
842
- __decorate([
843
- property({ type: Array })
844
- ], CollectionFacets.prototype, "facetDisplayOrder", void 0);
845
- __decorate([
846
- property({ type: Object, attribute: false })
847
- ], CollectionFacets.prototype, "modalManager", void 0);
848
- __decorate([
849
- property({ type: Object, attribute: false })
850
- ], CollectionFacets.prototype, "resizeObserver", void 0);
851
- __decorate([
852
- property({ type: Object, attribute: false })
853
- ], CollectionFacets.prototype, "featureFeedbackService", void 0);
854
- __decorate([
855
- property({ type: Object, attribute: false })
856
- ], CollectionFacets.prototype, "recaptchaManager", void 0);
857
- __decorate([
858
- property({ type: Object, attribute: false })
859
- ], CollectionFacets.prototype, "analyticsHandler", void 0);
860
- __decorate([
861
- property({ type: Object, attribute: false })
862
- ], CollectionFacets.prototype, "collectionTitles", void 0);
863
- __decorate([
864
- property({ type: Object, attribute: false })
865
- ], CollectionFacets.prototype, "tvChannelAliases", void 0);
866
- __decorate([
867
- state()
868
- ], CollectionFacets.prototype, "openFacets", void 0);
869
- CollectionFacets = __decorate([
870
- customElement('collection-facets')
871
- ], CollectionFacets);
872
- export { CollectionFacets };
873
- //# sourceMappingURL=collection-facets.js.map