@internetarchive/collection-browser 1.14.17-beta.5 → 1.14.18-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) 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 +12 -11
  6. package/dist/index.js +12 -11
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +83 -83
  9. package/dist/src/app-root.js +438 -489
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +384 -406
  72. package/dist/src/collection-browser.js +1342 -1363
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +114 -114
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  79. package/dist/src/collection-facets/facets-template.js +114 -114
  80. package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
  81. package/dist/src/collection-facets/more-facets-content.js +354 -369
  82. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  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/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +513 -510
  89. package/dist/src/collection-facets.js.map +1 -1
  90. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +217 -0
  91. package/dist/src/data-source/collection-browser-data-source-interface.js +2 -0
  92. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -0
  93. package/dist/src/data-source/collection-browser-data-source.d.ts +352 -434
  94. package/dist/src/data-source/collection-browser-data-source.js +911 -800
  95. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  96. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -0
  97. package/dist/src/data-source/collection-browser-query-state.js +2 -0
  98. package/dist/src/data-source/collection-browser-query-state.js.map +1 -0
  99. package/dist/src/data-source/models.d.ts +28 -62
  100. package/dist/src/data-source/models.js +8 -1
  101. package/dist/src/data-source/models.js.map +1 -1
  102. package/dist/src/empty-placeholder.d.ts +23 -23
  103. package/dist/src/empty-placeholder.js +74 -74
  104. package/dist/src/expanded-date-picker.d.ts +43 -43
  105. package/dist/src/expanded-date-picker.js +109 -109
  106. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  107. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  108. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  109. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  110. package/dist/src/manage/manage-bar.d.ts +26 -26
  111. package/dist/src/manage/manage-bar.js +53 -53
  112. package/dist/src/manage/manage-bar.js.map +1 -1
  113. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  114. package/dist/src/mediatype/mediatype-config.js +91 -91
  115. package/dist/src/models.d.ts +197 -180
  116. package/dist/src/models.js +380 -269
  117. package/dist/src/models.js.map +1 -1
  118. package/dist/src/restoration-state-handler.d.ts +70 -70
  119. package/dist/src/restoration-state-handler.js +355 -355
  120. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  121. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  122. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  123. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  124. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  126. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/list.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  130. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  132. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  133. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  134. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  135. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  136. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  137. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  138. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +210 -210
  139. package/dist/src/sort-filter-bar/sort-filter-bar.js +653 -652
  140. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  141. package/dist/src/styles/item-image-styles.d.ts +8 -8
  142. package/dist/src/styles/item-image-styles.js +9 -9
  143. package/dist/src/styles/sr-only.d.ts +1 -1
  144. package/dist/src/styles/sr-only.js +2 -2
  145. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  146. package/dist/src/tiles/base-tile-component.js +63 -63
  147. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  148. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  149. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  150. package/dist/src/tiles/grid/account-tile.js +72 -72
  151. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  152. package/dist/src/tiles/grid/collection-tile.js +80 -80
  153. package/dist/src/tiles/grid/item-tile.d.ts +28 -27
  154. package/dist/src/tiles/grid/item-tile.js +162 -135
  155. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  156. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  157. package/dist/src/tiles/grid/search-tile.js +51 -51
  158. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  159. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  160. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  161. package/dist/src/tiles/grid/tile-stats.js +58 -53
  162. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  163. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  164. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  165. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  166. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  167. package/dist/src/tiles/image-block.d.ts +17 -17
  168. package/dist/src/tiles/image-block.js +73 -73
  169. package/dist/src/tiles/item-image.d.ts +39 -36
  170. package/dist/src/tiles/item-image.js +155 -127
  171. package/dist/src/tiles/item-image.js.map +1 -1
  172. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  173. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  174. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  175. package/dist/src/tiles/list/tile-list-compact.js +115 -115
  176. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  177. package/dist/src/tiles/list/tile-list.d.ts +47 -46
  178. package/dist/src/tiles/list/tile-list.js +327 -296
  179. package/dist/src/tiles/list/tile-list.js.map +1 -1
  180. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  181. package/dist/src/tiles/mediatype-icon.js +47 -47
  182. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  183. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  184. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  185. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  186. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  187. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  188. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  189. package/dist/src/tiles/text-snippet-block.js +73 -73
  190. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  191. package/dist/src/tiles/tile-dispatcher.js +232 -231
  192. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  193. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -43
  194. package/dist/src/tiles/tile-display-value-provider.js +94 -80
  195. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  196. package/dist/src/utils/analytics-events.d.ts +25 -25
  197. package/dist/src/utils/analytics-events.js +27 -27
  198. package/dist/src/utils/array-equals.d.ts +4 -4
  199. package/dist/src/utils/array-equals.js +10 -10
  200. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -0
  201. package/dist/src/utils/collapse-repeated-quotes.js +14 -0
  202. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -0
  203. package/dist/src/utils/format-count.d.ts +7 -7
  204. package/dist/src/utils/format-count.js +76 -76
  205. package/dist/src/utils/format-date.d.ts +2 -2
  206. package/dist/src/utils/format-date.js +25 -25
  207. package/dist/src/utils/format-unit-size.d.ts +2 -2
  208. package/dist/src/utils/format-unit-size.js +33 -33
  209. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  210. package/dist/src/utils/local-date-from-utc.js +15 -15
  211. package/dist/src/utils/log.d.ts +7 -0
  212. package/dist/src/utils/log.js +16 -0
  213. package/dist/src/utils/log.js.map +1 -0
  214. package/dist/src/utils/resolve-mediatype.d.ts +8 -0
  215. package/dist/src/utils/resolve-mediatype.js +24 -0
  216. package/dist/src/utils/resolve-mediatype.js.map +1 -0
  217. package/dist/src/utils/sha1.d.ts +2 -2
  218. package/dist/src/utils/sha1.js +8 -8
  219. package/dist/test/collection-browser.test.d.ts +1 -1
  220. package/dist/test/collection-browser.test.js +1211 -1149
  221. package/dist/test/collection-browser.test.js.map +1 -1
  222. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  223. package/dist/test/collection-facets/facet-row.test.js +203 -203
  224. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  225. package/dist/test/collection-facets/facets-template.test.js +105 -105
  226. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  227. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  228. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  229. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  230. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  231. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  232. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  233. package/dist/test/collection-facets.test.d.ts +2 -2
  234. package/dist/test/collection-facets.test.js +653 -648
  235. package/dist/test/collection-facets.test.js.map +1 -1
  236. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -0
  237. package/dist/test/data-source/collection-browser-data-source.test.js +80 -0
  238. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -0
  239. package/dist/test/empty-placeholder.test.d.ts +1 -1
  240. package/dist/test/empty-placeholder.test.js +63 -63
  241. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  242. package/dist/test/expanded-date-picker.test.js +95 -95
  243. package/dist/test/icon-overlay.test.d.ts +1 -1
  244. package/dist/test/icon-overlay.test.js +24 -24
  245. package/dist/test/image-block.test.d.ts +1 -1
  246. package/dist/test/image-block.test.js +48 -48
  247. package/dist/test/item-image.test.d.ts +1 -1
  248. package/dist/test/item-image.test.js +85 -86
  249. package/dist/test/item-image.test.js.map +1 -1
  250. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  251. package/dist/test/manage/manage-bar.test.js +72 -72
  252. package/dist/test/mediatype-config.test.d.ts +1 -1
  253. package/dist/test/mediatype-config.test.js +16 -16
  254. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  255. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  256. package/dist/test/mocks/mock-search-responses.d.ts +24 -21
  257. package/dist/test/mocks/mock-search-responses.js +840 -709
  258. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  259. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  260. package/dist/test/mocks/mock-search-service.js +53 -50
  261. package/dist/test/mocks/mock-search-service.js.map +1 -1
  262. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  263. package/dist/test/restoration-state-handler.test.js +270 -270
  264. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  265. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  266. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  267. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  268. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  269. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +418 -418
  270. package/dist/test/text-overlay.test.d.ts +1 -1
  271. package/dist/test/text-overlay.test.js +48 -48
  272. package/dist/test/text-snippet-block.test.d.ts +1 -1
  273. package/dist/test/text-snippet-block.test.js +57 -57
  274. package/dist/test/tile-stats.test.d.ts +1 -1
  275. package/dist/test/tile-stats.test.js +95 -33
  276. package/dist/test/tile-stats.test.js.map +1 -1
  277. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  278. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  279. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  280. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  281. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  282. package/dist/test/tiles/grid/item-tile.test.js +298 -254
  283. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  284. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  285. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  286. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  287. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -258
  288. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  289. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  290. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  291. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  292. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  293. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  294. package/dist/test/tiles/list/tile-list.test.js +283 -239
  295. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  296. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  297. package/dist/test/tiles/tile-dispatcher.test.js +106 -94
  298. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  299. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  300. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  301. package/dist/test/utils/array-equals.test.d.ts +1 -1
  302. package/dist/test/utils/array-equals.test.js +26 -26
  303. package/dist/test/utils/format-count.test.d.ts +1 -1
  304. package/dist/test/utils/format-count.test.js +23 -23
  305. package/dist/test/utils/format-date.test.d.ts +1 -1
  306. package/dist/test/utils/format-date.test.js +17 -17
  307. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  308. package/dist/test/utils/format-unit-size.test.js +17 -17
  309. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  310. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  311. package/index.ts +3 -5
  312. package/local.archive.org.cert +86 -86
  313. package/local.archive.org.key +27 -27
  314. package/package.json +3 -4
  315. package/renovate.json +6 -6
  316. package/src/app-root.ts +30 -85
  317. package/src/collection-browser.ts +112 -139
  318. package/src/collection-facets/more-facets-content.ts +0 -19
  319. package/src/collection-facets.ts +6 -4
  320. package/src/data-source/collection-browser-data-source-interface.ts +272 -0
  321. package/src/data-source/collection-browser-data-source.ts +314 -379
  322. package/src/data-source/collection-browser-query-state.ts +54 -0
  323. package/src/data-source/models.ts +8 -45
  324. package/src/manage/manage-bar.ts +1 -1
  325. package/src/models.ts +164 -3
  326. package/src/sort-filter-bar/sort-filter-bar.ts +2 -1
  327. package/src/tiles/grid/item-tile.ts +36 -1
  328. package/src/tiles/grid/tile-stats.ts +12 -7
  329. package/src/tiles/item-image.ts +28 -0
  330. package/src/tiles/list/tile-list-compact.ts +1 -1
  331. package/src/tiles/list/tile-list.ts +43 -5
  332. package/src/tiles/tile-dispatcher.ts +2 -1
  333. package/src/tiles/tile-display-value-provider.ts +20 -2
  334. package/src/utils/collapse-repeated-quotes.ts +13 -0
  335. package/src/utils/log.ts +16 -0
  336. package/src/utils/resolve-mediatype.ts +26 -0
  337. package/test/collection-browser.test.ts +161 -50
  338. package/test/collection-facets/more-facets-content.test.ts +4 -2
  339. package/test/collection-facets.test.ts +5 -0
  340. package/test/data-source/collection-browser-data-source.test.ts +103 -0
  341. package/test/item-image.test.ts +34 -36
  342. package/test/mocks/mock-search-responses.ts +144 -0
  343. package/test/mocks/mock-search-service.ts +6 -0
  344. package/test/tile-stats.test.ts +104 -0
  345. package/test/tiles/grid/item-tile.test.ts +55 -0
  346. package/test/tiles/hover/hover-pane-controller.test.ts +19 -17
  347. package/test/tiles/list/tile-list.test.ts +55 -0
  348. package/test/tiles/tile-dispatcher.test.ts +13 -0
  349. package/tsconfig.json +21 -21
  350. package/web-dev-server.config.mjs +30 -30
  351. package/web-test-runner.config.mjs +41 -41
  352. package/types/sentry.d.ts +0 -1
