@internetarchive/collection-browser 0.4.8 → 0.4.9-alpha.1

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 (225) 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 +281 -277
  68. package/dist/src/collection-browser.js +1200 -1194
  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 +77 -77
  75. package/dist/src/collection-facets/more-facets-content.js +357 -357
  76. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  77. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  78. package/dist/src/collection-facets.d.ts +83 -77
  79. package/dist/src/collection-facets.js +402 -384
  80. package/dist/src/collection-facets.js.map +1 -1
  81. package/dist/src/empty-placeholder.d.ts +11 -11
  82. package/dist/src/empty-placeholder.js +42 -42
  83. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  84. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  85. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  86. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  87. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  88. package/dist/src/mediatype/mediatype-config.js +85 -85
  89. package/dist/src/models.d.ts +114 -114
  90. package/dist/src/models.js +125 -125
  91. package/dist/src/restoration-state-handler.d.ts +45 -45
  92. package/dist/src/restoration-state-handler.js +230 -230
  93. package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
  94. package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
  95. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  97. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/list.js +2 -2
  99. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  101. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  103. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  104. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  105. package/dist/src/styles/item-image-styles.d.ts +8 -8
  106. package/dist/src/styles/item-image-styles.js +9 -9
  107. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  108. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  109. package/dist/src/tiles/grid/account-tile.d.ts +17 -17
  110. package/dist/src/tiles/grid/account-tile.js +46 -46
  111. package/dist/src/tiles/grid/collection-tile.d.ts +14 -14
  112. package/dist/src/tiles/grid/collection-tile.js +53 -53
  113. package/dist/src/tiles/grid/item-tile.d.ts +29 -29
  114. package/dist/src/tiles/grid/item-tile.js +108 -108
  115. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  116. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  117. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  118. package/dist/src/tiles/grid/tile-stats.js +40 -40
  119. package/dist/src/tiles/hover/hover-pane-controller.d.ts +197 -197
  120. package/dist/src/tiles/hover/hover-pane-controller.js +331 -331
  121. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  122. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  123. package/dist/src/tiles/image-block.d.ts +17 -17
  124. package/dist/src/tiles/image-block.js +72 -72
  125. package/dist/src/tiles/item-image.d.ts +35 -35
  126. package/dist/src/tiles/item-image.js +117 -117
  127. package/dist/src/tiles/list/account-label.d.ts +1 -1
  128. package/dist/src/tiles/list/account-label.js +6 -6
  129. package/dist/src/tiles/list/date-label.d.ts +1 -1
  130. package/dist/src/tiles/list/date-label.js +12 -12
  131. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  132. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  133. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  134. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  135. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  136. package/dist/src/tiles/list/tile-list.js +297 -297
  137. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  138. package/dist/src/tiles/mediatype-icon.js +47 -47
  139. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  140. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  141. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  142. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  143. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  144. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  145. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  146. package/dist/src/tiles/text-snippet-block.js +73 -73
  147. package/dist/src/tiles/tile-dispatcher.d.ts +55 -55
  148. package/dist/src/tiles/tile-dispatcher.js +176 -176
  149. package/dist/src/utils/analytics-events.d.ts +22 -22
  150. package/dist/src/utils/analytics-events.js +24 -24
  151. package/dist/src/utils/format-count.d.ts +7 -7
  152. package/dist/src/utils/format-count.js +76 -76
  153. package/dist/src/utils/format-date.d.ts +2 -2
  154. package/dist/src/utils/format-date.js +23 -23
  155. package/dist/src/utils/format-unit-size.d.ts +2 -2
  156. package/dist/src/utils/format-unit-size.js +33 -33
  157. package/dist/test/collection-browser.test.d.ts +1 -1
  158. package/dist/test/collection-browser.test.js +584 -584
  159. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  160. package/dist/test/collection-facets/facets-template.test.js +62 -62
  161. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  162. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  163. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  164. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  165. package/dist/test/collection-facets.test.d.ts +2 -2
  166. package/dist/test/collection-facets.test.js +508 -508
  167. package/dist/test/empty-placeholder.test.d.ts +1 -1
  168. package/dist/test/empty-placeholder.test.js +33 -33
  169. package/dist/test/icon-overlay.test.d.ts +1 -1
  170. package/dist/test/icon-overlay.test.js +24 -24
  171. package/dist/test/image-block.test.d.ts +1 -1
  172. package/dist/test/image-block.test.js +48 -48
  173. package/dist/test/item-image.test.d.ts +1 -1
  174. package/dist/test/item-image.test.js +84 -84
  175. package/dist/test/mediatype-config.test.d.ts +1 -1
  176. package/dist/test/mediatype-config.test.js +16 -16
  177. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  178. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  179. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  180. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  181. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  182. package/dist/test/mocks/mock-search-responses.js +341 -341
  183. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  184. package/dist/test/mocks/mock-search-service.js +40 -40
  185. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  186. package/dist/test/restoration-state-handler.test.js +125 -125
  187. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  188. package/dist/test/sort-filter-bar/alpha-bar.test.js +43 -43
  189. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  190. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  191. package/dist/test/text-overlay.test.d.ts +1 -1
  192. package/dist/test/text-overlay.test.js +48 -48
  193. package/dist/test/text-snippet-block.test.d.ts +1 -1
  194. package/dist/test/text-snippet-block.test.js +57 -57
  195. package/dist/test/tile-stats.test.d.ts +1 -1
  196. package/dist/test/tile-stats.test.js +33 -33
  197. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  198. package/dist/test/tiles/grid/account-tile.test.js +60 -60
  199. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  200. package/dist/test/tiles/grid/collection-tile.test.js +57 -57
  201. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  202. package/dist/test/tiles/grid/item-tile.test.js +142 -142
  203. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  204. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  205. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  206. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  207. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  208. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  209. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  210. package/dist/test/tiles/list/tile-list.test.js +163 -163
  211. package/dist/test/utils/format-count.test.d.ts +1 -1
  212. package/dist/test/utils/format-count.test.js +23 -23
  213. package/dist/test/utils/format-date.test.d.ts +1 -1
  214. package/dist/test/utils/format-date.test.js +17 -17
  215. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  216. package/dist/test/utils/format-unit-size.test.js +17 -17
  217. package/local.archive.org.cert +86 -86
  218. package/local.archive.org.key +27 -27
  219. package/package.json +1 -1
  220. package/renovate.json +6 -6
  221. package/src/collection-browser.ts +7 -0
  222. package/src/collection-facets.ts +22 -1
  223. package/tsconfig.json +21 -21
  224. package/web-dev-server.config.mjs +30 -30
  225. package/web-test-runner.config.mjs +41 -41
