@internetarchive/collection-browser 3.4.1-alpha-webdev7761.4 → 3.4.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 (216) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +27 -27
  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/.prettierignore +1 -1
  8. package/LICENSE +661 -661
  9. package/README.md +83 -83
  10. package/dist/src/app-root.js +28 -19
  11. package/dist/src/app-root.js.map +1 -1
  12. package/dist/src/collection-browser.d.ts +4 -24
  13. package/dist/src/collection-browser.js +125 -286
  14. package/dist/src/collection-browser.js.map +1 -1
  15. package/dist/src/collection-facets/facet-row.js +143 -143
  16. package/dist/src/collection-facets/facet-row.js.map +1 -1
  17. package/dist/src/collection-facets/more-facets-content.d.ts +1 -1
  18. package/dist/src/collection-facets/more-facets-content.js +48 -34
  19. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  20. package/dist/src/collection-facets/more-facets-pagination.js +10 -6
  21. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  22. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +21 -16
  23. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -1
  24. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +10 -7
  25. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  26. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +2 -3
  27. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  28. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +11 -9
  29. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  30. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +7 -7
  31. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  32. package/dist/src/collection-facets/toggle-switch.js +6 -4
  33. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  34. package/dist/src/collection-facets.js +310 -309
  35. package/dist/src/collection-facets.js.map +1 -1
  36. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +1 -10
  37. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  38. package/dist/src/data-source/collection-browser-data-source.d.ts +1 -19
  39. package/dist/src/data-source/collection-browser-data-source.js +65 -71
  40. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  41. package/dist/src/data-source/collection-browser-query-state.d.ts +2 -1
  42. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  43. package/dist/src/data-source/models.d.ts +0 -11
  44. package/dist/src/data-source/models.js.map +1 -1
  45. package/dist/src/empty-placeholder.js +18 -19
  46. package/dist/src/empty-placeholder.js.map +1 -1
  47. package/dist/src/expanded-date-picker.js +10 -6
  48. package/dist/src/expanded-date-picker.js.map +1 -1
  49. package/dist/src/language-code-handler/language-code-handler.js +2 -2
  50. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  51. package/dist/src/manage/manage-bar.js +15 -9
  52. package/dist/src/manage/manage-bar.js.map +1 -1
  53. package/dist/src/manage/remove-items-modal-content.js +2 -2
  54. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  55. package/dist/src/models.d.ts +6 -2
  56. package/dist/src/models.js +54 -46
  57. package/dist/src/models.js.map +1 -1
  58. package/dist/src/restoration-state-handler.d.ts +2 -1
  59. package/dist/src/restoration-state-handler.js +19 -12
  60. package/dist/src/restoration-state-handler.js.map +1 -1
  61. package/dist/src/sort-filter-bar/alpha-bar.js +14 -9
  62. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  63. package/dist/src/sort-filter-bar/sort-filter-bar.js +24 -14
  64. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  65. package/dist/src/tiles/base-tile-component.js +2 -1
  66. package/dist/src/tiles/base-tile-component.js.map +1 -1
  67. package/dist/src/tiles/grid/account-tile.js +7 -5
  68. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  69. package/dist/src/tiles/grid/collection-tile.js +6 -3
  70. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  71. package/dist/src/tiles/grid/item-tile.js +33 -23
  72. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  73. package/dist/src/tiles/grid/search-tile.js +2 -1
  74. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  75. package/dist/src/tiles/grid/tile-stats.js +3 -2
  76. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  77. package/dist/src/tiles/hover/hover-pane-controller.js +28 -21
  78. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  79. package/dist/src/tiles/hover/tile-hover-pane.js +4 -3
  80. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  81. package/dist/src/tiles/image-block.js +8 -5
  82. package/dist/src/tiles/image-block.js.map +1 -1
  83. package/dist/src/tiles/item-image.js +19 -12
  84. package/dist/src/tiles/item-image.js.map +1 -1
  85. package/dist/src/tiles/list/tile-list-compact.js +25 -17
  86. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  87. package/dist/src/tiles/list/tile-list.js +55 -34
  88. package/dist/src/tiles/list/tile-list.js.map +1 -1
  89. package/dist/src/tiles/overlay/icon-overlay.js +2 -1
  90. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  91. package/dist/src/tiles/overlay/text-overlay.js +4 -2
  92. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  93. package/dist/src/tiles/text-snippet-block.js +4 -2
  94. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  95. package/dist/src/tiles/tile-dispatcher.js +30 -22
  96. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  97. package/dist/src/tiles/tile-display-value-provider.js +9 -5
  98. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  99. package/dist/src/tiles/tile-mediatype-icon.js +19 -12
  100. package/dist/src/tiles/tile-mediatype-icon.js.map +1 -1
  101. package/dist/src/utils/collapse-repeated-quotes.js +1 -1
  102. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -1
  103. package/dist/src/utils/facet-utils.js +5 -3
  104. package/dist/src/utils/facet-utils.js.map +1 -1
  105. package/dist/src/utils/format-count.js +10 -10
  106. package/dist/src/utils/format-count.js.map +1 -1
  107. package/dist/src/utils/resolve-mediatype.js +3 -2
  108. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  109. package/dist/test/collection-browser.test.js +380 -336
  110. package/dist/test/collection-browser.test.js.map +1 -1
  111. package/dist/test/collection-facets/facet-row.test.js +52 -37
  112. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  113. package/dist/test/collection-facets/facets-template.test.js +23 -17
  114. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  115. package/dist/test/collection-facets/more-facets-content.test.js +32 -22
  116. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  117. package/dist/test/collection-facets/more-facets-pagination.test.js +22 -16
  118. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  119. package/dist/test/collection-facets/toggle-switch.test.js +19 -22
  120. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  121. package/dist/test/collection-facets.test.js +77 -60
  122. package/dist/test/collection-facets.test.js.map +1 -1
  123. package/dist/test/empty-placeholder.test.js +17 -11
  124. package/dist/test/empty-placeholder.test.js.map +1 -1
  125. package/dist/test/expanded-date-picker.test.js +14 -8
  126. package/dist/test/expanded-date-picker.test.js.map +1 -1
  127. package/dist/test/icon-overlay.test.js +6 -7
  128. package/dist/test/icon-overlay.test.js.map +1 -1
  129. package/dist/test/image-block.test.js +26 -16
  130. package/dist/test/image-block.test.js.map +1 -1
  131. package/dist/test/item-image.test.js +32 -23
  132. package/dist/test/item-image.test.js.map +1 -1
  133. package/dist/test/manage/manage-bar.test.js +33 -21
  134. package/dist/test/manage/manage-bar.test.js.map +1 -1
  135. package/dist/test/manage/remove-items-modal-content.test.js +15 -10
  136. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  137. package/dist/test/mocks/mock-search-service.js +3 -2
  138. package/dist/test/mocks/mock-search-service.js.map +1 -1
  139. package/dist/test/restoration-state-handler.test.js +54 -14
  140. package/dist/test/restoration-state-handler.test.js.map +1 -1
  141. package/dist/test/review-block.test.js +18 -16
  142. package/dist/test/review-block.test.js.map +1 -1
  143. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +3 -2
  144. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  145. package/dist/test/sort-filter-bar/alpha-bar.test.js +24 -18
  146. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  147. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +180 -178
  148. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  149. package/dist/test/text-overlay.test.js +15 -16
  150. package/dist/test/text-overlay.test.js.map +1 -1
  151. package/dist/test/text-snippet-block.test.js +19 -14
  152. package/dist/test/text-snippet-block.test.js.map +1 -1
  153. package/dist/test/tile-stats.test.js +34 -73
  154. package/dist/test/tile-stats.test.js.map +1 -1
  155. package/dist/test/tiles/grid/account-tile.test.js +25 -25
  156. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  157. package/dist/test/tiles/grid/collection-tile.test.js +19 -13
  158. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  159. package/dist/test/tiles/grid/item-tile.test.js +91 -64
  160. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  161. package/dist/test/tiles/grid/search-tile.test.js +13 -9
  162. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  163. package/dist/test/tiles/hover/hover-pane-controller.test.js +35 -23
  164. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  165. package/dist/test/tiles/hover/tile-hover-pane.test.js +16 -12
  166. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  167. package/dist/test/tiles/list/tile-list-compact.test.js +48 -34
  168. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  169. package/dist/test/tiles/list/tile-list.test.js +105 -76
  170. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  171. package/dist/test/tiles/tile-dispatcher.test.js +30 -17
  172. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  173. package/dist/test/tiles/tile-mediatype-icon.test.js +24 -12
  174. package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -1
  175. package/eslint.config.mjs +53 -53
  176. package/index.html +24 -24
  177. package/local.archive.org.cert +86 -86
  178. package/local.archive.org.key +27 -27
  179. package/package.json +118 -120
  180. package/renovate.json +6 -6
  181. package/src/collection-browser.ts +15 -246
  182. package/src/collection-facets/facet-row.ts +296 -299
  183. package/src/collection-facets/more-facets-content.ts +8 -5
  184. package/src/collection-facets.ts +995 -1010
  185. package/src/data-source/collection-browser-data-source-interface.ts +333 -345
  186. package/src/data-source/collection-browser-data-source.ts +1401 -1441
  187. package/src/data-source/collection-browser-query-state.ts +65 -59
  188. package/src/data-source/models.ts +43 -56
  189. package/src/models.ts +870 -866
  190. package/src/restoration-state-handler.ts +544 -546
  191. package/test/collection-browser.test.ts +2403 -2413
  192. package/test/restoration-state-handler.test.ts +510 -480
  193. package/tsconfig.json +20 -25
  194. package/vite.config.ts +22 -29
  195. package/web-dev-server.config.mjs +30 -30
  196. package/web-test-runner.config.mjs +41 -41
  197. package/dist/src/combo-box/caret-closed.d.ts +0 -2
  198. package/dist/src/combo-box/caret-closed.js +0 -7
  199. package/dist/src/combo-box/caret-closed.js.map +0 -1
  200. package/dist/src/combo-box/caret-open.d.ts +0 -2
  201. package/dist/src/combo-box/caret-open.js +0 -7
  202. package/dist/src/combo-box/caret-open.js.map +0 -1
  203. package/dist/src/combo-box/clear.d.ts +0 -2
  204. package/dist/src/combo-box/clear.js +0 -11
  205. package/dist/src/combo-box/clear.js.map +0 -1
  206. package/dist/src/combo-box/ia-combo-box.d.ts +0 -422
  207. package/dist/src/combo-box/ia-combo-box.js +0 -1203
  208. package/dist/src/combo-box/ia-combo-box.js.map +0 -1
  209. package/dist/src/combo-box/models.d.ts +0 -75
  210. package/dist/src/combo-box/models.js +0 -40
  211. package/dist/src/combo-box/models.js.map +0 -1
  212. package/src/combo-box/caret-closed.ts +0 -7
  213. package/src/combo-box/caret-open.ts +0 -7
  214. package/src/combo-box/clear.ts +0 -11
  215. package/src/combo-box/ia-combo-box.ts +0 -1288
  216. package/src/combo-box/models.ts +0 -113