@@ -1,271 +1,256 @@
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 { facetTitles, suppressedCollections, valueFacetSort, defaultFacetSort, } from '../models';
8
- import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
9
- import './more-facets-pagination';
10
- import './facets-template';
11
- import { analyticsActions, analyticsCategories, } from '../utils/analytics-events';
12
- import './toggle-switch';
13
- import { srOnlyStyle } from '../styles/sr-only';
14
- let MoreFacetsContent = class MoreFacetsContent extends LitElement {
15
- constructor() {
16
- super(...arguments);
17
- this.sortedBy = AggregationSortType.COUNT;
18
- this.facetGroup = [];
19
- this.facetGroupTitle = '';
20
- this.pageNumber = 1;
21
- /**
22
- * Facets are loading on popup
23
- */
24
- this.facetsLoading = true;
25
- this.paginationSize = 0;
26
- this.facetsType = 'modal';
27
- this.facetsPerPage = 35;
28
- }
29
- updated(changed) {
30
- if (changed.has('facetKey') ||
31
- changed.has('facetAggregationKey') ||
32
- changed.has('query') ||
33
- changed.has('searchType') ||
34
- changed.has('filterMap')) {
35
- this.facetsLoading = true;
36
- this.pageNumber = 1;
37
- this.updateSpecificFacets();
38
- }
39
- if (changed.has('pageNumber')) {
40
- this.facetGroup = this.aggregationFacetGroups;
41
- }
42
- }
43
- firstUpdated() {
44
- this.setupEscapeListeners();
45
- }
46
- /**
47
- * Close more facets modal on Escape click
48
- */
49
- setupEscapeListeners() {
50
- if (this.modalManager) {
51
- document.addEventListener('keydown', (e) => {
52
- var _a;
53
- if (e.key === 'Escape') {
54
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
55
- }
56
- });
57
- }
58
- else {
59
- document.removeEventListener('keydown', () => { });
60
- }
61
- }
62
- /**
63
- * Get specific facets data from search-service API based of currently query params
64
- * - this.aggregations - hold result of search service and being used for further processing.
65
- */
66
- async updateSpecificFacets() {
67
- var _a, _b, _c, _d, _e, _f;
68
- const trimmedQuery = (_a = this.query) === null || _a === void 0 ? void 0 : _a.trim();
69
- console.log('updateSpecificFacets', {
70
- trimmedQuery,
71
- withinCollection: this.withinCollection,
72
- });
73
- if (!trimmedQuery && !this.withinCollection)
74
- return;
75
- const aggregations = {
76
- simpleParams: [this.facetAggregationKey],
77
- };
78
- const aggregationsSize = 65535; // todo - do we want to have all the records at once?
79
- const collectionParams = this.withinCollection
80
- ? {
81
- pageType: 'collection_details',
82
- pageTarget: this.withinCollection,
83
- }
84
- : null;
85
- const params = {
86
- ...collectionParams,
87
- query: trimmedQuery || '',
88
- filters: this.filterMap,
89
- aggregations,
90
- aggregationsSize,
91
- rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
92
- };
93
- console.log('updateSpecificFacets', {
94
- params,
95
- searchType: this.searchType,
96
- });
97
- console.log(' *** firing facet call *** ');
98
- const results = await ((_b = this.searchService) === null || _b === void 0 ? void 0 : _b.search(params, this.searchType));
99
- this.aggregations = (_c = results === null || results === void 0 ? void 0 : results.success) === null || _c === void 0 ? void 0 : _c.response.aggregations;
100
- this.facetGroup = this.aggregationFacetGroups;
101
- this.facetsLoading = false;
102
- console.log(' *** Returned facet call *** ', {
103
- results,
104
- aggregations: this.aggregations,
105
- facetGroup: this.facetGroup,
106
- facetsLoading: this.facetsLoading,
107
- });
108
- 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;
109
- if (collectionTitles) {
110
- for (const [id, title] of Object.entries(collectionTitles)) {
111
- (_f = this.collectionTitles) === null || _f === void 0 ? void 0 : _f.set(id, title);
112
- }
113
- }
114
- }
115
- pageNumberClicked(e) {
116
- var _a, _b;
117
- const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
118
- if (page) {
119
- this.pageNumber = Number(page);
120
- }
121
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
122
- category: analyticsCategories.default,
123
- action: analyticsActions.moreFacetsPageChange,
124
- label: `${this.pageNumber}`,
125
- });
126
- }
127
- /**
128
- * Combines the selected facets with the aggregations to create a single list of facets
129
- */
130
- get mergedFacets() {
131
- var _a;
132
- const facetGroups = [];
133
- const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === this.facetKey);
134
- const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === this.facetKey);
135
- // if the user selected a facet, but it's not in the aggregation, we add it as-is
136
- if (selectedFacetGroup && !aggregateFacetGroup) {
137
- facetGroups.push(selectedFacetGroup);
138
- return facetGroups;
139
- }
140
- // if we don't have an aggregate facet group, don't add this to the list
141
- if (!aggregateFacetGroup)
142
- return facetGroups;
143
- // start with either the selected group if we have one, or the aggregate group
144
- const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
145
- // attach the counts to the selected buckets
146
- const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
147
- const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
148
- return selectedBucket
149
- ? {
150
- ...bucket,
151
- count: selectedBucket.count,
152
- }
153
- : bucket;
154
- })) !== null && _a !== void 0 ? _a : [];
155
- // append any additional buckets that were not selected
156
- aggregateFacetGroup.buckets.forEach(bucket => {
157
- const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
158
- if (existingBucket)
159
- return;
160
- bucketsWithCount.push(bucket);
161
- });
162
- facetGroup.buckets = bucketsWithCount;
163
- facetGroups.push(facetGroup);
164
- return facetGroups;
165
- }
166
- /**
167
- * Converts the selected facets to a `FacetGroup` array,
168
- * which is easier to work with
169
- */
170
- get selectedFacetGroups() {
171
- if (!this.selectedFacets)
172
- return [];
173
- const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
174
- const option = key;
175
- const title = facetTitles[option];
176
- const buckets = Object.entries(selectedFacets).map(([value, data]) => {
177
- const displayText = value;
178
- return {
179
- displayText,
180
- key: value,
181
- count: data === null || data === void 0 ? void 0 : data.count,
182
- state: data === null || data === void 0 ? void 0 : data.state,
183
- };
184
- });
185
- return {
186
- title,
187
- key: option,
188
- buckets,
189
- };
190
- });
191
- return facetGroups;
192
- }
193
- /**
194
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
195
- */
196
- get aggregationFacetGroups() {
197
- var _a;
198
- const facetGroups = [];
199
- Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
200
- // the year_histogram data is in a different format so can't be handled here
201
- if (key === 'year_histogram')
202
- return;
203
- const option = key;
204
- this.facetGroupTitle = facetTitles[option];
205
- // sort facets in specific order
206
- let castedBuckets = aggregation.getSortedBuckets(this.sortedBy);
207
- if (option === 'collection') {
208
- // we are not showing fav- collections or certain deemphasized collections in facets
209
- castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
210
- var _a;
211
- const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
212
- return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
213
- });
214
- }
215
- // find length and pagination size for modal pagination
216
- const { length } = Object.keys(castedBuckets);
217
- this.paginationSize = Math.ceil(length / this.facetsPerPage);
218
- // render only items which will be visible as per this.facetsPerPage
219
- const bucketsMaxSix = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.slice((this.pageNumber - 1) * this.facetsPerPage, this.pageNumber * this.facetsPerPage);
220
- const facetBucket = bucketsMaxSix.map(bucket => {
221
- const bucketKey = bucket.key;
222
- return {
223
- displayText: `${bucket.key}`,
224
- key: `${bucketKey}`,
225
- count: bucket.doc_count,
226
- state: 'none',
227
- };
228
- });
229
- const group = {
230
- title: this.facetGroupTitle,
231
- key: option,
232
- buckets: facetBucket,
233
- };
234
- facetGroups.push(group);
235
- });
236
- return facetGroups;
237
- }
238
- get getMoreFacetsTemplate() {
239
- var _a;
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 { facetTitles, suppressedCollections, valueFacetSort, defaultFacetSort, } from '../models';
8
+ import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
9
+ import './more-facets-pagination';
10
+ import './facets-template';
11
+ import { analyticsActions, analyticsCategories, } from '../utils/analytics-events';
12
+ import './toggle-switch';
13
+ import { srOnlyStyle } from '../styles/sr-only';
14
+ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.sortedBy = AggregationSortType.COUNT;
18
+ this.facetGroup = [];
19
+ this.facetGroupTitle = '';
20
+ this.pageNumber = 1;
21
+ /**
22
+ * Facets are loading on popup
23
+ */
24
+ this.facetsLoading = true;
25
+ this.paginationSize = 0;
26
+ this.facetsType = 'modal';
27
+ this.facetsPerPage = 35;
28
+ }
29
+ updated(changed) {
30
+ if (changed.has('facetKey') ||
31
+ changed.has('facetAggregationKey') ||
32
+ changed.has('query') ||
33
+ changed.has('searchType') ||
34
+ changed.has('filterMap')) {
35
+ this.facetsLoading = true;
36
+ this.pageNumber = 1;
37
+ this.updateSpecificFacets();
38
+ }
39
+ if (changed.has('pageNumber')) {
40
+ this.facetGroup = this.aggregationFacetGroups;
41
+ }
42
+ }
43
+ firstUpdated() {
44
+ this.setupEscapeListeners();
45
+ }
46
+ /**
47
+ * Close more facets modal on Escape click
48
+ */
49
+ setupEscapeListeners() {
50
+ if (this.modalManager) {
51
+ document.addEventListener('keydown', (e) => {
52
+ var _a;
53
+ if (e.key === 'Escape') {
54
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
55
+ }
56
+ });
57
+ }
58
+ else {
59
+ document.removeEventListener('keydown', () => { });
60
+ }
61
+ }
62
+ /**
63
+ * Get specific facets data from search-service API based of currently query params
64
+ * - this.aggregations - hold result of search service and being used for further processing.
65
+ */
66
+ async updateSpecificFacets() {
67
+ var _a, _b, _c, _d, _e, _f;
68
+ const trimmedQuery = (_a = this.query) === null || _a === void 0 ? void 0 : _a.trim();
69
+ if (!trimmedQuery && !this.withinCollection)
70
+ return;
71
+ const aggregations = {
72
+ simpleParams: [this.facetAggregationKey],
73
+ };
74
+ const aggregationsSize = 65535; // todo - do we want to have all the records at once?
75
+ const collectionParams = this.withinCollection
76
+ ? {
77
+ pageType: 'collection_details',
78
+ pageTarget: this.withinCollection,
79
+ }
80
+ : null;
81
+ const params = {
82
+ ...collectionParams,
83
+ query: trimmedQuery || '',
84
+ filters: this.filterMap,
85
+ aggregations,
86
+ aggregationsSize,
87
+ rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
88
+ };
89
+ const results = await ((_b = this.searchService) === null || _b === void 0 ? void 0 : _b.search(params, this.searchType));
90
+ this.aggregations = (_c = results === null || results === void 0 ? void 0 : results.success) === null || _c === void 0 ? void 0 : _c.response.aggregations;
91
+ this.facetGroup = this.aggregationFacetGroups;
92
+ this.facetsLoading = false;
93
+ 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;
94
+ if (collectionTitles) {
95
+ for (const [id, title] of Object.entries(collectionTitles)) {
96
+ (_f = this.collectionTitles) === null || _f === void 0 ? void 0 : _f.set(id, title);
97
+ }
98
+ }
99
+ }
100
+ pageNumberClicked(e) {
101
+ var _a, _b;
102
+ const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
103
+ if (page) {
104
+ this.pageNumber = Number(page);
105
+ }
106
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
107
+ category: analyticsCategories.default,
108
+ action: analyticsActions.moreFacetsPageChange,
109
+ label: `${this.pageNumber}`,
110
+ });
111
+ }
112
+ /**
113
+ * Combines the selected facets with the aggregations to create a single list of facets
114
+ */
115
+ get mergedFacets() {
116
+ var _a;
117
+ const facetGroups = [];
118
+ const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === this.facetKey);
119
+ const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === this.facetKey);
120
+ // if the user selected a facet, but it's not in the aggregation, we add it as-is
121
+ if (selectedFacetGroup && !aggregateFacetGroup) {
122
+ facetGroups.push(selectedFacetGroup);
123
+ return facetGroups;
124
+ }
125
+ // if we don't have an aggregate facet group, don't add this to the list
126
+ if (!aggregateFacetGroup)
127
+ return facetGroups;
128
+ // start with either the selected group if we have one, or the aggregate group
129
+ const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
130
+ // attach the counts to the selected buckets
131
+ const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
132
+ const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
133
+ return selectedBucket
134
+ ? {
135
+ ...bucket,
136
+ count: selectedBucket.count,
137
+ }
138
+ : bucket;
139
+ })) !== null && _a !== void 0 ? _a : [];
140
+ // append any additional buckets that were not selected
141
+ aggregateFacetGroup.buckets.forEach(bucket => {
142
+ const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
143
+ if (existingBucket)
144
+ return;
145
+ bucketsWithCount.push(bucket);
146
+ });
147
+ facetGroup.buckets = bucketsWithCount;
148
+ facetGroups.push(facetGroup);
149
+ return facetGroups;
150
+ }
151
+ /**
152
+ * Converts the selected facets to a `FacetGroup` array,
153
+ * which is easier to work with
154
+ */
155
+ get selectedFacetGroups() {
156
+ if (!this.selectedFacets)
157
+ return [];
158
+ const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
159
+ const option = key;
160
+ const title = facetTitles[option];
161
+ const buckets = Object.entries(selectedFacets).map(([value, data]) => {
162
+ const displayText = value;
163
+ return {
164
+ displayText,
165
+ key: value,
166
+ count: data === null || data === void 0 ? void 0 : data.count,
167
+ state: data === null || data === void 0 ? void 0 : data.state,
168
+ };
169
+ });
170
+ return {
171
+ title,
172
+ key: option,
173
+ buckets,
174
+ };
175
+ });
176
+ return facetGroups;
177
+ }
178
+ /**
179
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
180
+ */
181
+ get aggregationFacetGroups() {
182
+ var _a;
183
+ const facetGroups = [];
184
+ Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
185
+ // the year_histogram data is in a different format so can't be handled here
186
+ if (key === 'year_histogram')
187
+ return;
188
+ const option = key;
189
+ this.facetGroupTitle = facetTitles[option];
190
+ // sort facets in specific order
191
+ let castedBuckets = aggregation.getSortedBuckets(this.sortedBy);
192
+ if (option === 'collection') {
193
+ // we are not showing fav- collections or certain deemphasized collections in facets
194
+ castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
195
+ var _a;
196
+ const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
197
+ return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
198
+ });
199
+ }
200
+ // find length and pagination size for modal pagination
201
+ const { length } = Object.keys(castedBuckets);
202
+ this.paginationSize = Math.ceil(length / this.facetsPerPage);
203
+ // render only items which will be visible as per this.facetsPerPage
204
+ const bucketsMaxSix = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.slice((this.pageNumber - 1) * this.facetsPerPage, this.pageNumber * this.facetsPerPage);
205
+ const facetBucket = bucketsMaxSix.map(bucket => {
206
+ const bucketKey = bucket.key;
207
+ return {
208
+ displayText: `${bucket.key}`,
209
+ key: `${bucketKey}`,
210
+ count: bucket.doc_count,
211
+ state: 'none',
212
+ };
213
+ });
214
+ const group = {
215
+ title: this.facetGroupTitle,
216
+ key: option,
217
+ buckets: facetBucket,
218
+ };
219
+ facetGroups.push(group);
220
+ });
221
+ return facetGroups;
222
+ }
223
+ get getMoreFacetsTemplate() {
224
+ var _a;
240
225
  return html `
241
226
  <facets-template
242
227
  .facetGroup=${(_a = this.mergedFacets) === null || _a === void 0 ? void 0 : _a.shift()}
243
228
  .selectedFacets=${this.selectedFacets}
244
229
  .renderOn=${'modal'}
245
230
  .collectionTitles=${this.collectionTitles}
246
- @selectedFacetsChanged=${(e) => {
247
- this.selectedFacets = e.detail;
231
+ @selectedFacetsChanged=${(e) => {
232
+ this.selectedFacets = e.detail;
248
233
  }}
249
234
  ></facets-template>
250
- `;
251
- }
252
- get loaderTemplate() {
235
+ `;
236
+ }
237
+ get loaderTemplate() {
253
238
  return html `<div class="facets-loader">
254
239
  <ia-activity-indicator .mode=${'processing'}></ia-activity-indicator>
255
- </div> `;
256
- }
257
- // render pagination if more then 1 page
258
- get facetsPaginationTemplate() {
259
- return this.paginationSize > 1
240
+ </div> `;
241
+ }
242
+ // render pagination if more then 1 page
243
+ get facetsPaginationTemplate() {
244
+ return this.paginationSize > 1
260
245
  ? html `<more-facets-pagination
261
246
  .size=${this.paginationSize}
262
247
  .currentPage=${1}
263
248
  @pageNumberClicked=${this.pageNumberClicked}
264
- ></more-facets-pagination>`
265
- : nothing;
266
- }
267
- get footerTemplate() {
268
- if (this.paginationSize > 0) {
249
+ ></more-facets-pagination>`
250
+ : nothing;
251
+ }
252
+ get footerTemplate() {
253
+ if (this.paginationSize > 0) {
269
254
  return html `${this.facetsPaginationTemplate}
270
255
  <div class="footer">
271
256
  <button
@@ -282,23 +267,23 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
282
267
  >
283
268
  Apply filters
284
269
  </button>
285
- </div> `;
286
- }
287
- return nothing;
288
- }
289
- sortFacetAggregation(facetSortType) {
290
- this.sortedBy = facetSortType;
291
- this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
292
- }
293
- get getModalHeaderTemplate() {
294
- const facetSort = defaultFacetSort[this.facetKey];
295
- const defaultSwitchSide = facetSort === AggregationSortType.COUNT ? 'left' : 'right';
270
+ </div> `;
271
+ }
272
+ return nothing;
273
+ }
274
+ sortFacetAggregation(facetSortType) {
275
+ this.sortedBy = facetSortType;
276
+ this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
277
+ }
278
+ get getModalHeaderTemplate() {
279
+ const facetSort = defaultFacetSort[this.facetKey];
280
+ const defaultSwitchSide = facetSort === AggregationSortType.COUNT ? 'left' : 'right';
296
281
  return html `<span class="sr-only">More facets for:</span>
297
282
  <span class="title">
298
283
  ${this.facetGroupTitle}
299
284
 
300
285
  <label class="sort-label">Sort by:</label>
301
- ${this.facetKey
286
+ ${this.facetKey
302
287
  ? html `<toggle-switch
303
288
  class="sort-toggle"
304
289
  leftValue=${AggregationSortType.COUNT}
@@ -306,17 +291,17 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
306
291
  rightValue=${valueFacetSort[this.facetKey]}
307
292
  rightLabel=${this.facetGroupTitle}
308
293
  side=${defaultSwitchSide}
309
- @change=${(e) => {
310
- this.sortFacetAggregation(Number(e.detail));
294
+ @change=${(e) => {
295
+ this.sortFacetAggregation(Number(e.detail));
311
296
  }}
312
- ></toggle-switch>`
297
+ ></toggle-switch>`
313
298
  : nothing}
314
- </span>`;
315
- }
316
- render() {
299
+ </span>`;
300
+ }
301
+ render() {
317
302
  return html `
318
- ${this.facetsLoading
319
- ? this.loaderTemplate
303
+ ${this.facetsLoading
304
+ ? this.loaderTemplate
320
305
  : html `
321
306
  <section id="more-facets">
322
307
  <div class="header-content">${this.getModalHeaderTemplate}</div>
@@ -324,36 +309,36 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
324
309
  ${this.footerTemplate}
325
310
  </section>
326
311
  `}
327
- `;
328
- }
329
- applySearchFacetsClicked() {
330
- var _a, _b;
331
- const event = new CustomEvent('facetsChanged', {
332
- detail: this.selectedFacets,
333
- bubbles: true,
334
- composed: true,
335
- });
336
- this.dispatchEvent(event);
337
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
338
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
339
- category: analyticsCategories.default,
340
- action: `${analyticsActions.applyMoreFacetsModal}`,
341
- label: `${this.facetKey}`,
342
- });
343
- }
344
- cancelClick() {
345
- var _a, _b;
346
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
347
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
348
- category: analyticsCategories.default,
349
- action: analyticsActions.closeMoreFacetsModal,
350
- label: `${this.facetKey}`,
351
- });
352
- }
353
- static get styles() {
354
- const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
355
- return [
356
- srOnlyStyle,
312
+ `;
313
+ }
314
+ applySearchFacetsClicked() {
315
+ var _a, _b;
316
+ const event = new CustomEvent('facetsChanged', {
317
+ detail: this.selectedFacets,
318
+ bubbles: true,
319
+ composed: true,
320
+ });
321
+ this.dispatchEvent(event);
322
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
323
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
324
+ category: analyticsCategories.default,
325
+ action: `${analyticsActions.applyMoreFacetsModal}`,
326
+ label: `${this.facetKey}`,
327
+ });
328
+ }
329
+ cancelClick() {
330
+ var _a, _b;
331
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
332
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
333
+ category: analyticsCategories.default,
334
+ action: analyticsActions.closeMoreFacetsModal,
335
+ label: `${this.facetKey}`,
336
+ });
337
+ }
338
+ static get styles() {
339
+ const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
340
+ return [
341
+ srOnlyStyle,
357
342
  css `
358
343
  @media (max-width: 560px) {
359
344
  section#more-facets {
@@ -418,69 +403,69 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
418
403
  text-align: center;
419
404
  margin-top: 10px;
420
405
  }
421
- `,
422
- ];
423
- }
424
- };
425
- __decorate([
426
- property({ type: String })
427
- ], MoreFacetsContent.prototype, "facetKey", void 0);
428
- __decorate([
429
- property({ type: String })
430
- ], MoreFacetsContent.prototype, "facetAggregationKey", void 0);
431
- __decorate([
432
- property({ type: String })
433
- ], MoreFacetsContent.prototype, "query", void 0);
434
- __decorate([
435
- property({ type: Object })
436
- ], MoreFacetsContent.prototype, "filterMap", void 0);
437
- __decorate([
438
- property({ type: Object })
439
- ], MoreFacetsContent.prototype, "modalManager", void 0);
440
- __decorate([
441
- property({ type: Object })
442
- ], MoreFacetsContent.prototype, "searchService", void 0);
443
- __decorate([
444
- property({ type: String })
445
- ], MoreFacetsContent.prototype, "searchType", void 0);
446
- __decorate([
447
- property({ type: String })
448
- ], MoreFacetsContent.prototype, "withinCollection", void 0);
449
- __decorate([
450
- property({ type: Object })
451
- ], MoreFacetsContent.prototype, "collectionTitles", void 0);
452
- __decorate([
453
- property({ type: Object })
454
- ], MoreFacetsContent.prototype, "selectedFacets", void 0);
455
- __decorate([
456
- property({ type: String })
457
- ], MoreFacetsContent.prototype, "sortedBy", void 0);
458
- __decorate([
459
- property({ type: Object, attribute: false })
460
- ], MoreFacetsContent.prototype, "analyticsHandler", void 0);
461
- __decorate([
462
- state()
463
- ], MoreFacetsContent.prototype, "aggregations", void 0);
464
- __decorate([
465
- state()
466
- ], MoreFacetsContent.prototype, "facetGroup", void 0);
467
- __decorate([
468
- state()
469
- ], MoreFacetsContent.prototype, "facetGroupTitle", void 0);
470
- __decorate([
471
- state()
472
- ], MoreFacetsContent.prototype, "pageNumber", void 0);
473
- __decorate([
474
- state()
475
- ], MoreFacetsContent.prototype, "facetsLoading", void 0);
476
- __decorate([
477
- state()
478
- ], MoreFacetsContent.prototype, "paginationSize", void 0);
479
- __decorate([
480
- state()
481
- ], MoreFacetsContent.prototype, "facetsType", void 0);
482
- MoreFacetsContent = __decorate([
483
- customElement('more-facets-content')
484
- ], MoreFacetsContent);
485
- export { MoreFacetsContent };
406
+ `,
407
+ ];
408
+ }
409
+ };
410
+ __decorate([
411
+ property({ type: String })
412
+ ], MoreFacetsContent.prototype, "facetKey", void 0);
413
+ __decorate([
414
+ property({ type: String })
415
+ ], MoreFacetsContent.prototype, "facetAggregationKey", void 0);
416
+ __decorate([
417
+ property({ type: String })
418
+ ], MoreFacetsContent.prototype, "query", void 0);
419
+ __decorate([
420
+ property({ type: Object })
421
+ ], MoreFacetsContent.prototype, "filterMap", void 0);
422
+ __decorate([
423
+ property({ type: Object })
424
+ ], MoreFacetsContent.prototype, "modalManager", void 0);
425
+ __decorate([
426
+ property({ type: Object })
427
+ ], MoreFacetsContent.prototype, "searchService", void 0);
428
+ __decorate([
429
+ property({ type: String })
430
+ ], MoreFacetsContent.prototype, "searchType", void 0);
431
+ __decorate([
432
+ property({ type: String })
433
+ ], MoreFacetsContent.prototype, "withinCollection", void 0);
434
+ __decorate([
435
+ property({ type: Object })
436
+ ], MoreFacetsContent.prototype, "collectionTitles", void 0);
437
+ __decorate([
438
+ property({ type: Object })
439
+ ], MoreFacetsContent.prototype, "selectedFacets", void 0);
440
+ __decorate([
441
+ property({ type: String })
442
+ ], MoreFacetsContent.prototype, "sortedBy", void 0);
443
+ __decorate([
444
+ property({ type: Object, attribute: false })
445
+ ], MoreFacetsContent.prototype, "analyticsHandler", void 0);
446
+ __decorate([
447
+ state()
448
+ ], MoreFacetsContent.prototype, "aggregations", void 0);
449
+ __decorate([
450
+ state()
451
+ ], MoreFacetsContent.prototype, "facetGroup", void 0);
452
+ __decorate([
453
+ state()
454
+ ], MoreFacetsContent.prototype, "facetGroupTitle", void 0);
455
+ __decorate([
456
+ state()
457
+ ], MoreFacetsContent.prototype, "pageNumber", void 0);
458
+ __decorate([
459
+ state()
460
+ ], MoreFacetsContent.prototype, "facetsLoading", void 0);
461
+ __decorate([
462
+ state()
463
+ ], MoreFacetsContent.prototype, "paginationSize", void 0);
464
+ __decorate([
465
+ state()
466
+ ], MoreFacetsContent.prototype, "facetsType", void 0);
467
+ MoreFacetsContent = __decorate([
468
+ customElement('more-facets-content')
469
+ ], MoreFacetsContent);
470
+ export { MoreFacetsContent };
486
471
  //# sourceMappingURL=more-facets-content.js.map