@internetarchive/collection-browser 2.7.12 → 2.7.13

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 (318) 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 -107
  8. package/dist/src/app-root.js +531 -531
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  30. package/dist/src/assets/img/icons/filter.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  61. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  62. package/dist/src/assets/img/icons/null-result.js +2 -2
  63. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  64. package/dist/src/assets/img/icons/restricted.js +2 -2
  65. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  66. package/dist/src/assets/img/icons/reviews.js +2 -2
  67. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  68. package/dist/src/assets/img/icons/upload.js +2 -2
  69. package/dist/src/assets/img/icons/views.d.ts +1 -1
  70. package/dist/src/assets/img/icons/views.js +2 -2
  71. package/dist/src/circular-activity-indicator.d.ts +5 -5
  72. package/dist/src/circular-activity-indicator.js +17 -17
  73. package/dist/src/collection-browser.d.ts +606 -606
  74. package/dist/src/collection-browser.js +1677 -1677
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +118 -118
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  80. package/dist/src/collection-facets/facets-template.js +44 -44
  81. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  82. package/dist/src/collection-facets/more-facets-content.js +407 -407
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  86. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  87. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  88. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  89. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  90. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  91. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  92. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  93. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  94. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  95. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  96. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  97. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  98. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  99. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  100. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  101. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  102. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  103. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  105. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  106. package/dist/src/collection-facets/toggle-switch.js +94 -94
  107. package/dist/src/collection-facets.d.ts +103 -103
  108. package/dist/src/collection-facets.js +522 -522
  109. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  110. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  111. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  112. package/dist/src/data-source/collection-browser-data-source.js +1004 -1001
  113. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  114. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  115. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  116. package/dist/src/data-source/models.d.ts +28 -28
  117. package/dist/src/data-source/models.js +8 -8
  118. package/dist/src/empty-placeholder.d.ts +23 -23
  119. package/dist/src/empty-placeholder.js +79 -79
  120. package/dist/src/expanded-date-picker.d.ts +43 -43
  121. package/dist/src/expanded-date-picker.js +109 -109
  122. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  123. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  124. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  125. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  126. package/dist/src/manage/manage-bar.d.ts +58 -58
  127. package/dist/src/manage/manage-bar.js +159 -159
  128. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  129. package/dist/src/manage/remove-items-modal-content.js +34 -34
  130. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  131. package/dist/src/mediatype/mediatype-config.js +91 -91
  132. package/dist/src/models.d.ts +228 -228
  133. package/dist/src/models.js +401 -401
  134. package/dist/src/restoration-state-handler.d.ts +70 -70
  135. package/dist/src/restoration-state-handler.js +363 -363
  136. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  137. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  138. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  139. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  140. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  141. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  142. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  143. package/dist/src/sort-filter-bar/img/list.js +2 -2
  144. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  145. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  146. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  147. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  148. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  149. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  150. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  151. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  152. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  153. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  154. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  155. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  156. package/dist/src/styles/ia-button.d.ts +2 -2
  157. package/dist/src/styles/ia-button.js +17 -17
  158. package/dist/src/styles/item-image-styles.d.ts +8 -8
  159. package/dist/src/styles/item-image-styles.js +9 -9
  160. package/dist/src/styles/sr-only.d.ts +1 -1
  161. package/dist/src/styles/sr-only.js +2 -2
  162. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  163. package/dist/src/tiles/base-tile-component.js +64 -64
  164. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  165. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  166. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  167. package/dist/src/tiles/grid/account-tile.js +72 -72
  168. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  169. package/dist/src/tiles/grid/collection-tile.js +80 -80
  170. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  171. package/dist/src/tiles/grid/item-tile.js +158 -158
  172. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  173. package/dist/src/tiles/grid/search-tile.js +51 -51
  174. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  175. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  176. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  177. package/dist/src/tiles/grid/tile-stats.js +53 -53
  178. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  179. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  180. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  181. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  182. package/dist/src/tiles/image-block.d.ts +18 -18
  183. package/dist/src/tiles/image-block.js +89 -89
  184. package/dist/src/tiles/item-image.d.ts +39 -39
  185. package/dist/src/tiles/item-image.js +154 -154
  186. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  187. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  188. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  189. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  190. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  191. package/dist/src/tiles/list/tile-list.js +323 -323
  192. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  193. package/dist/src/tiles/mediatype-icon.js +47 -47
  194. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  195. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  196. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  197. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  198. package/dist/src/tiles/review-block.d.ts +12 -12
  199. package/dist/src/tiles/review-block.js +56 -56
  200. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  201. package/dist/src/tiles/text-snippet-block.js +73 -73
  202. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  203. package/dist/src/tiles/tile-dispatcher.js +230 -230
  204. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  205. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  206. package/dist/src/utils/analytics-events.d.ts +28 -28
  207. package/dist/src/utils/analytics-events.js +30 -30
  208. package/dist/src/utils/array-equals.d.ts +4 -4
  209. package/dist/src/utils/array-equals.js +10 -10
  210. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  211. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  212. package/dist/src/utils/facet-utils.d.ts +83 -83
  213. package/dist/src/utils/facet-utils.js +145 -145
  214. package/dist/src/utils/format-count.d.ts +7 -7
  215. package/dist/src/utils/format-count.js +76 -76
  216. package/dist/src/utils/format-date.d.ts +2 -2
  217. package/dist/src/utils/format-date.js +27 -27
  218. package/dist/src/utils/format-unit-size.d.ts +2 -2
  219. package/dist/src/utils/format-unit-size.js +33 -33
  220. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  221. package/dist/src/utils/local-date-from-utc.js +15 -15
  222. package/dist/src/utils/log.d.ts +7 -7
  223. package/dist/src/utils/log.js +15 -15
  224. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  225. package/dist/src/utils/resolve-mediatype.js +23 -23
  226. package/dist/src/utils/sha1.d.ts +2 -2
  227. package/dist/src/utils/sha1.js +8 -8
  228. package/dist/test/collection-browser.test.d.ts +1 -1
  229. package/dist/test/collection-browser.test.js +1308 -1308
  230. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  231. package/dist/test/collection-facets/facet-row.test.js +227 -227
  232. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  233. package/dist/test/collection-facets/facets-template.test.js +91 -91
  234. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  235. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  236. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  237. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  238. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  239. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  240. package/dist/test/collection-facets.test.d.ts +2 -2
  241. package/dist/test/collection-facets.test.js +690 -690
  242. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  243. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  244. package/dist/test/empty-placeholder.test.d.ts +1 -1
  245. package/dist/test/empty-placeholder.test.js +63 -63
  246. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  247. package/dist/test/expanded-date-picker.test.js +95 -95
  248. package/dist/test/icon-overlay.test.d.ts +1 -1
  249. package/dist/test/icon-overlay.test.js +24 -24
  250. package/dist/test/image-block.test.d.ts +1 -1
  251. package/dist/test/image-block.test.js +107 -107
  252. package/dist/test/item-image.test.d.ts +1 -1
  253. package/dist/test/item-image.test.js +85 -85
  254. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  255. package/dist/test/manage/manage-bar.test.js +100 -100
  256. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  257. package/dist/test/manage/remove-items-modal-content.test.js +45 -45
  258. package/dist/test/mediatype-config.test.d.ts +1 -1
  259. package/dist/test/mediatype-config.test.js +16 -16
  260. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  261. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  262. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  263. package/dist/test/mocks/mock-search-responses.js +942 -942
  264. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  265. package/dist/test/mocks/mock-search-service.js +54 -54
  266. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  267. package/dist/test/restoration-state-handler.test.js +270 -270
  268. package/dist/test/review-block.test.d.ts +1 -1
  269. package/dist/test/review-block.test.js +44 -44
  270. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  271. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  272. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  273. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  274. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  275. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  276. package/dist/test/text-overlay.test.d.ts +1 -1
  277. package/dist/test/text-overlay.test.js +38 -38
  278. package/dist/test/text-snippet-block.test.d.ts +1 -1
  279. package/dist/test/text-snippet-block.test.js +57 -57
  280. package/dist/test/tile-stats.test.d.ts +1 -1
  281. package/dist/test/tile-stats.test.js +81 -81
  282. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  283. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  284. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  285. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  286. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  287. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  288. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  289. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  290. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  291. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  292. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  293. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  294. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  295. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  296. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  297. package/dist/test/tiles/list/tile-list.test.js +297 -297
  298. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  299. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  300. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  301. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  302. package/dist/test/utils/array-equals.test.d.ts +1 -1
  303. package/dist/test/utils/array-equals.test.js +26 -26
  304. package/dist/test/utils/format-count.test.d.ts +1 -1
  305. package/dist/test/utils/format-count.test.js +23 -23
  306. package/dist/test/utils/format-date.test.d.ts +1 -1
  307. package/dist/test/utils/format-date.test.js +30 -30
  308. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  309. package/dist/test/utils/format-unit-size.test.js +17 -17
  310. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  311. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  312. package/local.archive.org.cert +86 -86
  313. package/local.archive.org.key +27 -27
  314. package/package.json +1 -1
  315. package/renovate.json +6 -6
  316. package/src/data-source/collection-browser-data-source.ts +5 -1
  317. package/web-dev-server.config.mjs +30 -30
  318. package/web-test-runner.config.mjs +41 -41