@@ -1,73 +1,82 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable import/no-duplicates */
3
- import { css, html, LitElement, nothing, } from 'lit';
4
- import { customElement, property, state } from 'lit/decorators.js';
5
- import { map } from 'lit/directives/map.js';
6
- import '@internetarchive/histogram-date-range';
7
- import '@internetarchive/feature-feedback';
8
- import '@internetarchive/collection-name-cache';
9
- import { ModalConfig, } from '@internetarchive/modal-manager';
10
- import chevronIcon from './assets/img/icons/chevron';
11
- import { facetDisplayOrder, facetTitles, lendingFacetDisplayNames, lendingFacetKeysVisibility, suppressedCollections, } from './models';
12
- import './collection-facets/more-facets-content';
13
- import './collection-facets/facets-template';
14
- import './collection-facets/facet-tombstone-row';
15
- import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
16
- let CollectionFacets = class CollectionFacets extends LitElement {
17
- constructor() {
18
- super(...arguments);
19
- this.moreLinksVisible = true;
20
- this.facetsLoading = false;
21
- this.fullYearAggregationLoading = false;
22
- this.collapsableFacets = false;
23
- this.showHistogramDatePicker = false;
24
- this.openFacets = {
25
- subject: false,
26
- lending: false,
27
- mediatype: false,
28
- language: false,
29
- creator: false,
30
- collection: false,
31
- year: false,
32
- };
33
- this.allowedFacetCount = 6;
34
- }
35
- render() {
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable import/no-duplicates */
3
+ import { css, html, LitElement, nothing, } from 'lit';
4
+ import { customElement, property, state } from 'lit/decorators.js';
5
+ import { map } from 'lit/directives/map.js';
6
+ import '@internetarchive/histogram-date-range';
7
+ import '@internetarchive/feature-feedback';
8
+ import '@internetarchive/collection-name-cache';
9
+ import { ModalConfig, } from '@internetarchive/modal-manager';
10
+ import chevronIcon from './assets/img/icons/chevron';
11
+ import { facetDisplayOrder, facetTitles, lendingFacetDisplayNames, lendingFacetKeysVisibility, suppressedCollections, } from './models';
12
+ import './collection-facets/more-facets-content';
13
+ import './collection-facets/facets-template';
14
+ import './collection-facets/facet-tombstone-row';
15
+ import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
16
+ let CollectionFacets = class CollectionFacets extends LitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.moreLinksVisible = true;
20
+ this.facetsLoading = false;
21
+ this.fullYearAggregationLoading = false;
22
+ this.collapsableFacets = false;
23
+ this.showHistogramDatePicker = false;
24
+ this.openFacets = {
25
+ subject: false,
26
+ lending: false,
27
+ mediatype: false,
28
+ language: false,
29
+ creator: false,
30
+ collection: false,
31
+ year: false,
32
+ };
33
+ this.allowedFacetCount = 6;
34
+ }
35
+ render() {
36
36
  return html `
37
37
  <div id="container" class="${this.facetsLoading ? 'loading' : ''}">
38
- ${this.showHistogramDatePicker &&
39
- (this.fullYearsHistogramAggregation || this.fullYearAggregationLoading)
38
+ ${this.showHistogramDatePicker &&
39
+ (this.fullYearsHistogramAggregation || this.fullYearAggregationLoading)
40
40
  ? html `
41
41
  <div class="facet-group">
42
- <h1>Year Published <feature-feedback></feature-feedback></h1>
42
+ <h1>
43
+ Year Published
44
+ <feature-feedback
45
+ featureIdentifier="HistogramDatePicker"
46
+ prompt="What do you think of the Histogram Date Picker?"
47
+ .featureFeedbackService=${this.featureFeedbackService}
48
+ .resizeObserver=${this.resizeObserver}
49
+ .recaptchaManager=${this.recaptchaManager}
50
+ ></feature-feedback>
51
+ </h1>
43
52
  ${this.histogramTemplate}
44
53
  </div>
45
- `
54
+ `
46
55
  : nothing}
47
56
  ${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
48
57
  </div>
49
- `;
50
- }
51
- updated(changed) {
52
- if (changed.has('selectedFacets')) {
53
- this.dispatchFacetsChangedEvent();
54
- }
55
- }
56
- // TODO: want to fire analytics?
57
- dispatchFacetsChangedEvent() {
58
- const event = new CustomEvent('facetsChanged', {
59
- detail: this.selectedFacets,
60
- });
61
- this.dispatchEvent(event);
62
- }
63
- get currentYearsHistogramAggregation() {
64
- var _a;
65
- return (_a = this.aggregations) === null || _a === void 0 ? void 0 : _a.year_histogram;
66
- }
67
- get histogramTemplate() {
68
- const { fullYearsHistogramAggregation } = this;
69
- return this.fullYearAggregationLoading
70
- ? html `<div class="histogram-loading-indicator">&hellip;</div>` // Ellipsis block
58
+ `;
59
+ }
60
+ updated(changed) {
61
+ if (changed.has('selectedFacets')) {
62
+ this.dispatchFacetsChangedEvent();
63
+ }
64
+ }
65
+ // TODO: want to fire analytics?
66
+ dispatchFacetsChangedEvent() {
67
+ const event = new CustomEvent('facetsChanged', {
68
+ detail: this.selectedFacets,
69
+ });
70
+ this.dispatchEvent(event);
71
+ }
72
+ get currentYearsHistogramAggregation() {
73
+ var _a;
74
+ return (_a = this.aggregations) === null || _a === void 0 ? void 0 : _a.year_histogram;
75
+ }
76
+ get histogramTemplate() {
77
+ const { fullYearsHistogramAggregation } = this;
78
+ return this.fullYearAggregationLoading
79
+ ? html `<div class="histogram-loading-indicator">&hellip;</div>` // Ellipsis block
71
80
  : html `
72
81
  <histogram-date-range
73
82
  .minDate=${fullYearsHistogramAggregation === null || fullYearsHistogramAggregation === void 0 ? void 0 : fullYearsHistogramAggregation.first_bucket_key}
@@ -80,250 +89,250 @@ let CollectionFacets = class CollectionFacets extends LitElement {
80
89
  .bins=${fullYearsHistogramAggregation === null || fullYearsHistogramAggregation === void 0 ? void 0 : fullYearsHistogramAggregation.buckets}
81
90
  @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
82
91
  ></histogram-date-range>
83
- `;
84
- }
85
- histogramDateRangeUpdated(e) {
86
- const { minDate, maxDate } = e.detail;
87
- const event = new CustomEvent('histogramDateRangeUpdated', {
88
- detail: { minDate, maxDate },
89
- });
90
- this.dispatchEvent(event);
91
- }
92
- /**
93
- * Combines the selected facets with the aggregations to create a single list of facets
94
- */
95
- get mergedFacets() {
96
- const facetGroups = [];
97
- facetDisplayOrder.forEach(facetKey => {
98
- var _a, _b;
99
- const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === facetKey);
100
- const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === facetKey);
101
- // if the user selected a facet, but it's not in the aggregation, we add it as-is
102
- if (selectedFacetGroup && !aggregateFacetGroup) {
103
- facetGroups.push(selectedFacetGroup);
104
- return;
105
- }
106
- // if we don't have an aggregate facet group, don't add this to the list
107
- if (!aggregateFacetGroup)
108
- return;
109
- // start with either the selected group if we have one, or the aggregate group
110
- const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
111
- // attach the counts to the selected buckets
112
- let bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
113
- const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
114
- return selectedBucket
115
- ? {
116
- ...bucket,
117
- count: selectedBucket.count,
118
- }
119
- : bucket;
120
- })) !== null && _a !== void 0 ? _a : [];
121
- // append any additional buckets that were not selected
122
- aggregateFacetGroup.buckets.forEach(bucket => {
123
- const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
124
- if (existingBucket)
125
- return;
126
- bucketsWithCount.push(bucket);
127
- });
128
- // For lending facets, only include a specific subset of buckets
129
- if (facetKey === 'lending') {
130
- bucketsWithCount = bucketsWithCount.filter(bucket => lendingFacetKeysVisibility[bucket.key]);
131
- }
132
- /**
133
- * render limited facet items on page facet area
134
- *
135
- * - by-default we are showing 6 items
136
- * - additionally want to show all items (selected/suppressed) in page facet area
137
- */
138
- let allowedFacetCount = (_b = Object.keys((selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets) || [])) === null || _b === void 0 ? void 0 : _b.length;
139
- if (allowedFacetCount < this.allowedFacetCount) {
140
- allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
141
- }
142
- // splice how many items we want to show in page facet area
143
- facetGroup.buckets = bucketsWithCount.splice(0, allowedFacetCount);
144
- facetGroups.push(facetGroup);
145
- });
146
- return facetGroups;
147
- }
148
- /**
149
- * Converts the selected facets to a `FacetGroup` array,
150
- * which is easier to work with
151
- */
152
- get selectedFacetGroups() {
153
- if (!this.selectedFacets)
154
- return [];
155
- const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
156
- const option = key;
157
- const title = facetTitles[option];
158
- const buckets = Object.entries(selectedFacets).map(([value, facetData]) => {
159
- var _a, _b, _c;
160
- let displayText = value;
161
- // for selected languages, we store the language code instead of the
162
- // display name, so look up the name from the mapping
163
- if (option === 'language') {
164
- displayText =
165
- (_b = (_a = this.languageCodeHandler) === null || _a === void 0 ? void 0 : _a.getLanguageNameFromCodeString(value)) !== null && _b !== void 0 ? _b : value;
166
- }
167
- // for lending facets, convert the key to a readable format
168
- if (option === 'lending') {
169
- displayText =
170
- (_c = lendingFacetDisplayNames[value]) !== null && _c !== void 0 ? _c : value;
171
- }
172
- return {
173
- displayText,
174
- key: value,
175
- count: facetData.count,
176
- state: facetData.state,
177
- };
178
- });
179
- return {
180
- title,
181
- key: option,
182
- buckets,
183
- };
184
- });
185
- return facetGroups;
186
- }
187
- /**
188
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
189
- */
190
- get aggregationFacetGroups() {
191
- var _a;
192
- const facetGroups = [];
193
- Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, buckets]) => {
194
- // the year_histogram data is in a different format so can't be handled here
195
- if (key === 'year_histogram')
196
- return;
197
- const option = key;
198
- const title = facetTitles[option];
199
- if (!title)
200
- return;
201
- let castedBuckets = buckets.buckets;
202
- if (option === 'collection') {
203
- // we are not showing fav- collections or certain deemphasized collections in facets
204
- castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
205
- var _a;
206
- const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
207
- return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
208
- });
209
- }
210
- const facetBuckets = castedBuckets.map(bucket => {
211
- var _a, _b, _c;
212
- let bucketKey = bucket.key;
213
- let displayText = `${bucket.key}`;
214
- // for languages, we need to search by language code instead of the
215
- // display name, which is what we get from the search engine result
216
- if (option === 'language') {
217
- // const languageCodeKey = languageToCodeMap[bucket.key];
218
- bucketKey =
219
- (_b = (_a = this.languageCodeHandler) === null || _a === void 0 ? void 0 : _a.getCodeStringFromLanguageName(`${bucket.key}`)) !== null && _b !== void 0 ? _b : bucket.key;
220
- // bucketKey = languageCodeKey ?? bucket.key;
221
- }
222
- // for lending facets, convert the bucket key to a readable format
223
- if (option === 'lending') {
224
- displayText =
225
- (_c = lendingFacetDisplayNames[bucket.key]) !== null && _c !== void 0 ? _c : `${bucket.key}`;
226
- }
227
- return {
228
- displayText,
229
- key: `${bucketKey}`,
230
- count: bucket.doc_count,
231
- state: 'none',
232
- };
233
- });
234
- const group = {
235
- title,
236
- key: option,
237
- buckets: facetBuckets,
238
- };
239
- facetGroups.push(group);
240
- });
241
- return facetGroups;
242
- }
243
- /**
244
- * Generate the template for a facet group with a header and the collapsible
245
- * chevron for the mobile view
246
- */
247
- getFacetGroupTemplate(facetGroup) {
248
- if (!this.facetsLoading && facetGroup.buckets.length === 0)
249
- return nothing;
250
- const { key } = facetGroup;
251
- const isOpen = this.openFacets[key];
92
+ `;
93
+ }
94
+ histogramDateRangeUpdated(e) {
95
+ const { minDate, maxDate } = e.detail;
96
+ const event = new CustomEvent('histogramDateRangeUpdated', {
97
+ detail: { minDate, maxDate },
98
+ });
99
+ this.dispatchEvent(event);
100
+ }
101
+ /**
102
+ * Combines the selected facets with the aggregations to create a single list of facets
103
+ */
104
+ get mergedFacets() {
105
+ const facetGroups = [];
106
+ facetDisplayOrder.forEach(facetKey => {
107
+ var _a, _b;
108
+ const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === facetKey);
109
+ const aggregateFacetGroup = this.aggregationFacetGroups.find(group => group.key === facetKey);
110
+ // if the user selected a facet, but it's not in the aggregation, we add it as-is
111
+ if (selectedFacetGroup && !aggregateFacetGroup) {
112
+ facetGroups.push(selectedFacetGroup);
113
+ return;
114
+ }
115
+ // if we don't have an aggregate facet group, don't add this to the list
116
+ if (!aggregateFacetGroup)
117
+ return;
118
+ // start with either the selected group if we have one, or the aggregate group
119
+ const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
120
+ // attach the counts to the selected buckets
121
+ let bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
122
+ const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
123
+ return selectedBucket
124
+ ? {
125
+ ...bucket,
126
+ count: selectedBucket.count,
127
+ }
128
+ : bucket;
129
+ })) !== null && _a !== void 0 ? _a : [];
130
+ // append any additional buckets that were not selected
131
+ aggregateFacetGroup.buckets.forEach(bucket => {
132
+ const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
133
+ if (existingBucket)
134
+ return;
135
+ bucketsWithCount.push(bucket);
136
+ });
137
+ // For lending facets, only include a specific subset of buckets
138
+ if (facetKey === 'lending') {
139
+ bucketsWithCount = bucketsWithCount.filter(bucket => lendingFacetKeysVisibility[bucket.key]);
140
+ }
141
+ /**
142
+ * render limited facet items on page facet area
143
+ *
144
+ * - by-default we are showing 6 items
145
+ * - additionally want to show all items (selected/suppressed) in page facet area
146
+ */
147
+ let allowedFacetCount = (_b = Object.keys((selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets) || [])) === null || _b === void 0 ? void 0 : _b.length;
148
+ if (allowedFacetCount < this.allowedFacetCount) {
149
+ allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
150
+ }
151
+ // splice how many items we want to show in page facet area
152
+ facetGroup.buckets = bucketsWithCount.splice(0, allowedFacetCount);
153
+ facetGroups.push(facetGroup);
154
+ });
155
+ return facetGroups;
156
+ }
157
+ /**
158
+ * Converts the selected facets to a `FacetGroup` array,
159
+ * which is easier to work with
160
+ */
161
+ get selectedFacetGroups() {
162
+ if (!this.selectedFacets)
163
+ return [];
164
+ const facetGroups = Object.entries(this.selectedFacets).map(([key, selectedFacets]) => {
165
+ const option = key;
166
+ const title = facetTitles[option];
167
+ const buckets = Object.entries(selectedFacets).map(([value, facetData]) => {
168
+ var _a, _b, _c;
169
+ let displayText = value;
170
+ // for selected languages, we store the language code instead of the
171
+ // display name, so look up the name from the mapping
172
+ if (option === 'language') {
173
+ displayText =
174
+ (_b = (_a = this.languageCodeHandler) === null || _a === void 0 ? void 0 : _a.getLanguageNameFromCodeString(value)) !== null && _b !== void 0 ? _b : value;
175
+ }
176
+ // for lending facets, convert the key to a readable format
177
+ if (option === 'lending') {
178
+ displayText =
179
+ (_c = lendingFacetDisplayNames[value]) !== null && _c !== void 0 ? _c : value;
180
+ }
181
+ return {
182
+ displayText,
183
+ key: value,
184
+ count: facetData.count,
185
+ state: facetData.state,
186
+ };
187
+ });
188
+ return {
189
+ title,
190
+ key: option,
191
+ buckets,
192
+ };
193
+ });
194
+ return facetGroups;
195
+ }
196
+ /**
197
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
198
+ */
199
+ get aggregationFacetGroups() {
200
+ var _a;
201
+ const facetGroups = [];
202
+ Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, buckets]) => {
203
+ // the year_histogram data is in a different format so can't be handled here
204
+ if (key === 'year_histogram')
205
+ return;
206
+ const option = key;
207
+ const title = facetTitles[option];
208
+ if (!title)
209
+ return;
210
+ let castedBuckets = buckets.buckets;
211
+ if (option === 'collection') {
212
+ // we are not showing fav- collections or certain deemphasized collections in facets
213
+ castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
214
+ var _a;
215
+ const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
216
+ return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
217
+ });
218
+ }
219
+ const facetBuckets = castedBuckets.map(bucket => {
220
+ var _a, _b, _c;
221
+ let bucketKey = bucket.key;
222
+ let displayText = `${bucket.key}`;
223
+ // for languages, we need to search by language code instead of the
224
+ // display name, which is what we get from the search engine result
225
+ if (option === 'language') {
226
+ // const languageCodeKey = languageToCodeMap[bucket.key];
227
+ bucketKey =
228
+ (_b = (_a = this.languageCodeHandler) === null || _a === void 0 ? void 0 : _a.getCodeStringFromLanguageName(`${bucket.key}`)) !== null && _b !== void 0 ? _b : bucket.key;
229
+ // bucketKey = languageCodeKey ?? bucket.key;
230
+ }
231
+ // for lending facets, convert the bucket key to a readable format
232
+ if (option === 'lending') {
233
+ displayText =
234
+ (_c = lendingFacetDisplayNames[bucket.key]) !== null && _c !== void 0 ? _c : `${bucket.key}`;
235
+ }
236
+ return {
237
+ displayText,
238
+ key: `${bucketKey}`,
239
+ count: bucket.doc_count,
240
+ state: 'none',
241
+ };
242
+ });
243
+ const group = {
244
+ title,
245
+ key: option,
246
+ buckets: facetBuckets,
247
+ };
248
+ facetGroups.push(group);
249
+ });
250
+ return facetGroups;
251
+ }
252
+ /**
253
+ * Generate the template for a facet group with a header and the collapsible
254
+ * chevron for the mobile view
255
+ */
256
+ getFacetGroupTemplate(facetGroup) {
257
+ if (!this.facetsLoading && facetGroup.buckets.length === 0)
258
+ return nothing;
259
+ const { key } = facetGroup;
260
+ const isOpen = this.openFacets[key];
252
261
  const collapser = html `
253
262
  <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
254
- `;
263
+ `;
255
264
  return html `
256
265
  <div class="facet-group ${this.collapsableFacets ? 'mobile' : ''}">
257
266
  <div class="facet-group-header">
258
267
  <h1
259
- @click=${() => {
260
- const newOpenFacets = { ...this.openFacets };
261
- newOpenFacets[key] = !isOpen;
262
- this.openFacets = newOpenFacets;
268
+ @click=${() => {
269
+ const newOpenFacets = { ...this.openFacets };
270
+ newOpenFacets[key] = !isOpen;
271
+ this.openFacets = newOpenFacets;
263
272
  }}
264
- @keyup=${() => {
265
- const newOpenFacets = { ...this.openFacets };
266
- newOpenFacets[key] = !isOpen;
267
- this.openFacets = newOpenFacets;
273
+ @keyup=${() => {
274
+ const newOpenFacets = { ...this.openFacets };
275
+ newOpenFacets[key] = !isOpen;
276
+ this.openFacets = newOpenFacets;
268
277
  }}
269
278
  >
270
279
  ${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
271
280
  </h1>
272
281
  </div>
273
282
  <div class="facet-group-content ${isOpen ? 'open' : ''}">
274
- ${this.facetsLoading
275
- ? this.getTombstoneFacetGroupTemplate()
283
+ ${this.facetsLoading
284
+ ? this.getTombstoneFacetGroupTemplate()
276
285
  : html `
277
286
  ${this.getFacetTemplate(facetGroup)}
278
287
  ${this.searchMoreFacetsLink(facetGroup)}
279
288
  `}
280
289
  </div>
281
290
  </div>
282
- `;
283
- }
284
- getTombstoneFacetGroupTemplate() {
285
- // Render five tombstone rows
291
+ `;
292
+ }
293
+ getTombstoneFacetGroupTemplate() {
294
+ // Render five tombstone rows
286
295
  return html `
287
296
  ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
288
- `;
289
- }
290
- /**
291
- * Generate the More... link button just below the facets group
292
- *
293
- * TODO: want to fire analytics?
294
- */
295
- searchMoreFacetsLink(facetGroup) {
296
- // Don't render More... links for FTS searches
297
- if (!this.moreLinksVisible) {
298
- return nothing;
299
- }
300
- // Don't render More... links for lending facets
301
- if (facetGroup.key === 'lending') {
302
- return nothing;
303
- }
304
- // Don't render More... link if the number of facets < this.allowedFacetCount
305
- if (Object.keys(facetGroup.buckets).length < this.allowedFacetCount) {
306
- return nothing;
307
- }
297
+ `;
298
+ }
299
+ /**
300
+ * Generate the More... link button just below the facets group
301
+ *
302
+ * TODO: want to fire analytics?
303
+ */
304
+ searchMoreFacetsLink(facetGroup) {
305
+ // Don't render More... links for FTS searches
306
+ if (!this.moreLinksVisible) {
307
+ return nothing;
308
+ }
309
+ // Don't render More... links for lending facets
310
+ if (facetGroup.key === 'lending') {
311
+ return nothing;
312
+ }
313
+ // Don't render More... link if the number of facets < this.allowedFacetCount
314
+ if (Object.keys(facetGroup.buckets).length < this.allowedFacetCount) {
315
+ return nothing;
316
+ }
308
317
  return html `<button
309
318
  class="more-link"
310
- @click=${() => {
311
- var _a;
312
- this.showMoreFacetsModal(facetGroup, 'count');
313
- (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
314
- category: analyticsCategories.default,
315
- action: analyticsActions.showMoreFacetsModal,
316
- label: facetGroup.key,
317
- });
318
- this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
319
+ @click=${() => {
320
+ var _a;
321
+ this.showMoreFacetsModal(facetGroup, 'count');
322
+ (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
323
+ category: analyticsCategories.default,
324
+ action: analyticsActions.showMoreFacetsModal,
325
+ label: facetGroup.key,
326
+ });
327
+ this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
319
328
  }}
320
329
  >
321
330
  More...
322
- </button>`;
323
- }
324
- async showMoreFacetsModal(facetGroup, sortedBy) {
325
- var _a, _b;
326
- const facetAggrKey = facetGroup.key;
331
+ </button>`;
332
+ }
333
+ async showMoreFacetsModal(facetGroup, sortedBy) {
334
+ var _a, _b;
335
+ const facetAggrKey = facetGroup.key;
327
336
  const customModalContent = html `
328
337
  <more-facets-content
329
338
  .analyticsHandler=${this.analyticsHandler}
@@ -338,52 +347,52 @@ let CollectionFacets = class CollectionFacets extends LitElement {
338
347
  .languageCodeHandler=${this.languageCodeHandler}
339
348
  .selectedFacets=${this.selectedFacets}
340
349
  .sortedBy=${sortedBy}
341
- @facetsChanged=${(e) => {
342
- const event = new CustomEvent('facetsChanged', {
343
- detail: e.detail,
344
- bubbles: true,
345
- composed: true,
346
- });
347
- this.dispatchEvent(event);
350
+ @facetsChanged=${(e) => {
351
+ const event = new CustomEvent('facetsChanged', {
352
+ detail: e.detail,
353
+ bubbles: true,
354
+ composed: true,
355
+ });
356
+ this.dispatchEvent(event);
348
357
  }}
349
358
  >
350
359
  </more-facets-content>
351
- `;
352
- const config = new ModalConfig({
353
- bodyColor: '#fff',
354
- headerColor: '#194880',
355
- showHeaderLogo: false,
356
- closeOnBackdropClick: true,
357
- title: html `Select filters`,
358
- });
359
- (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('more-search-facets');
360
- (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
361
- config,
362
- customModalContent,
363
- });
364
- }
365
- /**
366
- * Generate the list template for each bucket in a facet group
367
- */
368
- getFacetTemplate(facetGroup) {
360
+ `;
361
+ const config = new ModalConfig({
362
+ bodyColor: '#fff',
363
+ headerColor: '#194880',
364
+ showHeaderLogo: false,
365
+ closeOnBackdropClick: true,
366
+ title: html `Select filters`,
367
+ });
368
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('more-search-facets');
369
+ (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
370
+ config,
371
+ customModalContent,
372
+ });
373
+ }
374
+ /**
375
+ * Generate the list template for each bucket in a facet group
376
+ */
377
+ getFacetTemplate(facetGroup) {
369
378
  return html `
370
379
  <facets-template
371
380
  .facetGroup=${facetGroup}
372
381
  .selectedFacets=${this.selectedFacets}
373
382
  .renderOn=${'page'}
374
383
  .collectionNameCache=${this.collectionNameCache}
375
- @selectedFacetsChanged=${(e) => {
376
- const event = new CustomEvent('facetsChanged', {
377
- detail: e.detail,
378
- bubbles: true,
379
- composed: true,
380
- });
381
- this.dispatchEvent(event);
384
+ @selectedFacetsChanged=${(e) => {
385
+ const event = new CustomEvent('facetsChanged', {
386
+ detail: e.detail,
387
+ bubbles: true,
388
+ composed: true,
389
+ });
390
+ this.dispatchEvent(event);
382
391
  }}
383
392
  ></facets-template>
384
- `;
385
- }
386
- static get styles() {
393
+ `;
394
+ }
395
+ static get styles() {
387
396
  return css `
388
397
  #container.loading {
389
398
  opacity: 0.5;
@@ -465,74 +474,83 @@ let CollectionFacets = class CollectionFacets extends LitElement {
465
474
  height: 15px;
466
475
  cursor: pointer;
467
476
  }
468
- `;
469
- }
470
- };
471
- __decorate([
472
- property({ type: Object })
473
- ], CollectionFacets.prototype, "searchService", void 0);
474
- __decorate([
475
- property({ type: String })
476
- ], CollectionFacets.prototype, "searchType", void 0);
477
- __decorate([
478
- property({ type: Object })
479
- ], CollectionFacets.prototype, "aggregations", void 0);
480
- __decorate([
481
- property({ type: Object })
482
- ], CollectionFacets.prototype, "fullYearsHistogramAggregation", void 0);
483
- __decorate([
484
- property({ type: String })
485
- ], CollectionFacets.prototype, "minSelectedDate", void 0);
486
- __decorate([
487
- property({ type: String })
488
- ], CollectionFacets.prototype, "maxSelectedDate", void 0);
489
- __decorate([
490
- property({ type: Boolean })
491
- ], CollectionFacets.prototype, "moreLinksVisible", void 0);
492
- __decorate([
493
- property({ type: Boolean })
494
- ], CollectionFacets.prototype, "facetsLoading", void 0);
495
- __decorate([
496
- property({ type: Boolean })
497
- ], CollectionFacets.prototype, "fullYearAggregationLoading", void 0);
498
- __decorate([
499
- property({ type: Object })
500
- ], CollectionFacets.prototype, "selectedFacets", void 0);
501
- __decorate([
502
- property({ type: Boolean })
503
- ], CollectionFacets.prototype, "collapsableFacets", void 0);
504
- __decorate([
505
- property({ type: Boolean })
506
- ], CollectionFacets.prototype, "showHistogramDatePicker", void 0);
507
- __decorate([
508
- property({ type: String })
509
- ], CollectionFacets.prototype, "query", void 0);
510
- __decorate([
511
- property({ type: Object })
512
- ], CollectionFacets.prototype, "filterMap", void 0);
513
- __decorate([
514
- property({ type: Object, attribute: false })
515
- ], CollectionFacets.prototype, "modalManager", void 0);
516
- __decorate([
517
- property({ type: Object, attribute: false })
518
- ], CollectionFacets.prototype, "analyticsHandler", void 0);
519
- __decorate([
520
- property({ type: Object })
521
- ], CollectionFacets.prototype, "languageCodeHandler", void 0);
522
- __decorate([
523
- property({ type: Object })
524
- ], CollectionFacets.prototype, "collectionNameCache", void 0);
525
- __decorate([
526
- property({ type: Function })
527
- ], CollectionFacets.prototype, "onFacetClick", void 0);
528
- __decorate([
529
- state()
530
- ], CollectionFacets.prototype, "openFacets", void 0);
531
- __decorate([
532
- property({ type: Object, attribute: false })
533
- ], CollectionFacets.prototype, "allowedFacetCount", void 0);
534
- CollectionFacets = __decorate([
535
- customElement('collection-facets')
536
- ], CollectionFacets);
537
- export { CollectionFacets };
477
+ `;
478
+ }
479
+ };
480
+ __decorate([
481
+ property({ type: Object })
482
+ ], CollectionFacets.prototype, "searchService", void 0);
483
+ __decorate([
484
+ property({ type: String })
485
+ ], CollectionFacets.prototype, "searchType", void 0);
486
+ __decorate([
487
+ property({ type: Object })
488
+ ], CollectionFacets.prototype, "aggregations", void 0);
489
+ __decorate([
490
+ property({ type: Object })
491
+ ], CollectionFacets.prototype, "fullYearsHistogramAggregation", void 0);
492
+ __decorate([
493
+ property({ type: String })
494
+ ], CollectionFacets.prototype, "minSelectedDate", void 0);
495
+ __decorate([
496
+ property({ type: String })
497
+ ], CollectionFacets.prototype, "maxSelectedDate", void 0);
498
+ __decorate([
499
+ property({ type: Boolean })
500
+ ], CollectionFacets.prototype, "moreLinksVisible", void 0);
501
+ __decorate([
502
+ property({ type: Boolean })
503
+ ], CollectionFacets.prototype, "facetsLoading", void 0);
504
+ __decorate([
505
+ property({ type: Boolean })
506
+ ], CollectionFacets.prototype, "fullYearAggregationLoading", void 0);
507
+ __decorate([
508
+ property({ type: Object })
509
+ ], CollectionFacets.prototype, "selectedFacets", void 0);
510
+ __decorate([
511
+ property({ type: Boolean })
512
+ ], CollectionFacets.prototype, "collapsableFacets", void 0);
513
+ __decorate([
514
+ property({ type: Boolean })
515
+ ], CollectionFacets.prototype, "showHistogramDatePicker", void 0);
516
+ __decorate([
517
+ property({ type: String })
518
+ ], CollectionFacets.prototype, "query", void 0);
519
+ __decorate([
520
+ property({ type: Object })
521
+ ], CollectionFacets.prototype, "filterMap", void 0);
522
+ __decorate([
523
+ property({ type: Object, attribute: false })
524
+ ], CollectionFacets.prototype, "modalManager", void 0);
525
+ __decorate([
526
+ property({ type: Object, attribute: false })
527
+ ], CollectionFacets.prototype, "resizeObserver", void 0);
528
+ __decorate([
529
+ property({ type: Object, attribute: false })
530
+ ], CollectionFacets.prototype, "featureFeedbackService", void 0);
531
+ __decorate([
532
+ property({ type: Object, attribute: false })
533
+ ], CollectionFacets.prototype, "recaptchaManager", void 0);
534
+ __decorate([
535
+ property({ type: Object, attribute: false })
536
+ ], CollectionFacets.prototype, "analyticsHandler", void 0);
537
+ __decorate([
538
+ property({ type: Object })
539
+ ], CollectionFacets.prototype, "languageCodeHandler", void 0);
540
+ __decorate([
541
+ property({ type: Object })
542
+ ], CollectionFacets.prototype, "collectionNameCache", void 0);
543
+ __decorate([
544
+ property({ type: Function })
545
+ ], CollectionFacets.prototype, "onFacetClick", void 0);
546
+ __decorate([
547
+ state()
548
+ ], CollectionFacets.prototype, "openFacets", void 0);
549
+ __decorate([
550
+ property({ type: Object, attribute: false })
551
+ ], CollectionFacets.prototype, "allowedFacetCount", void 0);
552
+ CollectionFacets = __decorate([
553
+ customElement('collection-facets')
554
+ ], CollectionFacets);
555
+ export { CollectionFacets };
538
556
  //# sourceMappingURL=collection-facets.js.map