@@ -43,7 +43,6 @@ let CollectionFacets = class CollectionFacets extends LitElement {
43
43
  creator: false,
44
44
  collection: false,
45
45
  year: false,
46
- clip_type: false,
47
46
  program: false,
48
47
  person: false,
49
48
  sponsor: false,
@@ -53,7 +52,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
53
52
  */
54
53
  this.allowedFacetCount = 6;
55
54
  this.handleExpandedDatePickerClosed = () => {
56
- this.modalManager?.classList.remove('expanded-date-picker');
55
+ var _a;
56
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('expanded-date-picker');
57
57
  };
58
58
  /**
59
59
  * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
@@ -74,71 +74,70 @@ let CollectionFacets = class CollectionFacets extends LitElement {
74
74
  loading: this.facetsLoading,
75
75
  managing: this.isManageView,
76
76
  });
77
- const heading = this.isTvSearch
78
- ? msg('Date Published')
79
- : msg('Year Published');
80
77
  // Added data-testid for Playwright testing
81
78
  // Using facet-group class and aria-labels is not ideal for Playwright locator
82
79
  const datePickerLabelId = 'date-picker-label';
83
- return html `
84
- <div id="container" class=${containerClasses}>
80
+ return html `
81
+ <div id="container" class=${containerClasses}>
85
82
  ${this.showHistogramDatePicker &&
86
83
  (this.histogramAggregation || this.histogramAggregationLoading)
87
- ? html `
88
- <section
89
- class="facet-group"
90
- aria-labelledby=${datePickerLabelId}
91
- data-testid="facet-group-header-label-date-picker"
92
- >
93
- <h3 id=${datePickerLabelId}>
94
- ${heading} <span class="sr-only">${msg('range filter')}</span>
95
- ${this.expandDatePickerBtnTemplate}
96
- </h3>
97
- ${this.histogramTemplate}
98
- </section>
84
+ ? html `
85
+ <section
86
+ class="facet-group"
87
+ aria-labelledby=${datePickerLabelId}
88
+ data-testid="facet-group-header-label-date-picker"
89
+ >
90
+ <h3 id=${datePickerLabelId}>
91
+ Year Published <span class="sr-only">range filter</span>
92
+ ${this.expandDatePickerBtnTemplate}
93
+ </h3>
94
+ ${this.histogramTemplate}
95
+ </section>
99
96
  `
100
- : nothing}
101
- ${this.collectionPartOfTemplate}
102
- <slot name="facets-top"></slot>
103
- ${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
104
- </div>
97
+ : nothing}
98
+ ${this.collectionPartOfTemplate}
99
+ ${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
100
+ </div>
105
101
  `;
106
102
  }
107
103
  get collectionPartOfTemplate() {
104
+ var _a;
108
105
  // We only display the "Part Of" section on collection pages
109
- if (!this.parentCollections?.length)
106
+ if (!((_a = this.parentCollections) === null || _a === void 0 ? void 0 : _a.length))
110
107
  return nothing;
111
108
  // Added data-testid for Playwright testing
112
109
  // Using className and aria-labels is not ideal for Playwright locator
113
110
  const headingId = 'partof-heading';
114
- return html `
115
- <section
116
- class="facet-group partof-collections"
117
- aria-labelledby=${headingId}
118
- data-testid="facet-group-partof-collections"
119
- >
120
- <div class="facet-group-header">
121
- <h3 id=${headingId}>${msg('Part Of')}</h3>
122
- </div>
123
- <ul>
111
+ return html `
112
+ <section
113
+ class="facet-group partof-collections"
114
+ aria-labelledby=${headingId}
115
+ data-testid="facet-group-partof-collections"
116
+ >
117
+ <div class="facet-group-header">
118
+ <h3 id=${headingId}>${msg('Part Of')}</h3>
119
+ </div>
120
+ <ul>
124
121
  ${map(this.parentCollections, collxn => {
122
+ var _a, _b;
125
123
  const collectionURL = `${this.baseNavigationUrl}${this.collectionPagePath}${collxn}`;
126
- return html ` <li>
127
- <a
128
- href=${collectionURL}
129
- data-id=${collxn}
130
- @click=${this.partOfCollectionClicked}
131
- >
132
- ${this.collectionTitles?.get(collxn) ?? collxn}
133
- </a>
124
+ return html ` <li>
125
+ <a
126
+ href=${collectionURL}
127
+ data-id=${collxn}
128
+ @click=${this.partOfCollectionClicked}
129
+ >
130
+ ${(_b = (_a = this.collectionTitles) === null || _a === void 0 ? void 0 : _a.get(collxn)) !== null && _b !== void 0 ? _b : collxn}
131
+ </a>
134
132
  </li>`;
135
- })}
136
- </ul>
137
- </section>
133
+ })}
134
+ </ul>
135
+ </section>
138
136
  `;
139
137
  }
140
138
  partOfCollectionClicked(e) {
141
- this.analyticsHandler?.sendEvent({
139
+ var _a;
140
+ (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
142
141
  category: analyticsCategories.default,
143
142
  action: analyticsActions.partOfCollectionClicked,
144
143
  label: e.target.dataset.id,
@@ -148,18 +147,19 @@ let CollectionFacets = class CollectionFacets extends LitElement {
148
147
  * Properties to pass into the date-picker histogram component
149
148
  */
150
149
  get histogramProps() {
150
+ var _a, _b, _c, _d, _e, _f;
151
151
  const { histogramAggregation: aggregation } = this;
152
152
  if (!aggregation)
153
153
  return undefined;
154
154
  // Normalize some properties from the raw aggregation
155
- const firstYear = aggregation.first_bucket_year ?? aggregation.first_bucket_key;
156
- const lastYear = aggregation.last_bucket_year ?? aggregation.last_bucket_key;
155
+ const firstYear = (_a = aggregation.first_bucket_year) !== null && _a !== void 0 ? _a : aggregation.first_bucket_key;
156
+ const lastYear = (_b = aggregation.last_bucket_year) !== null && _b !== void 0 ? _b : aggregation.last_bucket_key;
157
157
  if (firstYear == null || lastYear == null)
158
158
  return undefined; // We at least need a start/end year defined
159
- const firstMonth = aggregation.first_bucket_month ?? 1;
160
- const lastMonth = aggregation.last_bucket_month ?? 12;
161
- const yearInterval = aggregation.interval ?? 1;
162
- const monthInterval = aggregation.interval_in_months ?? 12;
159
+ const firstMonth = (_c = aggregation.first_bucket_month) !== null && _c !== void 0 ? _c : 1;
160
+ const lastMonth = (_d = aggregation.last_bucket_month) !== null && _d !== void 0 ? _d : 12;
161
+ const yearInterval = (_e = aggregation.interval) !== null && _e !== void 0 ? _e : 1;
162
+ const monthInterval = (_f = aggregation.interval_in_months) !== null && _f !== void 0 ? _f : 12;
163
163
  const zeroPadMonth = (month) => month.toString().padStart(2, '0');
164
164
  // The date picker is configured differently for TV search, allowing month-level resolution
165
165
  if (this.isTvSearch) {
@@ -195,6 +195,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
195
195
  * Opens a modal dialog containing an enlarged version of the date picker.
196
196
  */
197
197
  showDatePickerModal() {
198
+ var _a, _b, _c;
198
199
  const { histogramProps } = this;
199
200
  if (!histogramProps)
200
201
  return;
@@ -214,24 +215,24 @@ let CollectionFacets = class CollectionFacets extends LitElement {
214
215
  expandedDatePicker.maxSelectedDate = this.maxSelectedDate;
215
216
  }
216
217
  };
217
- const customModalContent = html `
218
- <expanded-date-picker
219
- ${ref(expandedDatePickerChanged)}
220
- .minDate=${minDate}
221
- .maxDate=${maxDate}
222
- .minSelectedDate=${this.minSelectedDate}
223
- .maxSelectedDate=${this.maxSelectedDate}
224
- .customDateFormat=${dateFormat}
225
- .customTooltipDateFormat=${tooltipDateFormat}
226
- .customTooltipLabel=${tooltipLabel}
227
- .binSnapping=${binSnapping}
228
- .barScaling=${barScaling}
229
- .buckets=${buckets}
230
- .modalManager=${this.modalManager}
231
- .analyticsHandler=${this.analyticsHandler}
232
- @histogramDateRangeApplied=${this.histogramDateRangeUpdated}
233
- @modalClosed=${this.handleExpandedDatePickerClosed}
234
- ></expanded-date-picker>
218
+ const customModalContent = html `
219
+ <expanded-date-picker
220
+ ${ref(expandedDatePickerChanged)}
221
+ .minDate=${minDate}
222
+ .maxDate=${maxDate}
223
+ .minSelectedDate=${this.minSelectedDate}
224
+ .maxSelectedDate=${this.maxSelectedDate}
225
+ .customDateFormat=${dateFormat}
226
+ .customTooltipDateFormat=${tooltipDateFormat}
227
+ .customTooltipLabel=${tooltipLabel}
228
+ .binSnapping=${binSnapping}
229
+ .barScaling=${barScaling}
230
+ .buckets=${buckets}
231
+ .modalManager=${this.modalManager}
232
+ .analyticsHandler=${this.analyticsHandler}
233
+ @histogramDateRangeApplied=${this.histogramDateRangeUpdated}
234
+ @modalClosed=${this.handleExpandedDatePickerClosed}
235
+ ></expanded-date-picker>
235
236
  `;
236
237
  const config = new ModalConfig({
237
238
  bodyColor: '#fff',
@@ -240,13 +241,13 @@ let CollectionFacets = class CollectionFacets extends LitElement {
240
241
  closeOnBackdropClick: true, // TODO: want to fire analytics
241
242
  title: html `${msg('Select a date range')}`,
242
243
  });
243
- this.modalManager?.classList.add('expanded-date-picker');
244
- this.modalManager?.showModal({
244
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('expanded-date-picker');
245
+ (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
245
246
  config,
246
247
  customModalContent,
247
248
  userClosedModalCallback: this.handleExpandedDatePickerClosed,
248
249
  });
249
- this.analyticsHandler?.sendEvent({
250
+ (_c = this.analyticsHandler) === null || _c === void 0 ? void 0 : _c.sendEvent({
250
251
  category: analyticsCategories.default,
251
252
  action: analyticsActions.histogramExpanded,
252
253
  label: window.location.href,
@@ -270,17 +271,18 @@ let CollectionFacets = class CollectionFacets extends LitElement {
270
271
  */
271
272
  get expandDatePickerBtnTemplate() {
272
273
  return this.allowExpandingDatePicker && !this.facetsLoading
273
- ? html `<button
274
- class="expand-date-picker-btn"
275
- aria-haspopup="dialog"
276
- @click=${this.showDatePickerModal}
277
- >
278
- <span class="sr-only">${msg('Expand date histogram')}</span>
279
- <span aria-hidden="true">${expandIcon}</span>
274
+ ? html `<button
275
+ class="expand-date-picker-btn"
276
+ aria-haspopup="dialog"
277
+ @click=${this.showDatePickerModal}
278
+ >
279
+ <span class="sr-only">${msg('Expand date histogram')}</span>
280
+ <span aria-hidden="true">${expandIcon}</span>
280
281
  </button>`
281
282
  : nothing;
282
283
  }
283
284
  get histogramTemplate() {
285
+ var _a, _b;
284
286
  if (this.histogramAggregationLoading) {
285
287
  return html ` <div class="histogram-loading-indicator">&hellip;</div> `;
286
288
  }
@@ -288,26 +290,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
288
290
  if (!histogramProps)
289
291
  return nothing;
290
292
  const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
291
- return html `
292
- <histogram-date-range
293
- class=${this.isTvSearch ? 'wide-inputs' : ''}
294
- .minDate=${minDate}
295
- .maxDate=${maxDate}
296
- .minSelectedDate=${this.minSelectedDate ?? minDate}
297
- .maxSelectedDate=${this.maxSelectedDate ?? maxDate}
298
- .updateDelay=${100}
299
- .dateFormat=${dateFormat}
300
- .tooltipDateFormat=${tooltipDateFormat}
301
- .tooltipLabel=${tooltipLabel}
302
- .binSnapping=${binSnapping}
303
- .barScaling=${barScaling}
304
- .bins=${buckets}
305
- missingDataMessage="..."
293
+ return html `
294
+ <histogram-date-range
295
+ class=${this.isTvSearch ? 'wide-inputs' : ''}
296
+ .minDate=${minDate}
297
+ .maxDate=${maxDate}
298
+ .minSelectedDate=${(_a = this.minSelectedDate) !== null && _a !== void 0 ? _a : minDate}
299
+ .maxSelectedDate=${(_b = this.maxSelectedDate) !== null && _b !== void 0 ? _b : maxDate}
300
+ .updateDelay=${100}
301
+ .dateFormat=${dateFormat}
302
+ .tooltipDateFormat=${tooltipDateFormat}
303
+ .tooltipLabel=${tooltipLabel}
304
+ .binSnapping=${binSnapping}
305
+ .barScaling=${barScaling}
306
+ .bins=${buckets}
307
+ missingDataMessage="..."
306
308
  .width=${this.collapsableFacets && this.contentWidth
307
309
  ? this.contentWidth
308
- : 180}
309
- @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
310
- ></histogram-date-range>
310
+ : 180}
311
+ @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
312
+ ></histogram-date-range>
311
313
  `;
312
314
  }
313
315
  /**
@@ -316,6 +318,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
316
318
  get mergedFacets() {
317
319
  const facetGroups = [];
318
320
  this.facetDisplayOrder.forEach(facetKey => {
321
+ var _a, _b;
319
322
  if (facetKey === 'mediatype' && this.suppressMediatypeFacets)
320
323
  return;
321
324
  const selectedFacetGroup = this.selectedFacetGroups.find(group => group.key === facetKey);
@@ -329,9 +332,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
329
332
  if (!aggregateFacetGroup)
330
333
  return;
331
334
  // start with either the selected group if we have one, or the aggregate group
332
- const facetGroup = selectedFacetGroup ?? aggregateFacetGroup;
335
+ const facetGroup = selectedFacetGroup !== null && selectedFacetGroup !== void 0 ? selectedFacetGroup : aggregateFacetGroup;
333
336
  // attach the counts to the selected buckets
334
- let bucketsWithCount = selectedFacetGroup?.buckets.map(bucket => {
337
+ let bucketsWithCount = (_a = selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets.map(bucket => {
335
338
  const selectedBucket = aggregateFacetGroup.buckets.find(b => b.key === bucket.key);
336
339
  return selectedBucket
337
340
  ? {
@@ -339,7 +342,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
339
342
  count: selectedBucket.count,
340
343
  }
341
344
  : bucket;
342
- }) ?? [];
345
+ })) !== null && _a !== void 0 ? _a : [];
343
346
  // append any additional buckets that were not selected
344
347
  aggregateFacetGroup.buckets.forEach(bucket => {
345
348
  const existingBucket = bucketsWithCount.find(b => b.key === bucket.key);
@@ -353,7 +356,7 @@ let CollectionFacets = class CollectionFacets extends LitElement {
353
356
  * - by-default we are showing 6 items
354
357
  * - additionally want to show all items (selected/suppressed) in page facet area
355
358
  */
356
- let allowedFacetCount = Object.keys(selectedFacetGroup?.buckets || [])?.length;
359
+ let allowedFacetCount = (_b = Object.keys((selectedFacetGroup === null || selectedFacetGroup === void 0 ? void 0 : selectedFacetGroup.buckets) || [])) === null || _b === void 0 ? void 0 : _b.length;
357
360
  if (allowedFacetCount < this.allowedFacetCount) {
358
361
  allowedFacetCount = this.allowedFacetCount; // splice start index from 0th
359
362
  }
@@ -378,22 +381,14 @@ let CollectionFacets = class CollectionFacets extends LitElement {
378
381
  // For TV creator facets, uppercase the display text
379
382
  if (facetKey === 'creator' && this.isTvSearch) {
380
383
  bucketsWithCount.forEach(b => {
381
- b.displayText = (b.displayText ?? b.key)?.toLocaleUpperCase();
382
- const channelLabel = this.tvChannelAliases?.get(b.displayText);
384
+ var _a, _b, _c;
385
+ b.displayText = (_b = ((_a = b.displayText) !== null && _a !== void 0 ? _a : b.key)) === null || _b === void 0 ? void 0 : _b.toLocaleUpperCase();
386
+ const channelLabel = (_c = this.tvChannelAliases) === null || _c === void 0 ? void 0 : _c.get(b.displayText);
383
387
  if (channelLabel && channelLabel !== b.displayText) {
384
388
  b.extraNote = `(${channelLabel})`;
385
389
  }
386
390
  });
387
391
  }
388
- // For TV clip_type facets, capitalize the display text
389
- if (facetKey === 'clip_type') {
390
- bucketsWithCount.forEach(b => {
391
- b.displayText ??= b.key;
392
- b.displayText =
393
- b.displayText.charAt(0).toLocaleUpperCase() +
394
- b.displayText.slice(1);
395
- });
396
- }
397
392
  // slice off how many items we want to show in page facet area
398
393
  facetGroup.buckets = bucketsWithCount.slice(0, allowedFacetCount);
399
394
  facetGroups.push(facetGroup);
@@ -411,11 +406,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
411
406
  const option = key;
412
407
  const title = facetTitles[option];
413
408
  const buckets = Object.entries(selectedFacets).map(([value, facetData]) => {
409
+ var _a;
414
410
  let displayText = value;
415
411
  // for lending facets, convert the key to a readable format
416
412
  if (option === 'lending') {
417
413
  displayText =
418
- lendingFacetDisplayNames[value] ?? value;
414
+ (_a = lendingFacetDisplayNames[value]) !== null && _a !== void 0 ? _a : value;
419
415
  }
420
416
  return {
421
417
  displayText,
@@ -436,8 +432,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
436
432
  * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
437
433
  */
438
434
  get aggregationFacetGroups() {
435
+ var _a;
439
436
  const facetGroups = [];
440
- Object.entries(this.aggregations ?? []).forEach(([key, aggregation]) => {
437
+ Object.entries((_a = this.aggregations) !== null && _a !== void 0 ? _a : []).forEach(([key, aggregation]) => {
441
438
  // the year_histogram and date_histogram data is in a different format so can't be handled here
442
439
  if (['year_histogram', 'date_histogram'].includes(key))
443
440
  return;
@@ -448,19 +445,20 @@ let CollectionFacets = class CollectionFacets extends LitElement {
448
445
  let castedBuckets = aggregation.getSortedBuckets(defaultFacetSort[option]);
449
446
  if (option === 'collection') {
450
447
  // we are not showing fav- collections or certain deemphasized collections in facets
451
- castedBuckets = castedBuckets?.filter(bucket => {
452
- const bucketKey = bucket?.key?.toString();
453
- return (!suppressedCollections[bucketKey] && !bucketKey?.startsWith('fav-'));
448
+ castedBuckets = castedBuckets === null || castedBuckets === void 0 ? void 0 : castedBuckets.filter(bucket => {
449
+ var _a;
450
+ const bucketKey = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.key) === null || _a === void 0 ? void 0 : _a.toString();
451
+ return (!suppressedCollections[bucketKey] && !(bucketKey === null || bucketKey === void 0 ? void 0 : bucketKey.startsWith('fav-')));
454
452
  });
455
453
  }
456
454
  const facetBuckets = castedBuckets.map(bucket => {
455
+ var _a;
457
456
  const bucketKey = bucket.key;
458
457
  let displayText = `${bucket.key}`;
459
458
  // for lending facets, convert the bucket key to a readable format
460
459
  if (option === 'lending') {
461
460
  displayText =
462
- lendingFacetDisplayNames[bucket.key] ??
463
- `${bucket.key}`;
461
+ (_a = lendingFacetDisplayNames[bucket.key]) !== null && _a !== void 0 ? _a : `${bucket.key}`;
464
462
  }
465
463
  return {
466
464
  displayText,
@@ -487,8 +485,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
487
485
  return nothing;
488
486
  const { key } = facetGroup;
489
487
  const isOpen = this.openFacets[key];
490
- const collapser = html `
491
- <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
488
+ const collapser = html `
489
+ <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
492
490
  `;
493
491
  const toggleCollapsed = () => {
494
492
  const newOpenFacets = { ...this.openFacets };
@@ -498,40 +496,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
498
496
  // Added data-testid for Playwright testing
499
497
  // Using className and aria-labels is not ideal for Playwright locator
500
498
  const headerId = `facet-group-header-label-${facetGroup.key}`;
501
- return html `
502
- <section
503
- class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
504
- aria-labelledby=${headerId}
505
- data-testid=${headerId}
506
- >
507
- <div class="facet-group-header">
508
- <h3
509
- id=${headerId}
510
- @click=${toggleCollapsed}
511
- @keyup=${toggleCollapsed}
512
- >
513
- ${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
514
- <span class="sr-only">filters</span>
515
- </h3>
516
- </div>
517
- <div
518
- class="facet-group-content ${isOpen ? 'open' : ''}"
519
- data-testid="facet-group-content-${facetGroup.key}"
520
- >
499
+ return html `
500
+ <section
501
+ class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
502
+ aria-labelledby=${headerId}
503
+ data-testid=${headerId}
504
+ >
505
+ <div class="facet-group-header">
506
+ <h3
507
+ id=${headerId}
508
+ @click=${toggleCollapsed}
509
+ @keyup=${toggleCollapsed}
510
+ >
511
+ ${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
512
+ <span class="sr-only">filters</span>
513
+ </h3>
514
+ </div>
515
+ <div
516
+ class="facet-group-content ${isOpen ? 'open' : ''}"
517
+ data-testid="facet-group-content-${facetGroup.key}"
518
+ >
521
519
  ${this.facetsLoading
522
520
  ? this.getTombstoneFacetGroupTemplate()
523
- : html `
524
- ${this.getFacetTemplate(facetGroup)}
525
- ${this.searchMoreFacetsLink(facetGroup)}
526
- `}
527
- </div>
528
- </section>
521
+ : html `
522
+ ${this.getFacetTemplate(facetGroup)}
523
+ ${this.searchMoreFacetsLink(facetGroup)}
524
+ `}
525
+ </div>
526
+ </section>
529
527
  `;
530
528
  }
531
529
  getTombstoneFacetGroupTemplate() {
532
530
  // Render five tombstone rows
533
- return html `
534
- ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
531
+ return html `
532
+ ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
535
533
  `;
536
534
  }
537
535
  /**
@@ -556,39 +554,41 @@ let CollectionFacets = class CollectionFacets extends LitElement {
556
554
  const facetSort = defaultFacetSort[facetGroup.key];
557
555
  // Added data-testid for Playwright testing
558
556
  // Using the className is not ideal for Playwright locator
559
- return html `<button
560
- class="more-link"
557
+ return html `<button
558
+ class="more-link"
561
559
  @click=${() => {
560
+ var _a;
562
561
  this.showMoreFacetsModal(facetGroup, facetSort);
563
- this.analyticsHandler?.sendEvent({
562
+ (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
564
563
  category: analyticsCategories.default,
565
564
  action: analyticsActions.showMoreFacetsModal,
566
565
  label: facetGroup.key,
567
566
  });
568
567
  this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
569
- }}
570
- data-testid="more-link-btn"
571
- >
572
- More...
568
+ }}
569
+ data-testid="more-link-btn"
570
+ >
571
+ More...
573
572
  </button>`;
574
573
  }
575
574
  async showMoreFacetsModal(facetGroup, sortedBy) {
576
- const customModalContent = html `
577
- <more-facets-content
578
- .analyticsHandler=${this.analyticsHandler}
579
- .facetKey=${facetGroup.key}
580
- .query=${this.query}
581
- .identifiers=${this.identifiers}
582
- .filterMap=${this.filterMap}
583
- .pageSpecifierParams=${this.pageSpecifierParams}
584
- .modalManager=${this.modalManager}
585
- .searchService=${this.searchService}
586
- .searchType=${this.searchType}
587
- .collectionTitles=${this.collectionTitles}
588
- .tvChannelAliases=${this.tvChannelAliases}
589
- .selectedFacets=${this.selectedFacets}
590
- .sortedBy=${sortedBy}
591
- .isTvSearch=${this.isTvSearch}
575
+ var _a, _b;
576
+ const customModalContent = html `
577
+ <more-facets-content
578
+ .analyticsHandler=${this.analyticsHandler}
579
+ .facetKey=${facetGroup.key}
580
+ .query=${this.query}
581
+ .identifiers=${this.identifiers}
582
+ .filterMap=${this.filterMap}
583
+ .pageSpecifierParams=${this.pageSpecifierParams}
584
+ .modalManager=${this.modalManager}
585
+ .searchService=${this.searchService}
586
+ .searchType=${this.searchType}
587
+ .collectionTitles=${this.collectionTitles}
588
+ .tvChannelAliases=${this.tvChannelAliases}
589
+ .selectedFacets=${this.selectedFacets}
590
+ .sortedBy=${sortedBy}
591
+ .isTvSearch=${this.isTvSearch}
592
592
  @facetsChanged=${(e) => {
593
593
  const event = new CustomEvent('facetsChanged', {
594
594
  detail: e.detail,
@@ -596,9 +596,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
596
596
  composed: true,
597
597
  });
598
598
  this.dispatchEvent(event);
599
- }}
600
- >
601
- </more-facets-content>
599
+ }}
600
+ >
601
+ </more-facets-content>
602
602
  `;
603
603
  const config = new ModalConfig({
604
604
  bodyColor: '#fff',
@@ -607,12 +607,13 @@ let CollectionFacets = class CollectionFacets extends LitElement {
607
607
  closeOnBackdropClick: true, // TODO: want to fire analytics
608
608
  title: html `Select filters`,
609
609
  });
610
- this.modalManager?.classList.add('more-search-facets');
611
- this.modalManager?.showModal({
610
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.add('more-search-facets');
611
+ (_b = this.modalManager) === null || _b === void 0 ? void 0 : _b.showModal({
612
612
  config,
613
613
  customModalContent,
614
614
  userClosedModalCallback: () => {
615
- this.modalManager?.classList.remove('more-search-facets');
615
+ var _a;
616
+ (_a = this.modalManager) === null || _a === void 0 ? void 0 : _a.classList.remove('more-search-facets');
616
617
  },
617
618
  });
618
619
  }
@@ -620,12 +621,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
620
621
  * Generate the list template for each bucket in a facet group
621
622
  */
622
623
  getFacetTemplate(facetGroup) {
623
- return html `
624
- <facets-template
625
- .collectionPagePath=${this.collectionPagePath}
626
- .facetGroup=${facetGroup}
627
- .selectedFacets=${this.selectedFacets}
628
- .collectionTitles=${this.collectionTitles}
624
+ return html `
625
+ <facets-template
626
+ .collectionPagePath=${this.collectionPagePath}
627
+ .facetGroup=${facetGroup}
628
+ .selectedFacets=${this.selectedFacets}
629
+ .collectionTitles=${this.collectionTitles}
629
630
  @facetClick=${(e) => {
630
631
  this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
631
632
  const event = new CustomEvent('facetsChanged', {
@@ -634,134 +635,134 @@ let CollectionFacets = class CollectionFacets extends LitElement {
634
635
  composed: true,
635
636
  });
636
637
  this.dispatchEvent(event);
637
- }}
638
- ></facets-template>
638
+ }}
639
+ ></facets-template>
639
640
  `;
640
641
  }
641
642
  static get styles() {
642
643
  return [
643
644
  srOnlyStyle,
644
- css `
645
- a:link {
646
- text-decoration: none;
647
- color: var(--ia-theme-link-color, #4b64ff);
648
- }
649
- a:link:hover {
650
- text-decoration: underline;
651
- }
652
-
653
- #container.loading {
654
- opacity: 0.5;
655
- }
656
-
657
- #container.managing {
658
- opacity: 0.3;
659
- }
660
-
661
- .histogram-loading-indicator {
662
- width: 100%;
663
- height: 5.25rem;
664
- margin-top: 1.75rem;
665
- font-size: 1.4rem;
666
- text-align: center;
667
- }
668
-
669
- .collapser {
670
- display: inline-block;
671
- cursor: pointer;
672
- width: 10px;
673
- height: 10px;
674
- }
675
-
676
- .collapser svg {
677
- transition: transform 0.2s ease-in-out;
678
- }
679
-
680
- .collapser.open svg {
681
- transform: rotate(90deg);
682
- }
683
-
684
- .facet-group {
685
- margin-bottom: 2rem;
686
- }
687
-
688
- .facet-group h3 {
689
- margin-bottom: 0.7rem;
690
- }
691
-
692
- .facet-group.mobile h3 {
693
- cursor: pointer;
694
- }
695
-
696
- .facet-group-header {
697
- display: flex;
698
- margin-bottom: 0.7rem;
699
- justify-content: space-between;
700
- border-bottom: 1px solid rgb(232, 232, 232);
701
- }
702
-
703
- .facet-group-content {
704
- transition: max-height 0.2s ease-in-out;
705
- }
706
-
707
- .facet-group.mobile .facet-group-content {
708
- max-height: 0;
709
- overflow: hidden;
710
- }
711
-
712
- .facet-group.mobile .facet-group-content.open {
713
- max-height: 2000px;
714
- }
715
-
716
- .partof-collections ul {
717
- list-style-type: none;
718
- padding: 0;
719
- font-size: 1.2rem;
720
- }
721
-
722
- h3 {
723
- font-size: 1.4rem;
724
- margin: 0;
725
- }
726
-
727
- .more-link {
728
- font-size: 1.2rem;
729
- text-decoration: none;
730
- padding: 0;
731
- margin-top: 0.25rem;
732
- background: inherit;
733
- border: 0;
734
- color: var(--ia-theme-link-color, #4b64ff);
735
- cursor: pointer;
736
- }
737
-
738
- #date-picker-label {
739
- display: flex;
740
- justify-content: space-between;
741
- }
742
-
743
- .expand-date-picker-btn {
744
- margin: 0;
745
- padding: 0;
746
- border: 0;
747
- appearance: none;
748
- background: none;
749
- cursor: pointer;
750
- }
751
-
752
- .expand-date-picker-btn svg {
753
- width: 14px;
754
- height: 14px;
755
- }
756
-
757
- .sorting-icon {
758
- height: 15px;
759
- cursor: pointer;
760
- }
761
-
762
- histogram-date-range.wide-inputs {
763
- --histogramDateRangeInputWidth: 4.8rem;
764
- }
645
+ css `
646
+ a:link {
647
+ text-decoration: none;
648
+ color: var(--ia-theme-link-color, #4b64ff);
649
+ }
650
+ a:link:hover {
651
+ text-decoration: underline;
652
+ }
653
+
654
+ #container.loading {
655
+ opacity: 0.5;
656
+ }
657
+
658
+ #container.managing {
659
+ opacity: 0.3;
660
+ }
661
+
662
+ .histogram-loading-indicator {
663
+ width: 100%;
664
+ height: 2.25rem;
665
+ margin-top: 1.75rem;
666
+ font-size: 1.4rem;
667
+ text-align: center;
668
+ }
669
+
670
+ .collapser {
671
+ display: inline-block;
672
+ cursor: pointer;
673
+ width: 10px;
674
+ height: 10px;
675
+ }
676
+
677
+ .collapser svg {
678
+ transition: transform 0.2s ease-in-out;
679
+ }
680
+
681
+ .collapser.open svg {
682
+ transform: rotate(90deg);
683
+ }
684
+
685
+ .facet-group:not(:last-child) {
686
+ margin-bottom: 2rem;
687
+ }
688
+
689
+ .facet-group h3 {
690
+ margin-bottom: 0.7rem;
691
+ }
692
+
693
+ .facet-group.mobile h3 {
694
+ cursor: pointer;
695
+ }
696
+
697
+ .facet-group-header {
698
+ display: flex;
699
+ margin-bottom: 0.7rem;
700
+ justify-content: space-between;
701
+ border-bottom: 1px solid rgb(232, 232, 232);
702
+ }
703
+
704
+ .facet-group-content {
705
+ transition: max-height 0.2s ease-in-out;
706
+ }
707
+
708
+ .facet-group.mobile .facet-group-content {
709
+ max-height: 0;
710
+ overflow: hidden;
711
+ }
712
+
713
+ .facet-group.mobile .facet-group-content.open {
714
+ max-height: 2000px;
715
+ }
716
+
717
+ .partof-collections ul {
718
+ list-style-type: none;
719
+ padding: 0;
720
+ font-size: 1.2rem;
721
+ }
722
+
723
+ h3 {
724
+ font-size: 1.4rem;
725
+ margin: 0;
726
+ }
727
+
728
+ .more-link {
729
+ font-size: 1.2rem;
730
+ text-decoration: none;
731
+ padding: 0;
732
+ margin-top: 0.25rem;
733
+ background: inherit;
734
+ border: 0;
735
+ color: var(--ia-theme-link-color, #4b64ff);
736
+ cursor: pointer;
737
+ }
738
+
739
+ #date-picker-label {
740
+ display: flex;
741
+ justify-content: space-between;
742
+ }
743
+
744
+ .expand-date-picker-btn {
745
+ margin: 0;
746
+ padding: 0;
747
+ border: 0;
748
+ appearance: none;
749
+ background: none;
750
+ cursor: pointer;
751
+ }
752
+
753
+ .expand-date-picker-btn svg {
754
+ width: 14px;
755
+ height: 14px;
756
+ }
757
+
758
+ .sorting-icon {
759
+ height: 15px;
760
+ cursor: pointer;
761
+ }
762
+
763
+ histogram-date-range.wide-inputs {
764
+ --histogramDateRangeInputWidth: 4.8rem;
765
+ }
765
766
  `,
766
767
  ];
767
768
  }