@@ -1,308 +1,308 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable dot-notation */
3
- /* eslint-disable lit-a11y/click-events-have-key-events */
4
- import { css, html, LitElement, nothing, } from 'lit';
5
- import { customElement, property, state } from 'lit/decorators.js';
6
- import { AggregationSortType, } from '@internetarchive/search-service';
7
- import { msg } from '@lit/localize';
8
- import { facetTitles, suppressedCollections, valueFacetSort, defaultFacetSort, getDefaultSelectedFacets, } from '../models';
9
- import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
10
- import './more-facets-pagination';
11
- import './facets-template';
12
- import { analyticsActions, analyticsCategories, } from '../utils/analytics-events';
13
- import './toggle-switch';
14
- import { srOnlyStyle } from '../styles/sr-only';
15
- import { mergeSelectedFacets, sortBucketsBySelectionState, updateSelectedFacetBucket, } from '../utils/facet-utils';
16
- let MoreFacetsContent = class MoreFacetsContent extends LitElement {
17
- constructor() {
18
- super(...arguments);
19
- /**
20
- * Maximum number of facets to show per page within the modal.
21
- */
22
- this.facetsPerPage = 35;
23
- /**
24
- * Whether we are waiting for facet data to load.
25
- * We begin with this set to true so that we show an initial loading indicator.
26
- */
27
- this.facetsLoading = true;
28
- this.sortedBy = AggregationSortType.COUNT;
29
- /**
30
- * An object holding any changes the patron has made to their facet selections
31
- * within the modal dialog but which they have not yet applied. These are
32
- * eventually merged into the existing `selectedFacets` when the patron applies
33
- * their changes, or discarded if they cancel/close the dialog.
34
- */
35
- this.unappliedFacetChanges = getDefaultSelectedFacets();
36
- /**
37
- * Which page of facets we are showing.
38
- */
39
- this.pageNumber = 1;
40
- }
41
- willUpdate(changed) {
42
- if (changed.has('aggregations') ||
43
- changed.has('facetsPerPage') ||
44
- changed.has('sortedBy') ||
45
- changed.has('selectedFacets') ||
46
- changed.has('unappliedFacetChanges')) {
47
- // Convert the merged selected facets & aggregations into a facet group, and
48
- // store it for reuse across pages.
49
- this.facetGroup = this.mergedFacets;
50
- }
51
- }
52
- updated(changed) {
53
- // If any of the search properties change, it triggers a facet fetch
54
- if (changed.has('facetKey') ||
55
- changed.has('query') ||
56
- changed.has('searchType') ||
57
- changed.has('filterMap')) {
58
- this.facetsLoading = true;
59
- this.pageNumber = 1;
60
- this.sortedBy = defaultFacetSort[this.facetKey];
61
- this.updateSpecificFacets();
62
- }
63
- }
64
- firstUpdated() {
65
- this.setupEscapeListeners();
66
- }
67
- /**
68
- * Close more facets modal on Escape click
69
- */
70
- setupEscapeListeners() {
71
- if (this.modalManager) {
72
- document.addEventListener('keydown', (e) => {
73
- var _a;
74
- if (e.key === 'Escape') {
75
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
76
- }
77
- });
78
- }
79
- else {
80
- document.removeEventListener('keydown', () => { });
81
- }
82
- }
83
- /**
84
- * Whether facet requests are for the search_results page type (either defaulted or explicitly).
85
- */
86
- get isSearchResultsPage() {
87
- var _a;
88
- // Default page type is search_results when none is specified, so we check
89
- // for undefined as well.
90
- const pageType = (_a = this.pageSpecifierParams) === null || _a === void 0 ? void 0 : _a.pageType;
91
- return pageType === undefined || pageType === 'search_results';
92
- }
93
- /**
94
- * Get specific facets data from search-service API based of currently query params
95
- * - this.aggregations - hold result of search service and being used for further processing.
96
- */
97
- async updateSpecificFacets() {
98
- var _a, _b, _c, _d, _e, _f;
99
- if (!this.facetKey)
100
- return; // Can't fetch facets if we don't know what type of facets we need!
101
- const trimmedQuery = (_a = this.query) === null || _a === void 0 ? void 0 : _a.trim();
102
- if (!trimmedQuery && this.isSearchResultsPage)
103
- return; // The search page _requires_ a query
104
- const aggregations = {
105
- simpleParams: [this.facetKey],
106
- };
107
- const aggregationsSize = 65535; // todo - do we want to have all the records at once?
108
- const params = {
109
- ...this.pageSpecifierParams,
110
- query: trimmedQuery || '',
111
- filters: this.filterMap,
112
- aggregations,
113
- aggregationsSize,
114
- rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
115
- };
116
- const results = await ((_b = this.searchService) === null || _b === void 0 ? void 0 : _b.search(params, this.searchType));
117
- this.aggregations = (_c = results === null || results === void 0 ? void 0 : results.success) === null || _c === void 0 ? void 0 : _c.response.aggregations;
118
- this.facetsLoading = false;
119
- const collectionTitles = (_e = (_d = results === null || results === void 0 ? void 0 : results.success) === null || _d === void 0 ? void 0 : _d.response) === null || _e === void 0 ? void 0 : _e.collectionTitles;
120
- if (collectionTitles) {
121
- for (const [id, title] of Object.entries(collectionTitles)) {
122
- (_f = this.collectionTitles) === null || _f === void 0 ? void 0 : _f.set(id, title);
123
- }
124
- }
125
- }
126
- /**
127
- * Handler for page number changes from the pagination widget.
128
- */
129
- pageNumberClicked(e) {
130
- var _a, _b;
131
- const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
132
- if (page) {
133
- this.pageNumber = Number(page);
134
- }
135
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
136
- category: analyticsCategories.default,
137
- action: analyticsActions.moreFacetsPageChange,
138
- label: `${this.pageNumber}`,
139
- });
140
- }
141
- /**
142
- * Combines the selected facets with the aggregations to create a single list of facets
143
- */
144
- get mergedFacets() {
145
- var _a;
146
- if (!this.facetKey || !this.selectedFacets)
147
- return undefined;
148
- const { selectedFacetGroup, aggregationFacetGroup } = this;
149
- // If we don't have any aggregations, then there is nothing to show yet
150
- if (!aggregationFacetGroup)
151
- return undefined;
152
- // Start with either the selected group if we have one, or the aggregate group otherwise
153
- const facetGroup = { ...(selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregationFacetGroup) };
154
- // Attach the counts to the selected buckets
155
- const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
156
- const selectedBucket = aggregationFacetGroup.buckets.find(b => b.key === bucket.key);
157
- return selectedBucket
158
- ? {
159
- ...bucket,
160
- count: selectedBucket.count,
161
- }
162
- : bucket;
163
- })) !== null && _a !== void 0 ? _a : [];
164
- // Sort the buckets by selection state
165
- // We do this *prior* to considering unapplied selections, because we want the facets
166
- // to remain in position when they are selected/unselected, rather than re-sort themselves.
167
- sortBucketsBySelectionState(bucketsWithCount, this.sortedBy);
168
- // Append any additional buckets that were not selected
169
- aggregationFacetGroup.buckets.forEach(bucket => {
170
- const existingBucket = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.find(b => b.key === bucket.key);
171
- if (existingBucket)
172
- return;
173
- bucketsWithCount.push(bucket);
174
- });
175
- // Apply any unapplied selections that appear on this page
176
- const unappliedBuckets = this.unappliedFacetChanges[this.facetKey];
177
- for (const [index, bucket] of bucketsWithCount.entries()) {
178
- const unappliedBucket = unappliedBuckets[bucket.key];
179
- if (unappliedBucket) {
180
- bucketsWithCount[index] = { ...unappliedBucket };
181
- }
182
- }
183
- facetGroup.buckets = bucketsWithCount;
184
- return facetGroup;
185
- }
186
- /**
187
- * Converts the selected facets for the current facet key to a `FacetGroup`,
188
- * which is easier to work with.
189
- */
190
- get selectedFacetGroup() {
191
- if (!this.selectedFacets || !this.facetKey)
192
- return undefined;
193
- const selectedFacetsForKey = this.selectedFacets[this.facetKey];
194
- if (!selectedFacetsForKey)
195
- return undefined;
196
- const facetGroupTitle = facetTitles[this.facetKey];
197
- const buckets = Object.entries(selectedFacetsForKey).map(([value, data]) => {
198
- const displayText = value;
199
- return {
200
- displayText,
201
- key: value,
202
- count: data === null || data === void 0 ? void 0 : data.count,
203
- state: data === null || data === void 0 ? void 0 : data.state,
204
- };
205
- });
206
- return {
207
- title: facetGroupTitle,
208
- key: this.facetKey,
209
- buckets,
210
- };
211
- }
212
- /**
213
- * Converts the raw `aggregations` for the current facet key to a `FacetGroup`,
214
- * which is easier to work with.
215
- */
216
- get aggregationFacetGroup() {
217
- if (!this.aggregations || !this.facetKey)
218
- return undefined;
219
- const currentAggregation = this.aggregations[this.facetKey];
220
- if (!currentAggregation)
221
- return undefined;
222
- const facetGroupTitle = facetTitles[this.facetKey];
223
- // Order the facets according to the current sort option
224
- let sortedBuckets = currentAggregation.getSortedBuckets(this.sortedBy);
225
- if (this.facetKey === 'collection') {
226
- // we are not showing fav- collections or certain deemphasized collections in facets
227
- sortedBuckets = sortedBuckets === null || sortedBuckets === void 0 ? void 0 : sortedBuckets.filter(bucket => {
228
- var _a;
229
- const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
230
- return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
231
- });
232
- }
233
- // Construct the array of facet buckets from the aggregation buckets
234
- const facetBuckets = sortedBuckets.map(bucket => {
235
- const bucketKeyStr = `${bucket.key}`;
236
- return {
237
- displayText: `${bucketKeyStr}`,
238
- key: `${bucketKeyStr}`,
239
- count: bucket.doc_count,
240
- state: 'none',
241
- };
242
- });
243
- return {
244
- title: facetGroupTitle,
245
- key: this.facetKey,
246
- buckets: facetBuckets,
247
- };
248
- }
249
- /**
250
- * Returns a FacetGroup representing only the current page of facet buckets to show.
251
- */
252
- get facetGroupForCurrentPage() {
253
- const { facetGroup } = this;
254
- if (!facetGroup)
255
- return undefined;
256
- // Slice out only the current page of facet buckets
257
- const firstBucketIndexOnPage = (this.pageNumber - 1) * this.facetsPerPage;
258
- const truncatedBuckets = facetGroup.buckets.slice(firstBucketIndexOnPage, firstBucketIndexOnPage + this.facetsPerPage);
259
- return {
260
- ...facetGroup,
261
- buckets: truncatedBuckets,
262
- };
263
- }
264
- get moreFacetsTemplate() {
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable dot-notation */
3
+ /* eslint-disable lit-a11y/click-events-have-key-events */
4
+ import { css, html, LitElement, nothing, } from 'lit';
5
+ import { customElement, property, state } from 'lit/decorators.js';
6
+ import { AggregationSortType, } from '@internetarchive/search-service';
7
+ import { msg } from '@lit/localize';
8
+ import { facetTitles, suppressedCollections, valueFacetSort, defaultFacetSort, getDefaultSelectedFacets, } from '../models';
9
+ import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
10
+ import './more-facets-pagination';
11
+ import './facets-template';
12
+ import { analyticsActions, analyticsCategories, } from '../utils/analytics-events';
13
+ import './toggle-switch';
14
+ import { srOnlyStyle } from '../styles/sr-only';
15
+ import { mergeSelectedFacets, sortBucketsBySelectionState, updateSelectedFacetBucket, } from '../utils/facet-utils';
16
+ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ /**
20
+ * Maximum number of facets to show per page within the modal.
21
+ */
22
+ this.facetsPerPage = 35;
23
+ /**
24
+ * Whether we are waiting for facet data to load.
25
+ * We begin with this set to true so that we show an initial loading indicator.
26
+ */
27
+ this.facetsLoading = true;
28
+ this.sortedBy = AggregationSortType.COUNT;
29
+ /**
30
+ * An object holding any changes the patron has made to their facet selections
31
+ * within the modal dialog but which they have not yet applied. These are
32
+ * eventually merged into the existing `selectedFacets` when the patron applies
33
+ * their changes, or discarded if they cancel/close the dialog.
34
+ */
35
+ this.unappliedFacetChanges = getDefaultSelectedFacets();
36
+ /**
37
+ * Which page of facets we are showing.
38
+ */
39
+ this.pageNumber = 1;
40
+ }
41
+ willUpdate(changed) {
42
+ if (changed.has('aggregations') ||
43
+ changed.has('facetsPerPage') ||
44
+ changed.has('sortedBy') ||
45
+ changed.has('selectedFacets') ||
46
+ changed.has('unappliedFacetChanges')) {
47
+ // Convert the merged selected facets & aggregations into a facet group, and
48
+ // store it for reuse across pages.
49
+ this.facetGroup = this.mergedFacets;
50
+ }
51
+ }
52
+ updated(changed) {
53
+ // If any of the search properties change, it triggers a facet fetch
54
+ if (changed.has('facetKey') ||
55
+ changed.has('query') ||
56
+ changed.has('searchType') ||
57
+ changed.has('filterMap')) {
58
+ this.facetsLoading = true;
59
+ this.pageNumber = 1;
60
+ this.sortedBy = defaultFacetSort[this.facetKey];
61
+ this.updateSpecificFacets();
62
+ }
63
+ }
64
+ firstUpdated() {
65
+ this.setupEscapeListeners();
66
+ }
67
+ /**
68
+ * Close more facets modal on Escape click
69
+ */
70
+ setupEscapeListeners() {
71
+ if (this.modalManager) {
72
+ document.addEventListener('keydown', (e) => {
73
+ var _a;
74
+ if (e.key === 'Escape') {
75
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
76
+ }
77
+ });
78
+ }
79
+ else {
80
+ document.removeEventListener('keydown', () => { });
81
+ }
82
+ }
83
+ /**
84
+ * Whether facet requests are for the search_results page type (either defaulted or explicitly).
85
+ */
86
+ get isSearchResultsPage() {
87
+ var _a;
88
+ // Default page type is search_results when none is specified, so we check
89
+ // for undefined as well.
90
+ const pageType = (_a = this.pageSpecifierParams) === null || _a === void 0 ? void 0 : _a.pageType;
91
+ return pageType === undefined || pageType === 'search_results';
92
+ }
93
+ /**
94
+ * Get specific facets data from search-service API based of currently query params
95
+ * - this.aggregations - hold result of search service and being used for further processing.
96
+ */
97
+ async updateSpecificFacets() {
98
+ var _a, _b, _c, _d, _e, _f;
99
+ if (!this.facetKey)
100
+ return; // Can't fetch facets if we don't know what type of facets we need!
101
+ const trimmedQuery = (_a = this.query) === null || _a === void 0 ? void 0 : _a.trim();
102
+ if (!trimmedQuery && this.isSearchResultsPage)
103
+ return; // The search page _requires_ a query
104
+ const aggregations = {
105
+ simpleParams: [this.facetKey],
106
+ };
107
+ const aggregationsSize = 65535; // todo - do we want to have all the records at once?
108
+ const params = {
109
+ ...this.pageSpecifierParams,
110
+ query: trimmedQuery || '',
111
+ filters: this.filterMap,
112
+ aggregations,
113
+ aggregationsSize,
114
+ rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
115
+ };
116
+ const results = await ((_b = this.searchService) === null || _b === void 0 ? void 0 : _b.search(params, this.searchType));
117
+ this.aggregations = (_c = results === null || results === void 0 ? void 0 : results.success) === null || _c === void 0 ? void 0 : _c.response.aggregations;
118
+ this.facetsLoading = false;
119
+ const collectionTitles = (_e = (_d = results === null || results === void 0 ? void 0 : results.success) === null || _d === void 0 ? void 0 : _d.response) === null || _e === void 0 ? void 0 : _e.collectionTitles;
120
+ if (collectionTitles) {
121
+ for (const [id, title] of Object.entries(collectionTitles)) {
122
+ (_f = this.collectionTitles) === null || _f === void 0 ? void 0 : _f.set(id, title);
123
+ }
124
+ }
125
+ }
126
+ /**
127
+ * Handler for page number changes from the pagination widget.
128
+ */
129
+ pageNumberClicked(e) {
130
+ var _a, _b;
131
+ const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
132
+ if (page) {
133
+ this.pageNumber = Number(page);
134
+ }
135
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
136
+ category: analyticsCategories.default,
137
+ action: analyticsActions.moreFacetsPageChange,
138
+ label: `${this.pageNumber}`,
139
+ });
140
+ }
141
+ /**
142
+ * Combines the selected facets with the aggregations to create a single list of facets
143
+ */
144
+ get mergedFacets() {
145
+ var _a;
146
+ if (!this.facetKey || !this.selectedFacets)
147
+ return undefined;
148
+ const { selectedFacetGroup, aggregationFacetGroup } = this;
149
+ // If we don't have any aggregations, then there is nothing to show yet
150
+ if (!aggregationFacetGroup)
151
+ return undefined;
152
+ // Start with either the selected group if we have one, or the aggregate group otherwise
153
+ const facetGroup = { ...(selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregationFacetGroup) };
154
+ // Attach the counts to the selected buckets
155
+ const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
156
+ const selectedBucket = aggregationFacetGroup.buckets.find(b => b.key === bucket.key);
157
+ return selectedBucket
158
+ ? {
159
+ ...bucket,
160
+ count: selectedBucket.count,
161
+ }
162
+ : bucket;
163
+ })) !== null && _a !== void 0 ? _a : [];
164
+ // Sort the buckets by selection state
165
+ // We do this *prior* to considering unapplied selections, because we want the facets
166
+ // to remain in position when they are selected/unselected, rather than re-sort themselves.
167
+ sortBucketsBySelectionState(bucketsWithCount, this.sortedBy);
168
+ // Append any additional buckets that were not selected
169
+ aggregationFacetGroup.buckets.forEach(bucket => {
170
+ const existingBucket = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.find(b => b.key === bucket.key);
171
+ if (existingBucket)
172
+ return;
173
+ bucketsWithCount.push(bucket);
174
+ });
175
+ // Apply any unapplied selections that appear on this page
176
+ const unappliedBuckets = this.unappliedFacetChanges[this.facetKey];
177
+ for (const [index, bucket] of bucketsWithCount.entries()) {
178
+ const unappliedBucket = unappliedBuckets[bucket.key];
179
+ if (unappliedBucket) {
180
+ bucketsWithCount[index] = { ...unappliedBucket };
181
+ }
182
+ }
183
+ facetGroup.buckets = bucketsWithCount;
184
+ return facetGroup;
185
+ }
186
+ /**
187
+ * Converts the selected facets for the current facet key to a `FacetGroup`,
188
+ * which is easier to work with.
189
+ */
190
+ get selectedFacetGroup() {
191
+ if (!this.selectedFacets || !this.facetKey)
192
+ return undefined;
193
+ const selectedFacetsForKey = this.selectedFacets[this.facetKey];
194
+ if (!selectedFacetsForKey)
195
+ return undefined;
196
+ const facetGroupTitle = facetTitles[this.facetKey];
197
+ const buckets = Object.entries(selectedFacetsForKey).map(([value, data]) => {
198
+ const displayText = value;
199
+ return {
200
+ displayText,
201
+ key: value,
202
+ count: data === null || data === void 0 ? void 0 : data.count,
203
+ state: data === null || data === void 0 ? void 0 : data.state,
204
+ };
205
+ });
206
+ return {
207
+ title: facetGroupTitle,
208
+ key: this.facetKey,
209
+ buckets,
210
+ };
211
+ }
212
+ /**
213
+ * Converts the raw `aggregations` for the current facet key to a `FacetGroup`,
214
+ * which is easier to work with.
215
+ */
216
+ get aggregationFacetGroup() {
217
+ if (!this.aggregations || !this.facetKey)
218
+ return undefined;
219
+ const currentAggregation = this.aggregations[this.facetKey];
220
+ if (!currentAggregation)
221
+ return undefined;
222
+ const facetGroupTitle = facetTitles[this.facetKey];
223
+ // Order the facets according to the current sort option
224
+ let sortedBuckets = currentAggregation.getSortedBuckets(this.sortedBy);
225
+ if (this.facetKey === 'collection') {
226
+ // we are not showing fav- collections or certain deemphasized collections in facets
227
+ sortedBuckets = sortedBuckets === null || sortedBuckets === void 0 ? void 0 : sortedBuckets.filter(bucket => {
228
+ var _a;
229
+ const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
230
+ return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
231
+ });
232
+ }
233
+ // Construct the array of facet buckets from the aggregation buckets
234
+ const facetBuckets = sortedBuckets.map(bucket => {
235
+ const bucketKeyStr = `${bucket.key}`;
236
+ return {
237
+ displayText: `${bucketKeyStr}`,
238
+ key: `${bucketKeyStr}`,
239
+ count: bucket.doc_count,
240
+ state: 'none',
241
+ };
242
+ });
243
+ return {
244
+ title: facetGroupTitle,
245
+ key: this.facetKey,
246
+ buckets: facetBuckets,
247
+ };
248
+ }
249
+ /**
250
+ * Returns a FacetGroup representing only the current page of facet buckets to show.
251
+ */
252
+ get facetGroupForCurrentPage() {
253
+ const { facetGroup } = this;
254
+ if (!facetGroup)
255
+ return undefined;
256
+ // Slice out only the current page of facet buckets
257
+ const firstBucketIndexOnPage = (this.pageNumber - 1) * this.facetsPerPage;
258
+ const truncatedBuckets = facetGroup.buckets.slice(firstBucketIndexOnPage, firstBucketIndexOnPage + this.facetsPerPage);
259
+ return {
260
+ ...facetGroup,
261
+ buckets: truncatedBuckets,
262
+ };
263
+ }
264
+ get moreFacetsTemplate() {
265
265
  return html `
266
266
  <facets-template
267
267
  .facetGroup=${this.facetGroupForCurrentPage}
268
268
  .selectedFacets=${this.selectedFacets}
269
269
  .collectionTitles=${this.collectionTitles}
270
- @facetClick=${(e) => {
271
- if (this.facetKey) {
272
- this.unappliedFacetChanges = updateSelectedFacetBucket(this.unappliedFacetChanges, this.facetKey, e.detail.bucket);
273
- }
270
+ @facetClick=${(e) => {
271
+ if (this.facetKey) {
272
+ this.unappliedFacetChanges = updateSelectedFacetBucket(this.unappliedFacetChanges, this.facetKey, e.detail.bucket);
273
+ }
274
274
  }}
275
275
  ></facets-template>
276
- `;
277
- }
278
- get loaderTemplate() {
276
+ `;
277
+ }
278
+ get loaderTemplate() {
279
279
  return html `<div class="facets-loader">
280
280
  <ia-activity-indicator .mode=${'processing'}></ia-activity-indicator>
281
- </div> `;
282
- }
283
- /**
284
- * How many pages of facets to show in the modal pagination widget
285
- */
286
- get paginationSize() {
287
- var _a;
288
- if (!this.aggregations || !this.facetKey)
289
- return 0;
290
- // Calculate the appropriate number of pages to show in the modal pagination widget
291
- const length = (_a = this.aggregations[this.facetKey]) === null || _a === void 0 ? void 0 : _a.buckets.length;
292
- return Math.ceil(length / this.facetsPerPage);
293
- }
294
- // render pagination if more then 1 page
295
- get facetsPaginationTemplate() {
296
- return this.paginationSize > 1
281
+ </div> `;
282
+ }
283
+ /**
284
+ * How many pages of facets to show in the modal pagination widget
285
+ */
286
+ get paginationSize() {
287
+ var _a;
288
+ if (!this.aggregations || !this.facetKey)
289
+ return 0;
290
+ // Calculate the appropriate number of pages to show in the modal pagination widget
291
+ const length = (_a = this.aggregations[this.facetKey]) === null || _a === void 0 ? void 0 : _a.buckets.length;
292
+ return Math.ceil(length / this.facetsPerPage);
293
+ }
294
+ // render pagination if more then 1 page
295
+ get facetsPaginationTemplate() {
296
+ return this.paginationSize > 1
297
297
  ? html `<more-facets-pagination
298
298
  .size=${this.paginationSize}
299
299
  .currentPage=${1}
300
300
  @pageNumberClicked=${this.pageNumberClicked}
301
- ></more-facets-pagination>`
302
- : nothing;
303
- }
304
- get footerTemplate() {
305
- if (this.paginationSize > 0) {
301
+ ></more-facets-pagination>`
302
+ : nothing;
303
+ }
304
+ get footerTemplate() {
305
+ if (this.paginationSize > 0) {
306
306
  return html `${this.facetsPaginationTemplate}
307
307
  <div class="footer">
308
308
  <button
@@ -319,24 +319,24 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
319
319
  >
320
320
  Apply filters
321
321
  </button>
322
- </div> `;
323
- }
324
- return nothing;
325
- }
326
- sortFacetAggregation(facetSortType) {
327
- this.sortedBy = facetSortType;
328
- this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
329
- }
330
- get modalHeaderTemplate() {
331
- var _a, _b, _c;
332
- const facetSort = (_a = this.sortedBy) !== null && _a !== void 0 ? _a : defaultFacetSort[this.facetKey];
333
- const defaultSwitchSide = facetSort === AggregationSortType.COUNT ? 'left' : 'right';
322
+ </div> `;
323
+ }
324
+ return nothing;
325
+ }
326
+ sortFacetAggregation(facetSortType) {
327
+ this.sortedBy = facetSortType;
328
+ this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
329
+ }
330
+ get modalHeaderTemplate() {
331
+ var _a, _b, _c;
332
+ const facetSort = (_a = this.sortedBy) !== null && _a !== void 0 ? _a : defaultFacetSort[this.facetKey];
333
+ const defaultSwitchSide = facetSort === AggregationSortType.COUNT ? 'left' : 'right';
334
334
  return html `<span class="sr-only">${msg('More facets for:')}</span>
335
335
  <span class="title">
336
336
  ${(_b = this.facetGroup) === null || _b === void 0 ? void 0 : _b.title}
337
337
 
338
338
  <label class="sort-label">${msg('Sort by:')}</label>
339
- ${this.facetKey
339
+ ${this.facetKey
340
340
  ? html `<toggle-switch
341
341
  class="sort-toggle"
342
342
  leftValue=${AggregationSortType.COUNT}
@@ -344,17 +344,17 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
344
344
  rightValue=${valueFacetSort[this.facetKey]}
345
345
  rightLabel=${(_c = this.facetGroup) === null || _c === void 0 ? void 0 : _c.title}
346
346
  side=${defaultSwitchSide}
347
- @change=${(e) => {
348
- this.sortFacetAggregation(Number(e.detail));
347
+ @change=${(e) => {
348
+ this.sortFacetAggregation(Number(e.detail));
349
349
  }}
350
- ></toggle-switch>`
350
+ ></toggle-switch>`
351
351
  : nothing}
352
- </span>`;
353
- }
354
- render() {
352
+ </span>`;
353
+ }
354
+ render() {
355
355
  return html `
356
- ${this.facetsLoading
357
- ? this.loaderTemplate
356
+ ${this.facetsLoading
357
+ ? this.loaderTemplate
358
358
  : html `
359
359
  <section id="more-facets">
360
360
  <div class="header-content">${this.modalHeaderTemplate}</div>
@@ -362,41 +362,41 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
362
362
  ${this.footerTemplate}
363
363
  </section>
364
364
  `}
365
- `;
366
- }
367
- applySearchFacetsClicked() {
368
- var _a, _b;
369
- const mergedSelections = mergeSelectedFacets(this.selectedFacets, this.unappliedFacetChanges);
370
- const event = new CustomEvent('facetsChanged', {
371
- detail: mergedSelections,
372
- bubbles: true,
373
- composed: true,
374
- });
375
- this.dispatchEvent(event);
376
- // Reset the unapplied changes back to default, now that they have been applied
377
- this.unappliedFacetChanges = getDefaultSelectedFacets();
378
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
379
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
380
- category: analyticsCategories.default,
381
- action: `${analyticsActions.applyMoreFacetsModal}`,
382
- label: `${this.facetKey}`,
383
- });
384
- }
385
- cancelClick() {
386
- var _a, _b;
387
- // Reset the unapplied changes back to default
388
- this.unappliedFacetChanges = getDefaultSelectedFacets();
389
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
390
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
391
- category: analyticsCategories.default,
392
- action: analyticsActions.closeMoreFacetsModal,
393
- label: `${this.facetKey}`,
394
- });
395
- }
396
- static get styles() {
397
- const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
398
- return [
399
- srOnlyStyle,
365
+ `;
366
+ }
367
+ applySearchFacetsClicked() {
368
+ var _a, _b;
369
+ const mergedSelections = mergeSelectedFacets(this.selectedFacets, this.unappliedFacetChanges);
370
+ const event = new CustomEvent('facetsChanged', {
371
+ detail: mergedSelections,
372
+ bubbles: true,
373
+ composed: true,
374
+ });
375
+ this.dispatchEvent(event);
376
+ // Reset the unapplied changes back to default, now that they have been applied
377
+ this.unappliedFacetChanges = getDefaultSelectedFacets();
378
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
379
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
380
+ category: analyticsCategories.default,
381
+ action: `${analyticsActions.applyMoreFacetsModal}`,
382
+ label: `${this.facetKey}`,
383
+ });
384
+ }
385
+ cancelClick() {
386
+ var _a, _b;
387
+ // Reset the unapplied changes back to default
388
+ this.unappliedFacetChanges = getDefaultSelectedFacets();
389
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
390
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
391
+ category: analyticsCategories.default,
392
+ action: analyticsActions.closeMoreFacetsModal,
393
+ label: `${this.facetKey}`,
394
+ });
395
+ }
396
+ static get styles() {
397
+ const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
398
+ return [
399
+ srOnlyStyle,
400
400
  css `
401
401
  section#more-facets {
402
402
  overflow: auto;
@@ -464,63 +464,63 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
464
464
  height: 300px;
465
465
  }
466
466
  }
