@internetarchive/collection-browser 3.0.0 → 3.0.1-webdev-7936.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +29 -29
- package/.github/workflows/ci.yml +27 -27
- package/.github/workflows/gh-pages-main.yml +39 -39
- package/.github/workflows/npm-publish.yml +39 -39
- package/.github/workflows/pr-preview.yml +38 -38
- package/.husky/pre-commit +4 -4
- package/.prettierignore +1 -1
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/src/collection-browser.js +681 -680
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.js +131 -130
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +75 -75
- package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
- package/dist/src/collection-facets.js +264 -263
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
- package/dist/src/data-source/models.js.map +1 -1
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.js +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.js +3 -2
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.js +139 -139
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/search-tile.js +3 -2
- package/dist/src/tiles/grid/search-tile.js.map +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +2 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.js +21 -21
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.js +108 -108
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js +45 -45
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +97 -97
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.js +300 -290
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.js +200 -200
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
- package/dist/test/collection-browser.test.js +183 -183
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/restoration-state-handler.test.js.map +1 -1
- package/dist/test/tiles/list/tile-list.test.js +13 -0
- package/dist/test/tiles/list/tile-list.test.js.map +1 -1
- package/eslint.config.mjs +53 -53
- package/index.html +24 -24
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +117 -117
- package/renovate.json +6 -6
- package/src/collection-browser.ts +2776 -2775
- package/src/collection-facets/facet-row.ts +283 -282
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +437 -437
- package/src/collection-facets.ts +991 -990
- package/src/data-source/collection-browser-data-source.ts +1390 -1390
- package/src/data-source/collection-browser-query-state.ts +63 -63
- package/src/data-source/models.ts +43 -43
- package/src/models.ts +870 -870
- package/src/restoration-state-handler.ts +544 -544
- package/src/sort-filter-bar/sort-filter-bar.ts +1 -1
- package/src/tiles/base-tile-component.ts +53 -53
- package/src/tiles/grid/collection-tile.ts +3 -2
- package/src/tiles/grid/item-tile.ts +339 -339
- package/src/tiles/grid/search-tile.ts +3 -2
- package/src/tiles/grid/styles/tile-grid-shared-styles.ts +2 -1
- package/src/tiles/hover/hover-pane-controller.ts +517 -517
- package/src/tiles/hover/tile-hover-pane.ts +180 -180
- package/src/tiles/list/tile-list-compact-header.ts +86 -86
- package/src/tiles/list/tile-list-compact.ts +236 -236
- package/src/tiles/list/tile-list.ts +696 -688
- package/src/tiles/tile-dispatcher.ts +486 -486
- package/src/tiles/tile-display-value-provider.ts +124 -124
- package/test/collection-browser.test.ts +2340 -2340
- package/test/restoration-state-handler.test.ts +510 -510
- package/test/tiles/list/tile-list.test.ts +15 -0
- package/tsconfig.json +20 -20
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -77,27 +77,27 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
77
77
|
// Added data-testid for Playwright testing
|
|
78
78
|
// Using facet-group class and aria-labels is not ideal for Playwright locator
|
|
79
79
|
const datePickerLabelId = 'date-picker-label';
|
|
80
|
-
return html `
|
|
81
|
-
<div id="container" class=${containerClasses}>
|
|
80
|
+
return html `
|
|
81
|
+
<div id="container" class=${containerClasses}>
|
|
82
82
|
${this.showHistogramDatePicker &&
|
|
83
83
|
(this.histogramAggregation || this.histogramAggregationLoading)
|
|
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>
|
|
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>
|
|
96
96
|
`
|
|
97
|
-
: nothing}
|
|
98
|
-
${this.collectionPartOfTemplate}
|
|
99
|
-
${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
|
|
100
|
-
</div>
|
|
97
|
+
: nothing}
|
|
98
|
+
${this.collectionPartOfTemplate}
|
|
99
|
+
${this.mergedFacets.map(facetGroup => this.getFacetGroupTemplate(facetGroup))}
|
|
100
|
+
</div>
|
|
101
101
|
`;
|
|
102
102
|
}
|
|
103
103
|
get collectionPartOfTemplate() {
|
|
@@ -108,31 +108,31 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
108
108
|
// Added data-testid for Playwright testing
|
|
109
109
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
110
110
|
const headingId = 'partof-heading';
|
|
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>
|
|
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>
|
|
121
121
|
${map(this.parentCollections, collxn => {
|
|
122
122
|
var _a, _b;
|
|
123
123
|
const collectionURL = `${this.baseNavigationUrl}${this.collectionPagePath}${collxn}`;
|
|
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>
|
|
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>
|
|
132
132
|
</li>`;
|
|
133
|
-
})}
|
|
134
|
-
</ul>
|
|
135
|
-
</section>
|
|
133
|
+
})}
|
|
134
|
+
</ul>
|
|
135
|
+
</section>
|
|
136
136
|
`;
|
|
137
137
|
}
|
|
138
138
|
partOfCollectionClicked(e) {
|
|
@@ -215,24 +215,24 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
215
215
|
expandedDatePicker.maxSelectedDate = this.maxSelectedDate;
|
|
216
216
|
}
|
|
217
217
|
};
|
|
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>
|
|
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>
|
|
236
236
|
`;
|
|
237
237
|
const config = new ModalConfig({
|
|
238
238
|
bodyColor: '#fff',
|
|
@@ -271,12 +271,13 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
271
271
|
*/
|
|
272
272
|
get expandDatePickerBtnTemplate() {
|
|
273
273
|
return this.allowExpandingDatePicker && !this.facetsLoading
|
|
274
|
-
? html `<button
|
|
275
|
-
class="expand-date-picker-btn"
|
|
276
|
-
aria-hidden="true"
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
274
|
+
? html `<button
|
|
275
|
+
class="expand-date-picker-btn"
|
|
276
|
+
aria-hidden="true"
|
|
277
|
+
tabindex="-1"
|
|
278
|
+
@click=${this.showDatePickerModal}
|
|
279
|
+
>
|
|
280
|
+
${expandIcon}
|
|
280
281
|
</button>`
|
|
281
282
|
: nothing;
|
|
282
283
|
}
|
|
@@ -289,26 +290,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
289
290
|
if (!histogramProps)
|
|
290
291
|
return nothing;
|
|
291
292
|
const { buckets, dateFormat, tooltipDateFormat, tooltipLabel, binSnapping, barScaling, minDate, maxDate, } = histogramProps;
|
|
292
|
-
return html `
|
|
293
|
-
<histogram-date-range
|
|
294
|
-
class=${this.isTvSearch ? 'wide-inputs' : nothing}
|
|
295
|
-
.minDate=${minDate}
|
|
296
|
-
.maxDate=${maxDate}
|
|
297
|
-
.minSelectedDate=${(_a = this.minSelectedDate) !== null && _a !== void 0 ? _a : minDate}
|
|
298
|
-
.maxSelectedDate=${(_b = this.maxSelectedDate) !== null && _b !== void 0 ? _b : maxDate}
|
|
299
|
-
.updateDelay=${100}
|
|
300
|
-
.dateFormat=${dateFormat}
|
|
301
|
-
.tooltipDateFormat=${tooltipDateFormat}
|
|
302
|
-
.tooltipLabel=${tooltipLabel}
|
|
303
|
-
.binSnapping=${binSnapping}
|
|
304
|
-
.barScaling=${barScaling}
|
|
305
|
-
.bins=${buckets}
|
|
306
|
-
missingDataMessage="..."
|
|
293
|
+
return html `
|
|
294
|
+
<histogram-date-range
|
|
295
|
+
class=${this.isTvSearch ? 'wide-inputs' : nothing}
|
|
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="..."
|
|
307
308
|
.width=${this.collapsableFacets && this.contentWidth
|
|
308
309
|
? this.contentWidth
|
|
309
|
-
: 180}
|
|
310
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
311
|
-
></histogram-date-range>
|
|
310
|
+
: 180}
|
|
311
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
312
|
+
></histogram-date-range>
|
|
312
313
|
`;
|
|
313
314
|
}
|
|
314
315
|
/**
|
|
@@ -484,8 +485,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
484
485
|
return nothing;
|
|
485
486
|
const { key } = facetGroup;
|
|
486
487
|
const isOpen = this.openFacets[key];
|
|
487
|
-
const collapser = html `
|
|
488
|
-
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
488
|
+
const collapser = html `
|
|
489
|
+
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
489
490
|
`;
|
|
490
491
|
const toggleCollapsed = () => {
|
|
491
492
|
const newOpenFacets = { ...this.openFacets };
|
|
@@ -495,40 +496,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
495
496
|
// Added data-testid for Playwright testing
|
|
496
497
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
497
498
|
const headerId = `facet-group-header-label-${facetGroup.key}`;
|
|
498
|
-
return html `
|
|
499
|
-
<section
|
|
500
|
-
class="facet-group ${this.collapsableFacets ? 'mobile' : ''}"
|
|
501
|
-
aria-labelledby=${headerId}
|
|
502
|
-
data-testid=${headerId}
|
|
503
|
-
>
|
|
504
|
-
<div class="facet-group-header">
|
|
505
|
-
<h3
|
|
506
|
-
id=${headerId}
|
|
507
|
-
@click=${toggleCollapsed}
|
|
508
|
-
@keyup=${toggleCollapsed}
|
|
509
|
-
>
|
|
510
|
-
${this.collapsableFacets ? collapser : nothing} ${facetGroup.title}
|
|
511
|
-
<span class="sr-only">filters</span>
|
|
512
|
-
</h3>
|
|
513
|
-
</div>
|
|
514
|
-
<div
|
|
515
|
-
class="facet-group-content ${isOpen ? 'open' : ''}"
|
|
516
|
-
data-testid="facet-group-content-${facetGroup.key}"
|
|
517
|
-
>
|
|
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
|
+
>
|
|
518
519
|
${this.facetsLoading
|
|
519
520
|
? this.getTombstoneFacetGroupTemplate()
|
|
520
|
-
: html `
|
|
521
|
-
${this.getFacetTemplate(facetGroup)}
|
|
522
|
-
${this.searchMoreFacetsLink(facetGroup)}
|
|
523
|
-
`}
|
|
524
|
-
</div>
|
|
525
|
-
</section>
|
|
521
|
+
: html `
|
|
522
|
+
${this.getFacetTemplate(facetGroup)}
|
|
523
|
+
${this.searchMoreFacetsLink(facetGroup)}
|
|
524
|
+
`}
|
|
525
|
+
</div>
|
|
526
|
+
</section>
|
|
526
527
|
`;
|
|
527
528
|
}
|
|
528
529
|
getTombstoneFacetGroupTemplate() {
|
|
529
530
|
// Render five tombstone rows
|
|
530
|
-
return html `
|
|
531
|
-
${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>`)}
|
|
532
533
|
`;
|
|
533
534
|
}
|
|
534
535
|
/**
|
|
@@ -553,8 +554,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
553
554
|
const facetSort = defaultFacetSort[facetGroup.key];
|
|
554
555
|
// Added data-testid for Playwright testing
|
|
555
556
|
// Using the className is not ideal for Playwright locator
|
|
556
|
-
return html `<button
|
|
557
|
-
class="more-link"
|
|
557
|
+
return html `<button
|
|
558
|
+
class="more-link"
|
|
558
559
|
@click=${() => {
|
|
559
560
|
var _a;
|
|
560
561
|
this.showMoreFacetsModal(facetGroup, facetSort);
|
|
@@ -564,29 +565,29 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
564
565
|
label: facetGroup.key,
|
|
565
566
|
});
|
|
566
567
|
this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
|
|
567
|
-
}}
|
|
568
|
-
data-testid="more-link-btn"
|
|
569
|
-
>
|
|
570
|
-
More...
|
|
568
|
+
}}
|
|
569
|
+
data-testid="more-link-btn"
|
|
570
|
+
>
|
|
571
|
+
More...
|
|
571
572
|
</button>`;
|
|
572
573
|
}
|
|
573
574
|
async showMoreFacetsModal(facetGroup, sortedBy) {
|
|
574
575
|
var _a, _b;
|
|
575
|
-
const customModalContent = html `
|
|
576
|
-
<more-facets-content
|
|
577
|
-
.analyticsHandler=${this.analyticsHandler}
|
|
578
|
-
.facetKey=${facetGroup.key}
|
|
579
|
-
.query=${this.query}
|
|
580
|
-
.filterMap=${this.filterMap}
|
|
581
|
-
.pageSpecifierParams=${this.pageSpecifierParams}
|
|
582
|
-
.modalManager=${this.modalManager}
|
|
583
|
-
.searchService=${this.searchService}
|
|
584
|
-
.searchType=${this.searchType}
|
|
585
|
-
.collectionTitles=${this.collectionTitles}
|
|
586
|
-
.tvChannelAliases=${this.tvChannelAliases}
|
|
587
|
-
.selectedFacets=${this.selectedFacets}
|
|
588
|
-
.sortedBy=${sortedBy}
|
|
589
|
-
.isTvSearch=${this.isTvSearch}
|
|
576
|
+
const customModalContent = html `
|
|
577
|
+
<more-facets-content
|
|
578
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
579
|
+
.facetKey=${facetGroup.key}
|
|
580
|
+
.query=${this.query}
|
|
581
|
+
.filterMap=${this.filterMap}
|
|
582
|
+
.pageSpecifierParams=${this.pageSpecifierParams}
|
|
583
|
+
.modalManager=${this.modalManager}
|
|
584
|
+
.searchService=${this.searchService}
|
|
585
|
+
.searchType=${this.searchType}
|
|
586
|
+
.collectionTitles=${this.collectionTitles}
|
|
587
|
+
.tvChannelAliases=${this.tvChannelAliases}
|
|
588
|
+
.selectedFacets=${this.selectedFacets}
|
|
589
|
+
.sortedBy=${sortedBy}
|
|
590
|
+
.isTvSearch=${this.isTvSearch}
|
|
590
591
|
@facetsChanged=${(e) => {
|
|
591
592
|
const event = new CustomEvent('facetsChanged', {
|
|
592
593
|
detail: e.detail,
|
|
@@ -594,9 +595,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
594
595
|
composed: true,
|
|
595
596
|
});
|
|
596
597
|
this.dispatchEvent(event);
|
|
597
|
-
}}
|
|
598
|
-
>
|
|
599
|
-
</more-facets-content>
|
|
598
|
+
}}
|
|
599
|
+
>
|
|
600
|
+
</more-facets-content>
|
|
600
601
|
`;
|
|
601
602
|
const config = new ModalConfig({
|
|
602
603
|
bodyColor: '#fff',
|
|
@@ -619,12 +620,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
619
620
|
* Generate the list template for each bucket in a facet group
|
|
620
621
|
*/
|
|
621
622
|
getFacetTemplate(facetGroup) {
|
|
622
|
-
return html `
|
|
623
|
-
<facets-template
|
|
624
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
625
|
-
.facetGroup=${facetGroup}
|
|
626
|
-
.selectedFacets=${this.selectedFacets}
|
|
627
|
-
.collectionTitles=${this.collectionTitles}
|
|
623
|
+
return html `
|
|
624
|
+
<facets-template
|
|
625
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
626
|
+
.facetGroup=${facetGroup}
|
|
627
|
+
.selectedFacets=${this.selectedFacets}
|
|
628
|
+
.collectionTitles=${this.collectionTitles}
|
|
628
629
|
@facetClick=${(e) => {
|
|
629
630
|
this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
|
|
630
631
|
const event = new CustomEvent('facetsChanged', {
|
|
@@ -633,133 +634,133 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
633
634
|
composed: true,
|
|
634
635
|
});
|
|
635
636
|
this.dispatchEvent(event);
|
|
636
|
-
}}
|
|
637
|
-
></facets-template>
|
|
637
|
+
}}
|
|
638
|
+
></facets-template>
|
|
638
639
|
`;
|
|
639
640
|
}
|
|
640
641
|
static get styles() {
|
|
641
642
|
return [
|
|
642
643
|
srOnlyStyle,
|
|
643
|
-
css `
|
|
644
|
-
a:link {
|
|
645
|
-
text-decoration: none;
|
|
646
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
647
|
-
}
|
|
648
|
-
a:link:hover {
|
|
649
|
-
text-decoration: underline;
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
#container.loading {
|
|
653
|
-
opacity: 0.5;
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
#container.managing {
|
|
657
|
-
opacity: 0.3;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
.histogram-loading-indicator {
|
|
661
|
-
width: 100%;
|
|
662
|
-
height: 2.25rem;
|
|
663
|
-
margin-top: 1.75rem;
|
|
664
|
-
font-size: 1.4rem;
|
|
665
|
-
text-align: center;
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
.collapser {
|
|
669
|
-
display: inline-block;
|
|
670
|
-
cursor: pointer;
|
|
671
|
-
width: 10px;
|
|
672
|
-
height: 10px;
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
.collapser svg {
|
|
676
|
-
transition: transform 0.2s ease-in-out;
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
.collapser.open svg {
|
|
680
|
-
transform: rotate(90deg);
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
.facet-group:not(:last-child) {
|
|
684
|
-
margin-bottom: 2rem;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
.facet-group h3 {
|
|
688
|
-
margin-bottom: 0.7rem;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
.facet-group.mobile h3 {
|
|
692
|
-
cursor: pointer;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
.facet-group-header {
|
|
696
|
-
display: flex;
|
|
697
|
-
margin-bottom: 0.7rem;
|
|
698
|
-
justify-content: space-between;
|
|
699
|
-
border-bottom: 1px solid rgb(232, 232, 232);
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
.facet-group-content {
|
|
703
|
-
transition: max-height 0.2s ease-in-out;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
.facet-group.mobile .facet-group-content {
|
|
707
|
-
max-height: 0;
|
|
708
|
-
overflow: hidden;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
.facet-group.mobile .facet-group-content.open {
|
|
712
|
-
max-height: 2000px;
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
.partof-collections ul {
|
|
716
|
-
list-style-type: none;
|
|
717
|
-
padding: 0;
|
|
718
|
-
font-size: 1.2rem;
|
|
719
|
-
}
|
|
720
|
-
|
|
721
|
-
h3 {
|
|
722
|
-
font-size: 1.4rem;
|
|
723
|
-
margin: 0;
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
.more-link {
|
|
727
|
-
font-size: 1.2rem;
|
|
728
|
-
text-decoration: none;
|
|
729
|
-
padding: 0;
|
|
730
|
-
background: inherit;
|
|
731
|
-
border: 0;
|
|
732
|
-
color: var(--ia-theme-link-color, #4b64ff);
|
|
733
|
-
cursor: pointer;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
#date-picker-label {
|
|
737
|
-
display: flex;
|
|
738
|
-
justify-content: space-between;
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
.expand-date-picker-btn {
|
|
742
|
-
margin: 0;
|
|
743
|
-
padding: 0;
|
|
744
|
-
border: 0;
|
|
745
|
-
appearance: none;
|
|
746
|
-
background: none;
|
|
747
|
-
cursor: pointer;
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
.expand-date-picker-btn > svg {
|
|
751
|
-
width: 14px;
|
|
752
|
-
height: 14px;
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
.sorting-icon {
|
|
756
|
-
height: 15px;
|
|
757
|
-
cursor: pointer;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
histogram-date-range.wide-inputs {
|
|
761
|
-
--histogramDateRangeInputWidth: 4.8rem;
|
|
762
|
-
}
|
|
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: 2.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:not(:last-child) {
|
|
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
|
+
background: inherit;
|
|
732
|
+
border: 0;
|
|
733
|
+
color: var(--ia-theme-link-color, #4b64ff);
|
|
734
|
+
cursor: pointer;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
#date-picker-label {
|
|
738
|
+
display: flex;
|
|
739
|
+
justify-content: space-between;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
.expand-date-picker-btn {
|
|
743
|
+
margin: 0;
|
|
744
|
+
padding: 0;
|
|
745
|
+
border: 0;
|
|
746
|
+
appearance: none;
|
|
747
|
+
background: none;
|
|
748
|
+
cursor: pointer;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
.expand-date-picker-btn > svg {
|
|
752
|
+
width: 14px;
|
|
753
|
+
height: 14px;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.sorting-icon {
|
|
757
|
+
height: 15px;
|
|
758
|
+
cursor: pointer;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
histogram-date-range.wide-inputs {
|
|
762
|
+
--histogramDateRangeInputWidth: 4.8rem;
|
|
763
|
+
}
|
|
763
764
|
`,
|
|
764
765
|
];
|
|
765
766
|
}
|