@internetarchive/collection-browser 0.4.11 → 0.4.12

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 (251) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +50 -50
  12. package/dist/src/app-root.js +278 -278
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.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/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/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +280 -279
  68. package/dist/src/collection-browser.js +1175 -1156
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  71. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  72. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  73. package/dist/src/collection-facets/facets-template.js +125 -125
  74. package/dist/src/collection-facets/more-facets-content.d.ts +76 -75
  75. package/dist/src/collection-facets/more-facets-content.js +354 -377
  76. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +197 -195
  79. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  80. package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
  81. package/dist/src/collection-facets/toggle-switch.js +184 -0
  82. package/dist/src/collection-facets/toggle-switch.js.map +1 -0
  83. package/dist/src/collection-facets.d.ts +81 -81
  84. package/dist/src/collection-facets.js +375 -375
  85. package/dist/src/empty-placeholder.d.ts +13 -11
  86. package/dist/src/empty-placeholder.js +80 -44
  87. package/dist/src/empty-placeholder.js.map +1 -1
  88. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  89. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  90. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  91. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  92. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  93. package/dist/src/mediatype/mediatype-config.js +85 -85
  94. package/dist/src/models.d.ts +115 -115
  95. package/dist/src/models.js +125 -125
  96. package/dist/src/restoration-state-handler.d.ts +45 -45
  97. package/dist/src/restoration-state-handler.js +230 -230
  98. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  99. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  100. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
  101. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  102. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  104. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/list.js +2 -2
  106. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  108. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  110. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  111. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  112. package/dist/src/styles/item-image-styles.d.ts +8 -8
  113. package/dist/src/styles/item-image-styles.js +9 -9
  114. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  115. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  116. package/dist/src/tiles/grid/account-tile.d.ts +20 -20
  117. package/dist/src/tiles/grid/account-tile.js +64 -64
  118. package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
  119. package/dist/src/tiles/grid/collection-tile.js +71 -71
  120. package/dist/src/tiles/grid/item-tile.d.ts +32 -32
  121. package/dist/src/tiles/grid/item-tile.js +122 -122
  122. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  123. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  124. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  125. package/dist/src/tiles/grid/tile-stats.js +40 -40
  126. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  127. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  128. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  129. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  130. package/dist/src/tiles/image-block.d.ts +17 -17
  131. package/dist/src/tiles/image-block.js +72 -72
  132. package/dist/src/tiles/item-image.d.ts +35 -35
  133. package/dist/src/tiles/item-image.js +117 -117
  134. package/dist/src/tiles/list/account-label.d.ts +1 -1
  135. package/dist/src/tiles/list/account-label.js +6 -6
  136. package/dist/src/tiles/list/date-label.d.ts +1 -1
  137. package/dist/src/tiles/list/date-label.js +12 -12
  138. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  139. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  140. package/dist/src/tiles/list/tile-list-compact.d.ts +22 -21
  141. package/dist/src/tiles/list/tile-list-compact.js +114 -101
  142. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  143. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  144. package/dist/src/tiles/list/tile-list.js +304 -301
  145. package/dist/src/tiles/list/tile-list.js.map +1 -1
  146. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  147. package/dist/src/tiles/mediatype-icon.js +47 -47
  148. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  149. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  150. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  151. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  152. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  153. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  154. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  155. package/dist/src/tiles/text-snippet-block.js +73 -73
  156. package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
  157. package/dist/src/tiles/tile-dispatcher.js +194 -194
  158. package/dist/src/utils/analytics-events.d.ts +22 -22
  159. package/dist/src/utils/analytics-events.js +24 -24
  160. package/dist/src/utils/format-count.d.ts +7 -7
  161. package/dist/src/utils/format-count.js +76 -76
  162. package/dist/src/utils/format-date.d.ts +2 -2
  163. package/dist/src/utils/format-date.js +23 -23
  164. package/dist/src/utils/format-unit-size.d.ts +2 -2
  165. package/dist/src/utils/format-unit-size.js +33 -33
  166. package/dist/test/collection-browser.test.d.ts +1 -1
  167. package/dist/test/collection-browser.test.js +584 -584
  168. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  169. package/dist/test/collection-facets/facets-template.test.js +62 -62
  170. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  171. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  172. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  173. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  174. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
  175. package/dist/test/collection-facets/toggle-switch.test.js +87 -0
  176. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
  177. package/dist/test/collection-facets.test.d.ts +2 -2
  178. package/dist/test/collection-facets.test.js +460 -460
  179. package/dist/test/empty-placeholder.test.d.ts +1 -1
  180. package/dist/test/empty-placeholder.test.js +33 -33
  181. package/dist/test/icon-overlay.test.d.ts +1 -1
  182. package/dist/test/icon-overlay.test.js +24 -24
  183. package/dist/test/image-block.test.d.ts +1 -1
  184. package/dist/test/image-block.test.js +48 -48
  185. package/dist/test/item-image.test.d.ts +1 -1
  186. package/dist/test/item-image.test.js +84 -84
  187. package/dist/test/mediatype-config.test.d.ts +1 -1
  188. package/dist/test/mediatype-config.test.js +16 -16
  189. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  190. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  191. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  192. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  193. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  194. package/dist/test/mocks/mock-search-responses.js +341 -341
  195. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  196. package/dist/test/mocks/mock-search-service.js +40 -40
  197. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  198. package/dist/test/restoration-state-handler.test.js +125 -125
  199. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  200. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  201. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  202. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  203. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  204. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  205. package/dist/test/text-overlay.test.d.ts +1 -1
  206. package/dist/test/text-overlay.test.js +48 -48
  207. package/dist/test/text-snippet-block.test.d.ts +1 -1
  208. package/dist/test/text-snippet-block.test.js +57 -57
  209. package/dist/test/tile-stats.test.d.ts +1 -1
  210. package/dist/test/tile-stats.test.js +33 -33
  211. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  212. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  213. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  214. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  215. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  216. package/dist/test/tiles/grid/item-tile.test.js +158 -158
  217. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  218. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  219. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  220. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  221. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  222. package/dist/test/tiles/list/tile-list-compact.test.js +104 -92
  223. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  224. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  225. package/dist/test/tiles/list/tile-list.test.js +175 -163
  226. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  227. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  228. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  229. package/dist/test/utils/format-count.test.d.ts +1 -1
  230. package/dist/test/utils/format-count.test.js +23 -23
  231. package/dist/test/utils/format-date.test.d.ts +1 -1
  232. package/dist/test/utils/format-date.test.js +17 -17
  233. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  234. package/dist/test/utils/format-unit-size.test.js +17 -17
  235. package/local.archive.org.cert +86 -86
  236. package/local.archive.org.key +27 -27
  237. package/package.json +3 -3
  238. package/renovate.json +6 -6
  239. package/src/collection-browser.ts +25 -1
  240. package/src/collection-facets/more-facets-content.ts +25 -48
  241. package/src/collection-facets/more-facets-pagination.ts +5 -3
  242. package/src/collection-facets/toggle-switch.ts +184 -0
  243. package/src/empty-placeholder.ts +53 -7
  244. package/src/tiles/list/tile-list-compact.ts +15 -2
  245. package/src/tiles/list/tile-list.ts +3 -0
  246. package/test/collection-facets/toggle-switch.test.ts +154 -0
  247. package/test/tiles/list/tile-list-compact.test.ts +14 -0
  248. package/test/tiles/list/tile-list.test.ts +14 -0
  249. package/tsconfig.json +21 -21
  250. package/web-dev-server.config.mjs +30 -30
  251. package/web-test-runner.config.mjs +41 -41