467
- `,
468
- ];
469
- }
470
- };
471
- __decorate([
472
- property({ type: String })
473
- ], MoreFacetsContent.prototype, "facetKey", void 0);
474
- __decorate([
475
- property({ type: String })
476
- ], MoreFacetsContent.prototype, "query", void 0);
477
- __decorate([
478
- property({ type: Object })
479
- ], MoreFacetsContent.prototype, "filterMap", void 0);
480
- __decorate([
481
- property({ type: String })
482
- ], MoreFacetsContent.prototype, "searchType", void 0);
483
- __decorate([
484
- property({ type: Object })
485
- ], MoreFacetsContent.prototype, "pageSpecifierParams", void 0);
486
- __decorate([
487
- property({ type: Object })
488
- ], MoreFacetsContent.prototype, "collectionTitles", void 0);
489
- __decorate([
490
- property({ type: Number })
491
- ], MoreFacetsContent.prototype, "facetsPerPage", void 0);
492
- __decorate([
493
- property({ type: Boolean })
494
- ], MoreFacetsContent.prototype, "facetsLoading", void 0);
495
- __decorate([
496
- property({ type: Object })
497
- ], MoreFacetsContent.prototype, "selectedFacets", void 0);
498
- __decorate([
499
- property({ type: String })
500
- ], MoreFacetsContent.prototype, "sortedBy", void 0);
501
- __decorate([
502
- property({ type: Object })
503
- ], MoreFacetsContent.prototype, "modalManager", void 0);
504
- __decorate([
505
- property({ type: Object })
506
- ], MoreFacetsContent.prototype, "searchService", void 0);
507
- __decorate([
508
- property({ type: Object, attribute: false })
509
- ], MoreFacetsContent.prototype, "analyticsHandler", void 0);
510
- __decorate([
511
- state()
512
- ], MoreFacetsContent.prototype, "aggregations", void 0);
513
- __decorate([
514
- state()
515
- ], MoreFacetsContent.prototype, "facetGroup", void 0);
516
- __decorate([
517
- state()
518
- ], MoreFacetsContent.prototype, "unappliedFacetChanges", void 0);
519
- __decorate([
520
- state()
521
- ], MoreFacetsContent.prototype, "pageNumber", void 0);
522
- MoreFacetsContent = __decorate([
523
- customElement('more-facets-content')
524
- ], MoreFacetsContent);
525
- export { MoreFacetsContent };
467
+ `,
468
+ ];
469
+ }
470
+ };
471
+ __decorate([
472
+ property({ type: String })
473
+ ], MoreFacetsContent.prototype, "facetKey", void 0);
474
+ __decorate([
475
+ property({ type: String })
476
+ ], MoreFacetsContent.prototype, "query", void 0);
477
+ __decorate([
478
+ property({ type: Object })
479
+ ], MoreFacetsContent.prototype, "filterMap", void 0);
480
+ __decorate([
481
+ property({ type: String })
482
+ ], MoreFacetsContent.prototype, "searchType", void 0);
483
+ __decorate([
484
+ property({ type: Object })
485
+ ], MoreFacetsContent.prototype, "pageSpecifierParams", void 0);
486
+ __decorate([
487
+ property({ type: Object })
488
+ ], MoreFacetsContent.prototype, "collectionTitles", void 0);
489
+ __decorate([
490
+ property({ type: Number })
491
+ ], MoreFacetsContent.prototype, "facetsPerPage", void 0);
492
+ __decorate([
493
+ property({ type: Boolean })
494
+ ], MoreFacetsContent.prototype, "facetsLoading", void 0);
495
+ __decorate([
496
+ property({ type: Object })
497
+ ], MoreFacetsContent.prototype, "selectedFacets", void 0);
498
+ __decorate([
499
+ property({ type: String })
500
+ ], MoreFacetsContent.prototype, "sortedBy", void 0);
501
+ __decorate([
502
+ property({ type: Object })
503
+ ], MoreFacetsContent.prototype, "modalManager", void 0);
504
+ __decorate([
505
+ property({ type: Object })
506
+ ], MoreFacetsContent.prototype, "searchService", void 0);
507
+ __decorate([
508
+ property({ type: Object, attribute: false })
509
+ ], MoreFacetsContent.prototype, "analyticsHandler", void 0);
510
+ __decorate([
511
+ state()
512
+ ], MoreFacetsContent.prototype, "aggregations", void 0);
513
+ __decorate([
514
+ state()
515
+ ], MoreFacetsContent.prototype, "facetGroup", void 0);
516
+ __decorate([
517
+ state()
518
+ ], MoreFacetsContent.prototype, "unappliedFacetChanges", void 0);
519
+ __decorate([
520
+ state()
521
+ ], MoreFacetsContent.prototype, "pageNumber", void 0);
522
+ MoreFacetsContent = __decorate([
523
+ customElement('more-facets-content')
524
+ ], MoreFacetsContent);
525
+ export { MoreFacetsContent };
526
526
  //# sourceMappingURL=more-facets-content.js.map