@internetarchive/collection-browser 3.0.0 → 3.0.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.
- package/dist/src/collection-browser.js +680 -680
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.js +130 -130
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/models.d.ts +9 -0
- package/dist/src/collection-facets/models.js +10 -0
- package/dist/src/collection-facets/models.js.map +1 -0
- package/dist/src/collection-facets/more-facets-content.js +121 -120
- package/dist/src/collection-facets/more-facets-content.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 +263 -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/tiles/base-tile-component.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/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 +289 -289
- 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/package.json +1 -1
- package/src/collection-browser.ts +2775 -2775
- package/src/collection-facets/facet-row.ts +282 -282
- package/src/collection-facets/models.ts +10 -0
- package/src/collection-facets/more-facets-content.ts +636 -632
- package/src/collection-facets/smart-facets/smart-facet-bar.ts +437 -437
- package/src/collection-facets.ts +990 -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/tiles/base-tile-component.ts +53 -53
- package/src/tiles/grid/item-tile.ts +339 -339
- 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 +688 -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
|
@@ -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,12 @@ 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
|
-
@click=${this.showDatePickerModal}
|
|
278
|
-
>
|
|
279
|
-
${expandIcon}
|
|
274
|
+
? html `<button
|
|
275
|
+
class="expand-date-picker-btn"
|
|
276
|
+
aria-hidden="true"
|
|
277
|
+
@click=${this.showDatePickerModal}
|
|
278
|
+
>
|
|
279
|
+
${expandIcon}
|
|
280
280
|
</button>`
|
|
281
281
|
: nothing;
|
|
282
282
|
}
|
|
@@ -289,26 +289,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
289
289
|
if (!histogramProps)
|
|
290
290
|
return nothing;
|
|
291
291
|
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="..."
|
|
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="..."
|
|
307
307
|
.width=${this.collapsableFacets && this.contentWidth
|
|
308
308
|
? this.contentWidth
|
|
309
|
-
: 180}
|
|
310
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
311
|
-
></histogram-date-range>
|
|
309
|
+
: 180}
|
|
310
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
311
|
+
></histogram-date-range>
|
|
312
312
|
`;
|
|
313
313
|
}
|
|
314
314
|
/**
|
|
@@ -484,8 +484,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
484
484
|
return nothing;
|
|
485
485
|
const { key } = facetGroup;
|
|
486
486
|
const isOpen = this.openFacets[key];
|
|
487
|
-
const collapser = html `
|
|
488
|
-
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
487
|
+
const collapser = html `
|
|
488
|
+
<span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
|
|
489
489
|
`;
|
|
490
490
|
const toggleCollapsed = () => {
|
|
491
491
|
const newOpenFacets = { ...this.openFacets };
|
|
@@ -495,40 +495,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
495
495
|
// Added data-testid for Playwright testing
|
|
496
496
|
// Using className and aria-labels is not ideal for Playwright locator
|
|
497
497
|
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
|
-
>
|
|
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
|
+
>
|
|
518
518
|
${this.facetsLoading
|
|
519
519
|
? this.getTombstoneFacetGroupTemplate()
|
|
520
|
-
: html `
|
|
521
|
-
${this.getFacetTemplate(facetGroup)}
|
|
522
|
-
${this.searchMoreFacetsLink(facetGroup)}
|
|
523
|
-
`}
|
|
524
|
-
</div>
|
|
525
|
-
</section>
|
|
520
|
+
: html `
|
|
521
|
+
${this.getFacetTemplate(facetGroup)}
|
|
522
|
+
${this.searchMoreFacetsLink(facetGroup)}
|
|
523
|
+
`}
|
|
524
|
+
</div>
|
|
525
|
+
</section>
|
|
526
526
|
`;
|
|
527
527
|
}
|
|
528
528
|
getTombstoneFacetGroupTemplate() {
|
|
529
529
|
// Render five tombstone rows
|
|
530
|
-
return html `
|
|
531
|
-
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
530
|
+
return html `
|
|
531
|
+
${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
|
|
532
532
|
`;
|
|
533
533
|
}
|
|
534
534
|
/**
|
|
@@ -553,8 +553,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
553
553
|
const facetSort = defaultFacetSort[facetGroup.key];
|
|
554
554
|
// Added data-testid for Playwright testing
|
|
555
555
|
// Using the className is not ideal for Playwright locator
|
|
556
|
-
return html `<button
|
|
557
|
-
class="more-link"
|
|
556
|
+
return html `<button
|
|
557
|
+
class="more-link"
|
|
558
558
|
@click=${() => {
|
|
559
559
|
var _a;
|
|
560
560
|
this.showMoreFacetsModal(facetGroup, facetSort);
|
|
@@ -564,29 +564,29 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
564
564
|
label: facetGroup.key,
|
|
565
565
|
});
|
|
566
566
|
this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
|
|
567
|
-
}}
|
|
568
|
-
data-testid="more-link-btn"
|
|
569
|
-
>
|
|
570
|
-
More...
|
|
567
|
+
}}
|
|
568
|
+
data-testid="more-link-btn"
|
|
569
|
+
>
|
|
570
|
+
More...
|
|
571
571
|
</button>`;
|
|
572
572
|
}
|
|
573
573
|
async showMoreFacetsModal(facetGroup, sortedBy) {
|
|
574
574
|
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}
|
|
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}
|
|
590
590
|
@facetsChanged=${(e) => {
|
|
591
591
|
const event = new CustomEvent('facetsChanged', {
|
|
592
592
|
detail: e.detail,
|
|
@@ -594,9 +594,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
594
594
|
composed: true,
|
|
595
595
|
});
|
|
596
596
|
this.dispatchEvent(event);
|
|
597
|
-
}}
|
|
598
|
-
>
|
|
599
|
-
</more-facets-content>
|
|
597
|
+
}}
|
|
598
|
+
>
|
|
599
|
+
</more-facets-content>
|
|
600
600
|
`;
|
|
601
601
|
const config = new ModalConfig({
|
|
602
602
|
bodyColor: '#fff',
|
|
@@ -619,12 +619,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
619
619
|
* Generate the list template for each bucket in a facet group
|
|
620
620
|
*/
|
|
621
621
|
getFacetTemplate(facetGroup) {
|
|
622
|
-
return html `
|
|
623
|
-
<facets-template
|
|
624
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
625
|
-
.facetGroup=${facetGroup}
|
|
626
|
-
.selectedFacets=${this.selectedFacets}
|
|
627
|
-
.collectionTitles=${this.collectionTitles}
|
|
622
|
+
return html `
|
|
623
|
+
<facets-template
|
|
624
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
625
|
+
.facetGroup=${facetGroup}
|
|
626
|
+
.selectedFacets=${this.selectedFacets}
|
|
627
|
+
.collectionTitles=${this.collectionTitles}
|
|
628
628
|
@facetClick=${(e) => {
|
|
629
629
|
this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
|
|
630
630
|
const event = new CustomEvent('facetsChanged', {
|
|
@@ -633,133 +633,133 @@ let CollectionFacets = class CollectionFacets extends LitElement {
|
|
|
633
633
|
composed: true,
|
|
634
634
|
});
|
|
635
635
|
this.dispatchEvent(event);
|
|
636
|
-
}}
|
|
637
|
-
></facets-template>
|
|
636
|
+
}}
|
|
637
|
+
></facets-template>
|
|
638
638
|
`;
|
|
639
639
|
}
|
|
640
640
|
static get styles() {
|
|
641
641
|
return [
|
|
642
642
|
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
|
-
}
|
|
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
|
+
}
|
|
763
763
|
`,
|
|
764
764
|
];
|
|
765
765
|
}
|