@@ -1,250 +1,249 @@
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, } 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
- let MoreFacetsContent = class MoreFacetsContent extends LitElement {
13
- constructor() {
14
- super(...arguments);
15
- this.sortedBy = 'count';
16
- this.facetGroup = [];
17
- this.facetGroupTitle = '';
18
- this.pageNumber = 1;
19
- /**
20
- * Facets are loading on popup
21
- */
22
- this.facetsLoading = true;
23
- this.paginationSize = 0;
24
- this.facetsType = 'modal';
25
- this.facetsPerPage = 35;
26
- }
27
- updated(changed) {
28
- if (changed.has('facetKey')) {
29
- this.facetsLoading = true;
30
- this.pageNumber = 1;
31
- this.updateSpecificFacets();
32
- }
33
- if (changed.has('pageNumber')) {
34
- this.facetGroup = this.aggregationFacetGroups;
35
- }
36
- }
37
- firstUpdated() {
38
- this.setupEscapeListeners();
39
- }
40
- /**
41
- * Close more facets modal on Escape click
42
- */
43
- setupEscapeListeners() {
44
- if (this.modalManager) {
45
- document.addEventListener('keydown', (e) => {
46
- var _a;
47
- if (e.key === 'Escape') {
48
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
49
- }
50
- });
51
- }
52
- else {
53
- document.removeEventListener('keydown', () => { });
54
- }
55
- }
56
- /**
57
- * Get specific facets data from search-service API based of currently query params
58
- * - this.aggregations - hold result of search service and being used for further processing.
59
- */
60
- async updateSpecificFacets() {
61
- var _a, _b;
62
- const aggregations = {
63
- simpleParams: [this.facetAggregationKey],
64
- };
65
- const aggregationsSize = 65535; // todo - do we want to have all the records at once?
66
- const params = {
67
- query: this.query,
68
- filters: this.filterMap,
69
- aggregations,
70
- aggregationsSize,
71
- rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
72
- };
73
- const results = await ((_a = this.searchService) === null || _a === void 0 ? void 0 : _a.search(params, this.searchType));
74
- this.aggregations = (_b = results === null || results === void 0 ? void 0 : results.success) === null || _b === void 0 ? void 0 : _b.response.aggregations;
75
- this.facetGroup = this.aggregationFacetGroups;
76
- this.facetsLoading = false;
77
- }
78
- pageNumberClicked(e) {
79
- var _a, _b;
80
- const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
81
- if (page) {
82
- this.pageNumber = Number(page);
83
- }
84
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
85
- category: analyticsCategories.default,
86
- action: analyticsActions.moreFacetsPageChange,
87
- label: `${this.pageNumber}`,
88
- });
89
- }
90
- /**
91
- * Combines the selected facets with the aggregations to create a single list of facets
92
- */
93
- get mergedFacets() {
94
- var _a;
95
- const facetGroups = [];
96
- const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === this.facetKey);
97
- const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === this.facetKey);
98
- // if the user selected a facet, but it's not in the aggregation, we add it as-is
99
- if (selectedFacetGroup && !aggregateFacetGroup) {
100
- facetGroups.push(selectedFacetGroup);
101
- return facetGroups;
102
- }
103
- // if we don't have an aggregate facet group, don't add this to the list
104
- if (!aggregateFacetGroup)
105
- return facetGroups;
106
- // start with either the selected group if we have one, or the aggregate group
107
- const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
108
- // attach the counts to the selected buckets
109
- const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
110
- const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
111
- return selectedBucket
112
- ? {
113
- ...bucket,
114
- count: selectedBucket.count,
115
- }
116
- : bucket;
117
- })) !== null && _a !== void 0 ? _a : [];
118
- // append any additional buckets that were not selected
119
- aggregateFacetGroup.buckets.forEach(bucket => {
120
- const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
121
- if (existingBucket)
122
- return;
123
- bucketsWithCount.push(bucket);
124
- });
125
- facetGroup.buckets = bucketsWithCount;
126
- facetGroups.push(facetGroup);
127
- return facetGroups;
128
- }
129
- /**
130
- * Converts the selected facets to a `FacetGroup` array,
131
- * which is easier to work with
132
- */
133
- get selectedFacetGroups() {
134
- if (!this.selectedFacets)
135
- return [];
136
- const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
137
- const option = key;
138
- const title = facetTitles[option];
139
- const buckets = Object.entries(selectedFacets).map(([value, data]) => {
140
- const displayText = value;
141
- return {
142
- displayText,
143
- key: value,
144
- count: data === null || data === void 0 ? void 0 : data.count,
145
- state: data === null || data === void 0 ? void 0 : data.state,
146
- };
147
- });
148
- return {
149
- title,
150
- key: option,
151
- buckets,
152
- };
153
- });
154
- return facetGroups;
155
- }
156
- /**
157
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
158
- */
159
- get aggregationFacetGroups() {
160
- var _a;
161
- const facetGroups = [];
162
- Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
163
- // the year_histogram data is in a different format so can't be handled here
164
- if (key === 'year_histogram')
165
- return;
166
- const option = key;
167
- this.facetGroupTitle = facetTitles[option];
168
- // sort facets in specific order
169
- let castedBuckets = aggregation.getSortedBuckets(this.sortedBy === 'alpha'
170
- ? AggregationSortType.ALPHABETICAL
171
- : AggregationSortType.COUNT);
172
- if (option === 'collection') {
173
- // we are not showing fav- collections or certain deemphasized collections in facets
174
- castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
175
- var _a;
176
- const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
177
- return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
178
- });
179
- // asynchronously load the collection name
180
- this.preloadCollectionNames(castedBuckets);
181
- }
182
- // find length and pagination size for modal pagination
183
- const { length } = Object.keys(castedBuckets);
184
- this.paginationSize = Math.ceil(length / this.facetsPerPage);
185
- // render only items which will be visible as per this.facetsPerPage
186
- const bucketsMaxSix = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.slice((this.pageNumber - 1) * this.facetsPerPage, this.pageNumber * this.facetsPerPage);
187
- const facetBucket = bucketsMaxSix.map(bucket => {
188
- const bucketKey = bucket.key;
189
- return {
190
- displayText: `${bucket.key}`,
191
- key: `${bucketKey}`,
192
- count: bucket.doc_count,
193
- state: 'none',
194
- };
195
- });
196
- const group = {
197
- title: this.facetGroupTitle,
198
- key: option,
199
- buckets: facetBucket,
200
- };
201
- facetGroups.push(group);
202
- });
203
- return facetGroups;
204
- }
205
- /**
206
- * for collections, we need to asynchronously load the collection name
207
- * so we use the `async-collection-name` widget and for the rest, we have a static value to use
208
- *
209
- * @param castedBuckets
210
- */
211
- preloadCollectionNames(castedBuckets) {
212
- var _a;
213
- const collectionIds = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.map(option => option.key);
214
- const collectionIdsArray = Array.from(new Set(collectionIds));
215
- (_a = this.collectionNameCache) === null || _a === void 0 ? void 0 : _a.preloadIdentifiers(collectionIdsArray);
216
- }
217
- get getMoreFacetsTemplate() {
218
- 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, } 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
+ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.sortedBy = AggregationSortType.COUNT;
17
+ this.facetGroup = [];
18
+ this.facetGroupTitle = '';
19
+ this.pageNumber = 1;
20
+ /**
21
+ * Facets are loading on popup
22
+ */
23
+ this.facetsLoading = true;
24
+ this.paginationSize = 0;
25
+ this.facetsType = 'modal';
26
+ this.facetsPerPage = 35;
27
+ }
28
+ updated(changed) {
29
+ if (changed.has('facetKey')) {
30
+ this.facetsLoading = true;
31
+ this.pageNumber = 1;
32
+ this.updateSpecificFacets();
33
+ }
34
+ if (changed.has('pageNumber')) {
35
+ this.facetGroup = this.aggregationFacetGroups;
36
+ }
37
+ }
38
+ firstUpdated() {
39
+ this.setupEscapeListeners();
40
+ }
41
+ /**
42
+ * Close more facets modal on Escape click
43
+ */
44
+ setupEscapeListeners() {
45
+ if (this.modalManager) {
46
+ document.addEventListener('keydown', (e) => {
47
+ var _a;
48
+ if (e.key === 'Escape') {
49
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
50
+ }
51
+ });
52
+ }
53
+ else {
54
+ document.removeEventListener('keydown', () => { });
55
+ }
56
+ }
57
+ /**
58
+ * Get specific facets data from search-service API based of currently query params
59
+ * - this.aggregations - hold result of search service and being used for further processing.
60
+ */
61
+ async updateSpecificFacets() {
62
+ var _a, _b;
63
+ const aggregations = {
64
+ simpleParams: [this.facetAggregationKey],
65
+ };
66
+ const aggregationsSize = 65535; // todo - do we want to have all the records at once?
67
+ const params = {
68
+ query: this.query,
69
+ filters: this.filterMap,
70
+ aggregations,
71
+ aggregationsSize,
72
+ rows: 0, // todo - do we want server-side pagination with offset/page/limit flag?
73
+ };
74
+ const results = await ((_a = this.searchService) === null || _a === void 0 ? void 0 : _a.search(params, this.searchType));
75
+ this.aggregations = (_b = results === null || results === void 0 ? void 0 : results.success) === null || _b === void 0 ? void 0 : _b.response.aggregations;
76
+ this.facetGroup = this.aggregationFacetGroups;
77
+ this.facetsLoading = false;
78
+ }
79
+ pageNumberClicked(e) {
80
+ var _a, _b;
81
+ const page = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.page;
82
+ if (page) {
83
+ this.pageNumber = Number(page);
84
+ }
85
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
86
+ category: analyticsCategories.default,
87
+ action: analyticsActions.moreFacetsPageChange,
88
+ label: `${this.pageNumber}`,
89
+ });
90
+ }
91
+ /**
92
+ * Combines the selected facets with the aggregations to create a single list of facets
93
+ */
94
+ get mergedFacets() {
95
+ var _a;
96
+ const facetGroups = [];
97
+ const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === this.facetKey);
98
+ const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === this.facetKey);
99
+ // if the user selected a facet, but it's not in the aggregation, we add it as-is
100
+ if (selectedFacetGroup && !aggregateFacetGroup) {
101
+ facetGroups.push(selectedFacetGroup);
102
+ return facetGroups;
103
+ }
104
+ // if we don't have an aggregate facet group, don't add this to the list
105
+ if (!aggregateFacetGroup)
106
+ return facetGroups;
107
+ // start with either the selected group if we have one, or the aggregate group
108
+ const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
109
+ // attach the counts to the selected buckets
110
+ const bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
111
+ const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
112
+ return selectedBucket
113
+ ? {
114
+ ...bucket,
115
+ count: selectedBucket.count,
116
+ }
117
+ : bucket;
118
+ })) !== null && _a !== void 0 ? _a : [];
119
+ // append any additional buckets that were not selected
120
+ aggregateFacetGroup.buckets.forEach(bucket => {
121
+ const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
122
+ if (existingBucket)
123
+ return;
124
+ bucketsWithCount.push(bucket);
125
+ });
126
+ facetGroup.buckets = bucketsWithCount;
127
+ facetGroups.push(facetGroup);
128
+ return facetGroups;
129
+ }
130
+ /**
131
+ * Converts the selected facets to a `FacetGroup` array,
132
+ * which is easier to work with
133
+ */
134
+ get selectedFacetGroups() {
135
+ if (!this.selectedFacets)
136
+ return [];
137
+ const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
138
+ const option = key;
139
+ const title = facetTitles[option];
140
+ const buckets = Object.entries(selectedFacets).map(([value, data]) => {
141
+ const displayText = value;
142
+ return {
143
+ displayText,
144
+ key: value,
145
+ count: data === null || data === void 0 ? void 0 : data.count,
146
+ state: data === null || data === void 0 ? void 0 : data.state,
147
+ };
148
+ });
149
+ return {
150
+ title,
151
+ key: option,
152
+ buckets,
153
+ };
154
+ });
155
+ return facetGroups;
156
+ }
157
+ /**
158
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
159
+ */
160
+ get aggregationFacetGroups() {
161
+ var _a;
162
+ const facetGroups = [];
163
+ Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
164
+ // the year_histogram data is in a different format so can't be handled here
165
+ if (key === 'year_histogram')
166
+ return;
167
+ const option = key;
168
+ this.facetGroupTitle = facetTitles[option];
169
+ // sort facets in specific order
170
+ let castedBuckets = aggregation.getSortedBuckets(this.sortedBy);
171
+ if (option === 'collection') {
172
+ // we are not showing fav- collections or certain deemphasized collections in facets
173
+ castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
174
+ var _a;
175
+ const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
176
+ return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
177
+ });
178
+ // asynchronously load the collection name
179
+ this.preloadCollectionNames(castedBuckets);
180
+ }
181
+ // find length and pagination size for modal pagination
182
+ const { length } = Object.keys(castedBuckets);
183
+ this.paginationSize = Math.ceil(length / this.facetsPerPage);
184
+ // render only items which will be visible as per this.facetsPerPage
185
+ const bucketsMaxSix = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.slice((this.pageNumber - 1) * this.facetsPerPage, this.pageNumber * this.facetsPerPage);
186
+ const facetBucket = bucketsMaxSix.map(bucket => {
187
+ const bucketKey = bucket.key;
188
+ return {
189
+ displayText: `${bucket.key}`,
190
+ key: `${bucketKey}`,
191
+ count: bucket.doc_count,
192
+ state: 'none',
193
+ };
194
+ });
195
+ const group = {
196
+ title: this.facetGroupTitle,
197
+ key: option,
198
+ buckets: facetBucket,
199
+ };
200
+ facetGroups.push(group);
201
+ });
202
+ return facetGroups;
203
+ }
204
+ /**
205
+ * for collections, we need to asynchronously load the collection name
206
+ * so we use the `async-collection-name` widget and for the rest, we have a static value to use
207
+ *
208
+ * @param castedBuckets
209
+ */
210
+ preloadCollectionNames(castedBuckets) {
211
+ var _a;
212
+ const collectionIds = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.map(option => option.key);
213
+ const collectionIdsArray = Array.from(new Set(collectionIds));
214
+ (_a = this.collectionNameCache) === null || _a === void 0 ? void 0 : _a.preloadIdentifiers(collectionIdsArray);
215
+ }
216
+ get getMoreFacetsTemplate() {
217
+ var _a;
219
218
  return html `
220
219
  <facets-template
221
220
  .facetGroup=${(_a = this.mergedFacets) === null || _a === void 0 ? void 0 : _a.shift()}
222
221
  .selectedFacets=${this.selectedFacets}
223
222
  .renderOn=${'modal'}
224
223
  .collectionNameCache=${this.collectionNameCache}
225
- @selectedFacetsChanged=${(e) => {
226
- this.selectedFacets = e.detail;
224
+ @selectedFacetsChanged=${(e) => {
225
+ this.selectedFacets = e.detail;
227
226
  }}
228
227
  ></facets-template>
229
- `;
230
- }
231
- get loaderTemplate() {
228
+ `;
229
+ }
230
+ get loaderTemplate() {
232
231
  return html `<div class="facets-loader">
233
232
  <ia-activity-indicator .mode=${'processing'}></ia-activity-indicator>
234
- </div> `;
235
- }
236
- // render pagination if more then 1 page
237
- get facetsPaginationTemplate() {
238
- return this.paginationSize > 1
233
+ </div> `;
234
+ }
235
+ // render pagination if more then 1 page
236
+ get facetsPaginationTemplate() {
237
+ return this.paginationSize > 1
239
238
  ? html `<more-facets-pagination
240
239
  .size=${this.paginationSize}
241
240
  .currentPage=${1}
242
241
  @pageNumberClicked=${this.pageNumberClicked}
243
- ></more-facets-pagination>`
244
- : nothing;
245
- }
246
- get footerTemplate() {
247
- if (this.paginationSize > 0) {
242
+ ></more-facets-pagination>`
243
+ : nothing;
244
+ }
245
+ get footerTemplate() {
246
+ if (this.paginationSize > 0) {
248
247
  return html `${this.facetsPaginationTemplate}
249
248
  <div class="footer">
250
249
  <button
@@ -261,34 +260,35 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
261
260
  >
262
261
  Apply filters
263
262
  </button>
264
- </div> `;
265
- }
266
- return nothing;
267
- }
268
- sortFacetAggregation() {
269
- this.sortedBy = this.sortedBy === 'count' ? 'alpha' : 'count';
270
- this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
271
- }
272
- get getModalHeaderTemplate() {
273
- const title = this.sortedBy === 'alpha' ? 'Sort by count' : 'Sort by value';
263
+ </div> `;
264
+ }
265
+ return nothing;
266
+ }
267
+ sortFacetAggregation(facetSortType) {
268
+ this.sortedBy = facetSortType;
269
+ this.dispatchEvent(new CustomEvent('sortedFacets', { detail: this.sortedBy }));
270
+ }
271
+ get getModalHeaderTemplate() {
274
272
  return html `<span class="sr-only">More facets for:</span>
275
273
  <span class="title">
276
274
  ${this.facetGroupTitle}
277
- <button
278
- class="sort-button"
279
- @click=${(e) => {
280
- e.preventDefault();
281
- this.sortFacetAggregation();
275
+ <label class="sort-label">Sort by:</label>
276
+ <toggle-switch
277
+ class="sort-toggle"
278
+ leftValue=${AggregationSortType.COUNT}
279
+ leftLabel="Count"
280
+ rightValue=${AggregationSortType.ALPHABETICAL}
281
+ rightLabel=${this.facetGroupTitle}
282
+ @change=${(e) => {
283
+ this.sortFacetAggregation(Number(e.detail));
282
284
  }}
283
- >
284
- ${title}
285
- </button>
286
- </span>`;
287
- }
288
- render() {
285
+ ></toggle-switch>
286
+ </span>`;
287
+ }
288
+ render() {
289
289
  return html `
290
- ${this.facetsLoading
291
- ? this.loaderTemplate
290
+ ${this.facetsLoading
291
+ ? this.loaderTemplate
292
292
  : html `
293
293
  <section id="more-facets">
294
294
  <div class="header-content">${this.getModalHeaderTemplate}</div>
@@ -296,34 +296,34 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
296
296
  ${this.footerTemplate}
297
297
  </section>
298
298
  `}
299
- `;
300
- }
301
- applySearchFacetsClicked() {
302
- var _a, _b;
303
- const event = new CustomEvent('facetsChanged', {
304
- detail: this.selectedFacets,
305
- bubbles: true,
306
- composed: true,
307
- });
308
- this.dispatchEvent(event);
309
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
310
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
311
- category: analyticsCategories.default,
312
- action: `${analyticsActions.applyMoreFacetsModal}`,
313
- label: `${this.facetKey}`,
314
- });
315
- }
316
- cancelClick() {
317
- var _a, _b;
318
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
319
- (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
320
- category: analyticsCategories.default,
321
- action: analyticsActions.closeMoreFacetsModal,
322
- label: `${this.facetKey}`,
323
- });
324
- }
325
- static get styles() {
326
- const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
299
+ `;
300
+ }
301
+ applySearchFacetsClicked() {
302
+ var _a, _b;
303
+ const event = new CustomEvent('facetsChanged', {
304
+ detail: this.selectedFacets,
305
+ bubbles: true,
306
+ composed: true,
307
+ });
308
+ this.dispatchEvent(event);
309
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
310
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
311
+ category: analyticsCategories.default,
312
+ action: `${analyticsActions.applyMoreFacetsModal}`,
313
+ label: `${this.facetKey}`,
314
+ });
315
+ }
316
+ cancelClick() {
317
+ var _a, _b;
318
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.closeModal();
319
+ (_b = this.analyticsHandler) === null || _b === void 0 ? void 0 : _b.sendEvent({
320
+ category: analyticsCategories.default,
321
+ action: analyticsActions.closeMoreFacetsModal,
322
+ label: `${this.facetKey}`,
323
+ });
324
+ }
325
+ static get styles() {
326
+ const modalSubmitButton = css `var(--primaryButtonBGColor, #194880)`;
327
327
  return css `
328
328
  @media (max-width: 560px) {
329
329
  section#more-facets {
@@ -336,7 +336,7 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
336
336
  }
337
337
  section#more-facets {
338
338
  overflow: auto;
339
- padding: 10px; // leaves room for scroll bar to appear without overlaying on content
339
+ padding: 10px; /* leaves room for scroll bar to appear without overlaying on content */
340
340
  }
341
341
  .header-content .title {
342
342
  display: block;
@@ -345,40 +345,22 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
345
345
  padding: 0 10px;
346
346
  font-weight: bold;
347
347
  }
348
- .sort-button {
349
- margin-left: 0.7rem;
350
- padding: 0;
351
- border: none;
352
- background: transparent;
353
- color: var(--ia-theme-link-color, #4b64ff);
348
+
349
+ .sort-label {
350
+ margin-left: 20px;
354
351
  font-size: 1.3rem;
355
- font-weight: normal;
356
- cursor: pointer;
357
352
  }
358
- .sort-button:hover {
359
- text-decoration: underline;
353
+
354
+ .sort-toggle {
355
+ font-weight: normal;
360
356
  }
357
+
361
358
  .facets-content {
362
359
  font-size: 1.2rem;
363
360
  max-height: 300px;
364
361
  overflow: auto;
365
362
  padding: 10px;
366
363
  }
367
- .page-number {
368
- background: none;
369
- border: 0;
370
- cursor: pointer;
371
- border-radius: 100%;
372
- width: 25px;
373
- height: 25px;
374
- margin: 10px;
375
- font-size: 1.4rem;
376
- vertical-align: middle;
377
- }
378
- .current-page {
379
- background: black;
380
- color: white;
381
- }
382
364
  .facets-loader {
383
365
  margin-bottom: 20px;
384
366
  width: 70px;
@@ -395,7 +377,7 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
395
377
  cursor: pointer;
396
378
  }
397
379
  .btn-cancel {
398
- background-color: #000;
380
+ background-color: #2c2c2c;
399
381
  color: white;
400
382
  }
401
383
  .btn-submit {
@@ -417,70 +399,65 @@ let MoreFacetsContent = class MoreFacetsContent extends LitElement {
417
399
  clip: rect(0, 0, 0, 0);
418
400
  border: 0;
419
401
  }
420
- .sorting-icon {
421
- height: 15px;
422
- vertical-align: baseline;
423
- cursor: pointer;
424
- }
425
- `;
426
- }
427
- };
428
- __decorate([
429
- property({ type: String })
430
- ], MoreFacetsContent.prototype, "facetKey", void 0);
431
- __decorate([
432
- property({ type: String })
433
- ], MoreFacetsContent.prototype, "facetAggregationKey", void 0);
434
- __decorate([
435
- property({ type: String })
436
- ], MoreFacetsContent.prototype, "query", void 0);
437
- __decorate([
438
- property({ type: Object })
439
- ], MoreFacetsContent.prototype, "filterMap", void 0);
440
- __decorate([
441
- property({ type: Object })
442
- ], MoreFacetsContent.prototype, "modalManager", void 0);
443
- __decorate([
444
- property({ type: Object })
445
- ], MoreFacetsContent.prototype, "searchService", void 0);
446
- __decorate([
447
- property({ type: String })
448
- ], MoreFacetsContent.prototype, "searchType", void 0);
449
- __decorate([
450
- property({ type: Object })
451
- ], MoreFacetsContent.prototype, "collectionNameCache", 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 };
402
+ `;
403
+ }
404
+ };
405
+ __decorate([
406
+ property({ type: String })
407
+ ], MoreFacetsContent.prototype, "facetKey", void 0);
408
+ __decorate([
409
+ property({ type: String })
410
+ ], MoreFacetsContent.prototype, "facetAggregationKey", void 0);
411
+ __decorate([
412
+ property({ type: String })
413
+ ], MoreFacetsContent.prototype, "query", void 0);
414
+ __decorate([
415
+ property({ type: Object })
416
+ ], MoreFacetsContent.prototype, "filterMap", void 0);
417
+ __decorate([
418
+ property({ type: Object })
419
+ ], MoreFacetsContent.prototype, "modalManager", void 0);
420
+ __decorate([
421
+ property({ type: Object })
422
+ ], MoreFacetsContent.prototype, "searchService", void 0);
423
+ __decorate([
424
+ property({ type: String })
425
+ ], MoreFacetsContent.prototype, "searchType", void 0);
426
+ __decorate([
427
+ property({ type: Object })
428
+ ], MoreFacetsContent.prototype, "collectionNameCache", void 0);
429
+ __decorate([
430
+ property({ type: Object })
431
+ ], MoreFacetsContent.prototype, "selectedFacets", void 0);
432
+ __decorate([
433
+ property({ type: String })
434
+ ], MoreFacetsContent.prototype, "sortedBy", void 0);
435
+ __decorate([
436
+ property({ type: Object, attribute: false })
437
+ ], MoreFacetsContent.prototype, "analyticsHandler", void 0);
438
+ __decorate([
439
+ state()
440
+ ], MoreFacetsContent.prototype, "aggregations", void 0);
441
+ __decorate([
442
+ state()
443
+ ], MoreFacetsContent.prototype, "facetGroup", void 0);
444
+ __decorate([
445
+ state()
446
+ ], MoreFacetsContent.prototype, "facetGroupTitle", void 0);
447
+ __decorate([
448
+ state()
449
+ ], MoreFacetsContent.prototype, "pageNumber", void 0);
450
+ __decorate([
451
+ state()
452
+ ], MoreFacetsContent.prototype, "facetsLoading", void 0);
453
+ __decorate([
454
+ state()
455
+ ], MoreFacetsContent.prototype, "paginationSize", void 0);
456
+ __decorate([
457
+ state()
458
+ ], MoreFacetsContent.prototype, "facetsType", void 0);
459
+ MoreFacetsContent = __decorate([
460
+ customElement('more-facets-content')
461
+ ], MoreFacetsContent);
462
+ export { MoreFacetsContent };
486
463
  //# sourceMappingURL=more-facets-content.js.map