@internetarchive/collection-browser 2.21.0 → 2.22.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/dist/src/collection-browser.js +680 -680
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +6 -0
- package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +4 -0
- package/dist/src/data-source/collection-browser-data-source.js +6 -0
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/test/collection-browser.test.js +187 -187
- package/dist/test/collection-browser.test.js.map +1 -1
- package/package.json +1 -1
- package/src/collection-browser.ts +2756 -2756
- package/src/data-source/collection-browser-data-source-interface.ts +333 -326
- package/src/data-source/collection-browser-data-source.ts +1390 -1383
- package/test/collection-browser.test.ts +2359 -2359
|
@@ -358,32 +358,32 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
358
358
|
this.setPlaceholderType();
|
|
359
359
|
}
|
|
360
360
|
render() {
|
|
361
|
-
return html `
|
|
361
|
+
return html `
|
|
362
362
|
${this.showSmartFacetBar && this.placeholderType === null
|
|
363
|
-
? html `<smart-facet-bar
|
|
364
|
-
.query=${this.baseQuery}
|
|
365
|
-
.aggregations=${this.dataSource.aggregations}
|
|
366
|
-
.selectedFacets=${this.selectedFacets}
|
|
367
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
368
|
-
.filterToggleShown=${!this.mobileView}
|
|
369
|
-
.filterToggleActive=${this.facetPaneVisible}
|
|
370
|
-
.label=${this.smartFacetBarLabel}
|
|
371
|
-
@facetsChanged=${this.facetsChanged}
|
|
363
|
+
? html `<smart-facet-bar
|
|
364
|
+
.query=${this.baseQuery}
|
|
365
|
+
.aggregations=${this.dataSource.aggregations}
|
|
366
|
+
.selectedFacets=${this.selectedFacets}
|
|
367
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
368
|
+
.filterToggleShown=${!this.mobileView}
|
|
369
|
+
.filterToggleActive=${this.facetPaneVisible}
|
|
370
|
+
.label=${this.smartFacetBarLabel}
|
|
371
|
+
@facetsChanged=${this.facetsChanged}
|
|
372
372
|
@filtersToggled=${() => {
|
|
373
373
|
this.facetPaneVisible = !this.facetPaneVisible;
|
|
374
374
|
this.emitFacetPaneVisibilityChanged();
|
|
375
|
-
}}
|
|
375
|
+
}}
|
|
376
376
|
></smart-facet-bar>`
|
|
377
|
-
: nothing}
|
|
378
|
-
|
|
379
|
-
<div
|
|
380
|
-
id="content-container"
|
|
381
|
-
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
382
|
-
>
|
|
377
|
+
: nothing}
|
|
378
|
+
|
|
379
|
+
<div
|
|
380
|
+
id="content-container"
|
|
381
|
+
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
382
|
+
>
|
|
383
383
|
${this.placeholderType
|
|
384
384
|
? this.emptyPlaceholderTemplate
|
|
385
|
-
: this.collectionBrowserTemplate}
|
|
386
|
-
</div>
|
|
385
|
+
: this.collectionBrowserTemplate}
|
|
386
|
+
</div>
|
|
387
387
|
`;
|
|
388
388
|
}
|
|
389
389
|
/**
|
|
@@ -427,23 +427,23 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
427
427
|
*/
|
|
428
428
|
get emptyPlaceholderTemplate() {
|
|
429
429
|
var _a;
|
|
430
|
-
return html `
|
|
431
|
-
<empty-placeholder
|
|
432
|
-
.placeholderType=${this.placeholderType}
|
|
433
|
-
?isMobileView=${this.mobileView}
|
|
434
|
-
?isCollection=${!!this.withinCollection}
|
|
435
|
-
.detailMessage=${(_a = this.dataSource.queryErrorMessage) !== null && _a !== void 0 ? _a : ''}
|
|
436
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
437
|
-
></empty-placeholder>
|
|
430
|
+
return html `
|
|
431
|
+
<empty-placeholder
|
|
432
|
+
.placeholderType=${this.placeholderType}
|
|
433
|
+
?isMobileView=${this.mobileView}
|
|
434
|
+
?isCollection=${!!this.withinCollection}
|
|
435
|
+
.detailMessage=${(_a = this.dataSource.queryErrorMessage) !== null && _a !== void 0 ? _a : ''}
|
|
436
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
437
|
+
></empty-placeholder>
|
|
438
438
|
`;
|
|
439
439
|
}
|
|
440
440
|
/**
|
|
441
441
|
* Top-level template for rendering the left (facets) and right (results) columns.
|
|
442
442
|
*/
|
|
443
443
|
get collectionBrowserTemplate() {
|
|
444
|
-
return html `
|
|
445
|
-
<div id="left-column-scroll-sentinel"></div>
|
|
446
|
-
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
444
|
+
return html `
|
|
445
|
+
<div id="left-column-scroll-sentinel"></div>
|
|
446
|
+
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
447
447
|
`;
|
|
448
448
|
}
|
|
449
449
|
/**
|
|
@@ -462,33 +462,33 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
462
462
|
* accordion-style facets.
|
|
463
463
|
*/
|
|
464
464
|
get mobileLeftColumnTemplate() {
|
|
465
|
-
return html `
|
|
466
|
-
<div
|
|
467
|
-
id="left-column"
|
|
468
|
-
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
469
|
-
>
|
|
470
|
-
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
471
|
-
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
472
|
-
</div>
|
|
465
|
+
return html `
|
|
466
|
+
<div
|
|
467
|
+
id="left-column"
|
|
468
|
+
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
469
|
+
>
|
|
470
|
+
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
471
|
+
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
472
|
+
</div>
|
|
473
473
|
`;
|
|
474
474
|
}
|
|
475
475
|
/**
|
|
476
476
|
* Template for the desktop version of the left column, displaying the facets sidebar.
|
|
477
477
|
*/
|
|
478
478
|
get desktopLeftColumnTemplate() {
|
|
479
|
-
return html `
|
|
480
|
-
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
481
|
-
${this.facetTopViewSlot}
|
|
482
|
-
<div id="facets-header-container">
|
|
483
|
-
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
484
|
-
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
485
|
-
</div>
|
|
486
|
-
<div id="facets-container" aria-labelledby="facets-header">
|
|
487
|
-
${this.facetsTemplate}
|
|
488
|
-
<div id="facets-scroll-sentinel"></div>
|
|
489
|
-
</div>
|
|
490
|
-
<div id="facets-bottom-fade"></div>
|
|
491
|
-
</div>
|
|
479
|
+
return html `
|
|
480
|
+
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
481
|
+
${this.facetTopViewSlot}
|
|
482
|
+
<div id="facets-header-container">
|
|
483
|
+
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
484
|
+
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
485
|
+
</div>
|
|
486
|
+
<div id="facets-container" aria-labelledby="facets-header">
|
|
487
|
+
${this.facetsTemplate}
|
|
488
|
+
<div id="facets-scroll-sentinel"></div>
|
|
489
|
+
</div>
|
|
490
|
+
<div id="facets-bottom-fade"></div>
|
|
491
|
+
</div>
|
|
492
492
|
`;
|
|
493
493
|
}
|
|
494
494
|
/**
|
|
@@ -496,8 +496,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
496
496
|
* - mainly used to render userlists
|
|
497
497
|
*/
|
|
498
498
|
get facetTopViewSlot() {
|
|
499
|
-
return html `<div id="facet-top-view">
|
|
500
|
-
<slot name="facet-top-slot"></slot>
|
|
499
|
+
return html `<div id="facet-top-view">
|
|
500
|
+
<slot name="facet-top-slot"></slot>
|
|
501
501
|
</div>`;
|
|
502
502
|
}
|
|
503
503
|
/**
|
|
@@ -512,15 +512,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
512
512
|
const resultsCount = (_a = this.totalResults) === null || _a === void 0 ? void 0 : _a.toLocaleString();
|
|
513
513
|
const resultsLabel = this.totalResults === 1 ? 'Result' : 'Results';
|
|
514
514
|
// Added data-testid for Playwright testing
|
|
515
|
-
return html `
|
|
516
|
-
<div id="results-total" data-testid="results-total">
|
|
517
|
-
<span id="big-results-count">
|
|
518
|
-
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
519
|
-
</span>
|
|
520
|
-
<span id="big-results-label">
|
|
521
|
-
${shouldShowSearching ? nothing : resultsLabel}
|
|
522
|
-
</span>
|
|
523
|
-
</div>
|
|
515
|
+
return html `
|
|
516
|
+
<div id="results-total" data-testid="results-total">
|
|
517
|
+
<span id="big-results-count">
|
|
518
|
+
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
519
|
+
</span>
|
|
520
|
+
<span id="big-results-label">
|
|
521
|
+
${shouldShowSearching ? nothing : resultsLabel}
|
|
522
|
+
</span>
|
|
523
|
+
</div>
|
|
524
524
|
`;
|
|
525
525
|
}
|
|
526
526
|
/**
|
|
@@ -534,47 +534,47 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
534
534
|
'full-width': !this.facetPaneVisible,
|
|
535
535
|
'smart-results-spacing': !!this.showSmartResults,
|
|
536
536
|
});
|
|
537
|
-
return html `
|
|
538
|
-
<div id="right-column" class=${rightColumnClasses}>
|
|
537
|
+
return html `
|
|
538
|
+
<div id="right-column" class=${rightColumnClasses}>
|
|
539
539
|
${this.showSmartResults
|
|
540
540
|
? html `<slot name="smart-results"></slot>`
|
|
541
|
-
: nothing}
|
|
542
|
-
<section id="results">
|
|
541
|
+
: nothing}
|
|
542
|
+
<section id="results">
|
|
543
543
|
${this.showSmartResults
|
|
544
|
-
? html `<h2 class="results-section-heading">
|
|
545
|
-
${(_a = this.resultsHeader) !== null && _a !== void 0 ? _a : msg('All results')}
|
|
544
|
+
? html `<h2 class="results-section-heading">
|
|
545
|
+
${(_a = this.resultsHeader) !== null && _a !== void 0 ? _a : msg('All results')}
|
|
546
546
|
</h2>`
|
|
547
|
-
: nothing}
|
|
548
|
-
<div id="cb-top-view">
|
|
549
|
-
<slot name="cb-top-slot"></slot>
|
|
550
|
-
</div>
|
|
547
|
+
: nothing}
|
|
548
|
+
<div id="cb-top-view">
|
|
549
|
+
<slot name="cb-top-slot"></slot>
|
|
550
|
+
</div>
|
|
551
551
|
${this.isManageView
|
|
552
552
|
? this.manageBarTemplate
|
|
553
|
-
: this.sortFilterBarTemplate}
|
|
554
|
-
<slot name="cb-results"></slot>
|
|
553
|
+
: this.sortFilterBarTemplate}
|
|
554
|
+
<slot name="cb-results"></slot>
|
|
555
555
|
${this.displayMode === `list-compact` && this.totalResults
|
|
556
556
|
? this.listHeaderTemplate
|
|
557
|
-
: nothing}
|
|
558
|
-
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
559
|
-
</section>
|
|
560
|
-
</div>
|
|
557
|
+
: nothing}
|
|
558
|
+
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
559
|
+
</section>
|
|
560
|
+
</div>
|
|
561
561
|
`;
|
|
562
562
|
}
|
|
563
563
|
/**
|
|
564
564
|
* Template for the infinite scroller widget that contains the result tiles.
|
|
565
565
|
*/
|
|
566
566
|
get infiniteScrollerTemplate() {
|
|
567
|
-
return html `<infinite-scroller
|
|
568
|
-
class=${this.infiniteScrollerClasses}
|
|
569
|
-
itemCount=${this.placeholderType ? 0 : nothing}
|
|
570
|
-
ariaLandmarkLabel="Search results"
|
|
571
|
-
.cellProvider=${this}
|
|
572
|
-
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
573
|
-
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
574
|
-
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
567
|
+
return html `<infinite-scroller
|
|
568
|
+
class=${this.infiniteScrollerClasses}
|
|
569
|
+
itemCount=${this.placeholderType ? 0 : nothing}
|
|
570
|
+
ariaLandmarkLabel="Search results"
|
|
571
|
+
.cellProvider=${this}
|
|
572
|
+
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
573
|
+
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
574
|
+
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
575
575
|
>${this.displayMode === 'grid'
|
|
576
576
|
? html `<slot name="result-last-tile" slot="result-last-tile"></slot>`
|
|
577
|
-
: nothing}
|
|
577
|
+
: nothing}
|
|
578
578
|
</infinite-scroller>`;
|
|
579
579
|
}
|
|
580
580
|
/**
|
|
@@ -615,32 +615,32 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
615
615
|
}
|
|
616
616
|
// We only show relevance sort if a search query is currently defined
|
|
617
617
|
sortFieldAvailability.relevance = this.isRelevanceSortAvailable;
|
|
618
|
-
return html `
|
|
619
|
-
<sort-filter-bar
|
|
620
|
-
.defaultSortField=${this.defaultSortField}
|
|
621
|
-
.defaultSortDirection=${this.defaultSortDirection}
|
|
622
|
-
.defaultViewSort=${defaultViewSort}
|
|
623
|
-
.defaultDateSort=${defaultDateSort}
|
|
624
|
-
.selectedSort=${this.selectedSort}
|
|
625
|
-
.sortDirection=${this.sortDirection}
|
|
626
|
-
.sortFieldAvailability=${sortFieldAvailability}
|
|
627
|
-
.displayMode=${this.displayMode}
|
|
628
|
-
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
629
|
-
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
630
|
-
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
631
|
-
.resizeObserver=${this.resizeObserver}
|
|
632
|
-
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
633
|
-
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
634
|
-
@sortChanged=${this.userChangedSort}
|
|
635
|
-
@displayModeChanged=${this.displayModeChanged}
|
|
636
|
-
@titleLetterChanged=${this.titleLetterSelected}
|
|
637
|
-
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
638
|
-
>
|
|
639
|
-
${this.tileBlurCheckboxTemplate}
|
|
640
|
-
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
641
|
-
<slot name="sort-options" slot="sort-options"></slot>
|
|
642
|
-
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
643
|
-
</sort-filter-bar>
|
|
618
|
+
return html `
|
|
619
|
+
<sort-filter-bar
|
|
620
|
+
.defaultSortField=${this.defaultSortField}
|
|
621
|
+
.defaultSortDirection=${this.defaultSortDirection}
|
|
622
|
+
.defaultViewSort=${defaultViewSort}
|
|
623
|
+
.defaultDateSort=${defaultDateSort}
|
|
624
|
+
.selectedSort=${this.selectedSort}
|
|
625
|
+
.sortDirection=${this.sortDirection}
|
|
626
|
+
.sortFieldAvailability=${sortFieldAvailability}
|
|
627
|
+
.displayMode=${this.displayMode}
|
|
628
|
+
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
629
|
+
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
630
|
+
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
631
|
+
.resizeObserver=${this.resizeObserver}
|
|
632
|
+
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
633
|
+
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
634
|
+
@sortChanged=${this.userChangedSort}
|
|
635
|
+
@displayModeChanged=${this.displayModeChanged}
|
|
636
|
+
@titleLetterChanged=${this.titleLetterSelected}
|
|
637
|
+
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
638
|
+
>
|
|
639
|
+
${this.tileBlurCheckboxTemplate}
|
|
640
|
+
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
641
|
+
<slot name="sort-options" slot="sort-options"></slot>
|
|
642
|
+
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
643
|
+
</sort-filter-bar>
|
|
644
644
|
`;
|
|
645
645
|
}
|
|
646
646
|
/**
|
|
@@ -652,20 +652,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
652
652
|
// Only show the checkbox for @archive.org users
|
|
653
653
|
if (!((_a = this.dataSource.sessionContext) === null || _a === void 0 ? void 0 : _a.is_archive_user))
|
|
654
654
|
return nothing;
|
|
655
|
-
return html `
|
|
656
|
-
<label
|
|
657
|
-
id="tile-blur-label"
|
|
658
|
-
for="tile-blur-check"
|
|
659
|
-
slot="sort-options-right"
|
|
660
|
-
>
|
|
661
|
-
${msg('Blurring')}
|
|
662
|
-
<input
|
|
663
|
-
id="tile-blur-check"
|
|
664
|
-
type="checkbox"
|
|
665
|
-
?checked=${!this.shouldSuppressTileBlurring}
|
|
666
|
-
@change=${this.tileBlurCheckboxChanged}
|
|
667
|
-
/>
|
|
668
|
-
</label>
|
|
655
|
+
return html `
|
|
656
|
+
<label
|
|
657
|
+
id="tile-blur-label"
|
|
658
|
+
for="tile-blur-check"
|
|
659
|
+
slot="sort-options-right"
|
|
660
|
+
>
|
|
661
|
+
${msg('Blurring')}
|
|
662
|
+
<input
|
|
663
|
+
id="tile-blur-check"
|
|
664
|
+
type="checkbox"
|
|
665
|
+
?checked=${!this.shouldSuppressTileBlurring}
|
|
666
|
+
@change=${this.tileBlurCheckboxChanged}
|
|
667
|
+
/>
|
|
668
|
+
</label>
|
|
669
669
|
`;
|
|
670
670
|
}
|
|
671
671
|
/**
|
|
@@ -676,27 +676,27 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
676
676
|
const manageViewModalMsg = this.profileElement === 'uploads'
|
|
677
677
|
? 'Note: it may take a few minutes for these items to stop appearing in your uploads list.'
|
|
678
678
|
: nothing;
|
|
679
|
-
return html `
|
|
680
|
-
<manage-bar
|
|
681
|
-
.label=${this.manageViewLabel}
|
|
682
|
-
.modalManager=${this.modalManager}
|
|
683
|
-
.selectedItems=${this.dataSource.checkedTileModels}
|
|
684
|
-
.manageViewModalMsg=${manageViewModalMsg}
|
|
685
|
-
showSelectAll
|
|
686
|
-
showUnselectAll
|
|
687
|
-
?showItemManageButton=${this.pageContext === 'search'}
|
|
688
|
-
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
689
|
-
@removeItems=${this.handleRemoveItems}
|
|
690
|
-
@manageItems=${this.handleManageItems}
|
|
691
|
-
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
692
|
-
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
679
|
+
return html `
|
|
680
|
+
<manage-bar
|
|
681
|
+
.label=${this.manageViewLabel}
|
|
682
|
+
.modalManager=${this.modalManager}
|
|
683
|
+
.selectedItems=${this.dataSource.checkedTileModels}
|
|
684
|
+
.manageViewModalMsg=${manageViewModalMsg}
|
|
685
|
+
showSelectAll
|
|
686
|
+
showUnselectAll
|
|
687
|
+
?showItemManageButton=${this.pageContext === 'search'}
|
|
688
|
+
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
689
|
+
@removeItems=${this.handleRemoveItems}
|
|
690
|
+
@manageItems=${this.handleManageItems}
|
|
691
|
+
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
692
|
+
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
693
693
|
@cancel=${() => {
|
|
694
694
|
this.isManageView = false;
|
|
695
695
|
this.dataSource.uncheckAllTiles();
|
|
696
696
|
if (this.searchResultsLoading)
|
|
697
697
|
this.dataSource.resetPages();
|
|
698
|
-
}}
|
|
699
|
-
></manage-bar>
|
|
698
|
+
}}
|
|
699
|
+
></manage-bar>
|
|
700
700
|
`;
|
|
701
701
|
}
|
|
702
702
|
/**
|
|
@@ -944,15 +944,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
944
944
|
label: target.open ? 'open' : 'closed',
|
|
945
945
|
});
|
|
946
946
|
};
|
|
947
|
-
return html `
|
|
948
|
-
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
949
|
-
<summary>
|
|
950
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
951
|
-
<h2>${msg('Filters')}</h2>
|
|
952
|
-
${this.clearFiltersBtnTemplate(true)}
|
|
953
|
-
</summary>
|
|
954
|
-
${this.facetsTemplate}
|
|
955
|
-
</details>
|
|
947
|
+
return html `
|
|
948
|
+
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
949
|
+
<summary>
|
|
950
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
951
|
+
<h2>${msg('Filters')}</h2>
|
|
952
|
+
${this.clearFiltersBtnTemplate(true)}
|
|
953
|
+
</summary>
|
|
954
|
+
${this.facetsTemplate}
|
|
955
|
+
</details>
|
|
956
956
|
`;
|
|
957
957
|
}
|
|
958
958
|
/**
|
|
@@ -962,10 +962,10 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
962
962
|
if (FACETLESS_PAGE_ELEMENTS.includes(this.profileElement))
|
|
963
963
|
return nothing;
|
|
964
964
|
if (this.facetLoadStrategy === 'off') {
|
|
965
|
-
return html `
|
|
966
|
-
<p class="facets-message">
|
|
967
|
-
${msg('Facets are temporarily unavailable.')}
|
|
968
|
-
</p>
|
|
965
|
+
return html `
|
|
966
|
+
<p class="facets-message">
|
|
967
|
+
${msg('Facets are temporarily unavailable.')}
|
|
968
|
+
</p>
|
|
969
969
|
`;
|
|
970
970
|
}
|
|
971
971
|
// We switch to TV facet ordering & date picker if we are in a TV collection or showing TV search results
|
|
@@ -974,44 +974,44 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
974
974
|
const facetDisplayOrder = shouldUseTvInterface
|
|
975
975
|
? tvFacetDisplayOrder
|
|
976
976
|
: defaultFacetDisplayOrder;
|
|
977
|
-
const facets = html `
|
|
978
|
-
<collection-facets
|
|
979
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
980
|
-
.parentCollections=${this.dataSource.parentCollections}
|
|
981
|
-
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
982
|
-
.searchService=${this.searchService}
|
|
983
|
-
.featureFeedbackService=${this.featureFeedbackService}
|
|
984
|
-
.recaptchaManager=${this.recaptchaManager}
|
|
985
|
-
.resizeObserver=${this.resizeObserver}
|
|
986
|
-
.searchType=${this.searchType}
|
|
987
|
-
.aggregations=${this.dataSource.aggregations}
|
|
988
|
-
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
989
|
-
.minSelectedDate=${this.minSelectedDate}
|
|
990
|
-
.maxSelectedDate=${this.maxSelectedDate}
|
|
991
|
-
.selectedFacets=${this.selectedFacets}
|
|
992
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
993
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
994
|
-
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
995
|
-
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
996
|
-
.allowExpandingDatePicker=${!this.mobileView}
|
|
997
|
-
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
998
|
-
.contentWidth=${this.contentWidth}
|
|
999
|
-
.query=${this.baseQuery}
|
|
1000
|
-
.filterMap=${this.dataSource.filterMap}
|
|
1001
|
-
.isManageView=${this.isManageView}
|
|
1002
|
-
.modalManager=${this.modalManager}
|
|
1003
|
-
.analyticsHandler=${this.analyticsHandler}
|
|
1004
|
-
.facetDisplayOrder=${facetDisplayOrder}
|
|
1005
|
-
.isTvSearch=${shouldUseTvInterface}
|
|
1006
|
-
?collapsableFacets=${this.mobileView}
|
|
1007
|
-
?facetsLoading=${this.facetsLoading}
|
|
1008
|
-
?histogramAggregationLoading=${this.facetsLoading}
|
|
1009
|
-
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1010
|
-
@facetClick=${this.facetClickHandler}
|
|
1011
|
-
@facetsChanged=${this.facetsChanged}
|
|
1012
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1013
|
-
>
|
|
1014
|
-
</collection-facets>
|
|
977
|
+
const facets = html `
|
|
978
|
+
<collection-facets
|
|
979
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
980
|
+
.parentCollections=${this.dataSource.parentCollections}
|
|
981
|
+
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
982
|
+
.searchService=${this.searchService}
|
|
983
|
+
.featureFeedbackService=${this.featureFeedbackService}
|
|
984
|
+
.recaptchaManager=${this.recaptchaManager}
|
|
985
|
+
.resizeObserver=${this.resizeObserver}
|
|
986
|
+
.searchType=${this.searchType}
|
|
987
|
+
.aggregations=${this.dataSource.aggregations}
|
|
988
|
+
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
989
|
+
.minSelectedDate=${this.minSelectedDate}
|
|
990
|
+
.maxSelectedDate=${this.maxSelectedDate}
|
|
991
|
+
.selectedFacets=${this.selectedFacets}
|
|
992
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
993
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
994
|
+
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
995
|
+
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
996
|
+
.allowExpandingDatePicker=${!this.mobileView}
|
|
997
|
+
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
998
|
+
.contentWidth=${this.contentWidth}
|
|
999
|
+
.query=${this.baseQuery}
|
|
1000
|
+
.filterMap=${this.dataSource.filterMap}
|
|
1001
|
+
.isManageView=${this.isManageView}
|
|
1002
|
+
.modalManager=${this.modalManager}
|
|
1003
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
1004
|
+
.facetDisplayOrder=${facetDisplayOrder}
|
|
1005
|
+
.isTvSearch=${shouldUseTvInterface}
|
|
1006
|
+
?collapsableFacets=${this.mobileView}
|
|
1007
|
+
?facetsLoading=${this.facetsLoading}
|
|
1008
|
+
?histogramAggregationLoading=${this.facetsLoading}
|
|
1009
|
+
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1010
|
+
@facetClick=${this.facetClickHandler}
|
|
1011
|
+
@facetsChanged=${this.facetsChanged}
|
|
1012
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1013
|
+
>
|
|
1014
|
+
</collection-facets>
|
|
1015
1015
|
`;
|
|
1016
1016
|
// If we are using one of the opt-in facet load strategies, we may need to wrap the
|
|
1017
1017
|
// desktop view facets in a <details> widget so that patrons can opt into loading them.
|
|
@@ -1019,20 +1019,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1019
1019
|
const showDesktopOptInWidget = this.facetLoadStrategy === 'opt-in' ||
|
|
1020
1020
|
(this.facetLoadStrategy === 'opt-in-or-login' && !this.loggedIn);
|
|
1021
1021
|
if (showDesktopOptInWidget && !this.mobileView) {
|
|
1022
|
-
return html `
|
|
1023
|
-
<details
|
|
1024
|
-
class="desktop-facets-dropdown"
|
|
1022
|
+
return html `
|
|
1023
|
+
<details
|
|
1024
|
+
class="desktop-facets-dropdown"
|
|
1025
1025
|
@toggle=${(e) => {
|
|
1026
1026
|
const target = e.target;
|
|
1027
1027
|
this.collapsibleFacetsVisible = target.open;
|
|
1028
|
-
}}
|
|
1029
|
-
>
|
|
1030
|
-
<summary>
|
|
1031
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
1032
|
-
<h2>${msg('Filters')}</h2>
|
|
1033
|
-
</summary>
|
|
1034
|
-
${facets}
|
|
1035
|
-
</details>
|
|
1028
|
+
}}
|
|
1029
|
+
>
|
|
1030
|
+
<summary>
|
|
1031
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
1032
|
+
<h2>${msg('Filters')}</h2>
|
|
1033
|
+
</summary>
|
|
1034
|
+
${facets}
|
|
1035
|
+
</details>
|
|
1036
1036
|
`;
|
|
1037
1037
|
}
|
|
1038
1038
|
// Otherwise, just render the facets component bare
|
|
@@ -1052,34 +1052,34 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1052
1052
|
mobile,
|
|
1053
1053
|
});
|
|
1054
1054
|
const buttonText = mobile ? 'Clear all' : 'Clear all filters';
|
|
1055
|
-
return html `
|
|
1056
|
-
<div class="clear-filters-btn-row">
|
|
1055
|
+
return html `
|
|
1056
|
+
<div class="clear-filters-btn-row">
|
|
1057
1057
|
${mobile
|
|
1058
1058
|
? html `<span class="clear-filters-btn-separator"> </span>`
|
|
1059
|
-
: nothing}
|
|
1060
|
-
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1061
|
-
${buttonText}
|
|
1062
|
-
</button>
|
|
1063
|
-
</div>
|
|
1059
|
+
: nothing}
|
|
1060
|
+
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1061
|
+
${buttonText}
|
|
1062
|
+
</button>
|
|
1063
|
+
</div>
|
|
1064
1064
|
`;
|
|
1065
1065
|
}
|
|
1066
1066
|
/**
|
|
1067
1067
|
* Template for the table header content that appears atop the compact list view.
|
|
1068
1068
|
*/
|
|
1069
1069
|
get listHeaderTemplate() {
|
|
1070
|
-
return html `
|
|
1071
|
-
<div id="list-header">
|
|
1072
|
-
<tile-dispatcher
|
|
1073
|
-
.tileDisplayMode=${'list-header'}
|
|
1074
|
-
.resizeObserver=${this.resizeObserver}
|
|
1075
|
-
.sortParam=${this.sortParam}
|
|
1076
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
1077
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1078
|
-
.loggedIn=${this.loggedIn}
|
|
1079
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1080
|
-
>
|
|
1081
|
-
</tile-dispatcher>
|
|
1082
|
-
</div>
|
|
1070
|
+
return html `
|
|
1071
|
+
<div id="list-header">
|
|
1072
|
+
<tile-dispatcher
|
|
1073
|
+
.tileDisplayMode=${'list-header'}
|
|
1074
|
+
.resizeObserver=${this.resizeObserver}
|
|
1075
|
+
.sortParam=${this.sortParam}
|
|
1076
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
1077
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1078
|
+
.loggedIn=${this.loggedIn}
|
|
1079
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1080
|
+
>
|
|
1081
|
+
</tile-dispatcher>
|
|
1082
|
+
</div>
|
|
1083
1083
|
`;
|
|
1084
1084
|
}
|
|
1085
1085
|
/**
|
|
@@ -1808,27 +1808,27 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1808
1808
|
const model = this.tileModelAtCellIndex(index);
|
|
1809
1809
|
if (!model)
|
|
1810
1810
|
return undefined;
|
|
1811
|
-
return html `
|
|
1812
|
-
<tile-dispatcher
|
|
1813
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
1814
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1815
|
-
.baseImageUrl=${this.baseImageUrl}
|
|
1816
|
-
.model=${model}
|
|
1817
|
-
.tileDisplayMode=${this.displayMode}
|
|
1818
|
-
.resizeObserver=${this.resizeObserver}
|
|
1819
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1820
|
-
.sortParam=${this.sortParam}
|
|
1821
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
1822
|
-
.creatorFilter=${this.selectedCreatorFilter}
|
|
1823
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1824
|
-
.loggedIn=${this.loggedIn}
|
|
1825
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1826
|
-
.isManageView=${this.isManageView}
|
|
1827
|
-
?showTvClips=${this.isTVCollection || this.searchType === SearchType.TV}
|
|
1828
|
-
?enableHoverPane=${true}
|
|
1829
|
-
@resultSelected=${(e) => this.resultSelected(e)}
|
|
1830
|
-
>
|
|
1831
|
-
</tile-dispatcher>
|
|
1811
|
+
return html `
|
|
1812
|
+
<tile-dispatcher
|
|
1813
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
1814
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1815
|
+
.baseImageUrl=${this.baseImageUrl}
|
|
1816
|
+
.model=${model}
|
|
1817
|
+
.tileDisplayMode=${this.displayMode}
|
|
1818
|
+
.resizeObserver=${this.resizeObserver}
|
|
1819
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1820
|
+
.sortParam=${this.sortParam}
|
|
1821
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
1822
|
+
.creatorFilter=${this.selectedCreatorFilter}
|
|
1823
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1824
|
+
.loggedIn=${this.loggedIn}
|
|
1825
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1826
|
+
.isManageView=${this.isManageView}
|
|
1827
|
+
?showTvClips=${this.isTVCollection || this.searchType === SearchType.TV}
|
|
1828
|
+
?enableHoverPane=${true}
|
|
1829
|
+
@resultSelected=${(e) => this.resultSelected(e)}
|
|
1830
|
+
>
|
|
1831
|
+
</tile-dispatcher>
|
|
1832
1832
|
`;
|
|
1833
1833
|
}
|
|
1834
1834
|
/**
|
|
@@ -1864,440 +1864,440 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1864
1864
|
static get styles() {
|
|
1865
1865
|
return [
|
|
1866
1866
|
srOnlyStyle,
|
|
1867
|
-
css `
|
|
1868
|
-
:host {
|
|
1869
|
-
display: block;
|
|
1870
|
-
--leftColumnWidth: 18rem;
|
|
1871
|
-
--leftColumnPaddingTop: 2rem;
|
|
1872
|
-
--leftColumnPaddingRight: 2.5rem;
|
|
1873
|
-
}
|
|
1874
|
-
|
|
1875
|
-
#facet-top-view {
|
|
1876
|
-
display: flex;
|
|
1877
|
-
}
|
|
1878
|
-
|
|
1879
|
-
/**
|
|
1880
|
-
* When page width resizes from desktop to mobile, use this class to
|
|
1881
|
-
* disable expand/collapse transition when loading.
|
|
1882
|
-
*/
|
|
1883
|
-
.preload * {
|
|
1884
|
-
transition: none !important;
|
|
1885
|
-
-webkit-transition: none !important;
|
|
1886
|
-
-moz-transition: none !important;
|
|
1887
|
-
-ms-transition: none !important;
|
|
1888
|
-
-o-transition: none !important;
|
|
1889
|
-
}
|
|
1890
|
-
|
|
1891
|
-
#content-container {
|
|
1892
|
-
display: flex;
|
|
1893
|
-
}
|
|
1894
|
-
|
|
1895
|
-
empty-placeholder {
|
|
1896
|
-
margin-top: var(--placeholderMarginTop, 0);
|
|
1897
|
-
}
|
|
1898
|
-
|
|
1899
|
-
.collapser-icon {
|
|
1900
|
-
display: inline-block;
|
|
1901
|
-
}
|
|
1902
|
-
|
|
1903
|
-
.collapser-icon svg {
|
|
1904
|
-
display: inline-block;
|
|
1905
|
-
width: 12px;
|
|
1906
|
-
height: 12px;
|
|
1907
|
-
transition: transform 0.2s ease-out;
|
|
1908
|
-
}
|
|
1909
|
-
|
|
1910
|
-
#mobile-filter-collapse {
|
|
1911
|
-
width: 100%;
|
|
1912
|
-
}
|
|
1913
|
-
|
|
1914
|
-
#mobile-filter-collapse > summary {
|
|
1915
|
-
cursor: pointer;
|
|
1916
|
-
list-style: none;
|
|
1917
|
-
}
|
|
1918
|
-
|
|
1919
|
-
#mobile-filter-collapse[open] > summary {
|
|
1920
|
-
margin-bottom: 10px;
|
|
1921
|
-
}
|
|
1922
|
-
|
|
1923
|
-
#mobile-filter-collapse h2 {
|
|
1924
|
-
display: inline-block;
|
|
1925
|
-
margin: 0;
|
|
1926
|
-
font-size: 2rem;
|
|
1927
|
-
}
|
|
1928
|
-
|
|
1929
|
-
#mobile-filter-collapse[open] svg {
|
|
1930
|
-
transform: rotate(90deg);
|
|
1931
|
-
}
|
|
1932
|
-
|
|
1933
|
-
#content-container.mobile {
|
|
1934
|
-
display: block;
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
#right-column {
|
|
1938
|
-
flex: 1;
|
|
1939
|
-
position: relative;
|
|
1940
|
-
min-height: 90vh;
|
|
1941
|
-
border-right: 1px solid rgb(232, 232, 232);
|
|
1942
|
-
margin-top: var(--rightColumnMarginTop, 0);
|
|
1943
|
-
padding-top: 2rem;
|
|
1944
|
-
background: #fff;
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
#left-column:not([hidden]) + #right-column {
|
|
1948
|
-
border-left: 1px solid rgb(232, 232, 232);
|
|
1949
|
-
}
|
|
1950
|
-
|
|
1951
|
-
#right-column.smart-results-spacing {
|
|
1952
|
-
padding-top: 0.5rem;
|
|
1953
|
-
border-right: none;
|
|
1954
|
-
background: transparent;
|
|
1955
|
-
min-width: 0;
|
|
1956
|
-
}
|
|
1957
|
-
|
|
1958
|
-
#results {
|
|
1959
|
-
background: #fff;
|
|
1960
|
-
padding-left: 1rem;
|
|
1961
|
-
padding-right: 1rem;
|
|
1962
|
-
}
|
|
1963
|
-
|
|
1964
|
-
#right-column.smart-results-spacing #results {
|
|
1965
|
-
border-radius: 10px 10px 0px 0px;
|
|
1966
|
-
padding-top: 0.5rem;
|
|
1967
|
-
margin-top: 1rem;
|
|
1968
|
-
}
|
|
1969
|
-
|
|
1970
|
-
.mobile #right-column {
|
|
1971
|
-
border-left: none;
|
|
1972
|
-
}
|
|
1973
|
-
|
|
1974
|
-
.mobile #results {
|
|
1975
|
-
padding: 5px 5px 0;
|
|
1976
|
-
}
|
|
1977
|
-
|
|
1978
|
-
#left-column {
|
|
1979
|
-
width: var(--leftColumnWidth, 18rem);
|
|
1980
|
-
/* Prevents Safari from shrinking col at first draw */
|
|
1981
|
-
min-width: var(--leftColumnWidth, 18rem);
|
|
1982
|
-
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
1983
|
-
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
1984
|
-
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
1985
|
-
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
1986
|
-
z-index: 1;
|
|
1987
|
-
}
|
|
1988
|
-
|
|
1989
|
-
.desktop #left-column {
|
|
1990
|
-
top: 0;
|
|
1991
|
-
position: sticky;
|
|
1992
|
-
height: calc(100vh - 2rem);
|
|
1993
|
-
max-height: calc(100vh - 2rem);
|
|
1994
|
-
overflow-x: hidden;
|
|
1995
|
-
overflow-y: scroll;
|
|
1996
|
-
|
|
1997
|
-
/*
|
|
1998
|
-
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
1999
|
-
* does at least give us a tiny bit of control over width & color.
|
|
2000
|
-
*/
|
|
2001
|
-
scrollbar-width: thin;
|
|
2002
|
-
scrollbar-color: transparent transparent;
|
|
2003
|
-
}
|
|
2004
|
-
.desktop #left-column:hover {
|
|
2005
|
-
scrollbar-color: auto;
|
|
2006
|
-
}
|
|
2007
|
-
.desktop #left-column::-webkit-scrollbar {
|
|
2008
|
-
appearance: none;
|
|
2009
|
-
width: 6px;
|
|
2010
|
-
}
|
|
2011
|
-
.desktop #left-column::-webkit-scrollbar-button {
|
|
2012
|
-
height: 3px;
|
|
2013
|
-
background: transparent;
|
|
2014
|
-
}
|
|
2015
|
-
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2016
|
-
background: transparent;
|
|
2017
|
-
}
|
|
2018
|
-
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2019
|
-
border-radius: 4px;
|
|
2020
|
-
}
|
|
2021
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2022
|
-
background: rgba(0, 0, 0, 0.15);
|
|
2023
|
-
}
|
|
2024
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2025
|
-
background: rgba(0, 0, 0, 0.2);
|
|
2026
|
-
}
|
|
2027
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2028
|
-
background: rgba(0, 0, 0, 0.3);
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
#facets-bottom-fade {
|
|
2032
|
-
background: linear-gradient(
|
|
2033
|
-
to bottom,
|
|
2034
|
-
#f5f5f700 0%,
|
|
2035
|
-
#f5f5f7c0 50%,
|
|
2036
|
-
#f5f5f7 80%,
|
|
2037
|
-
#f5f5f7 100%
|
|
2038
|
-
);
|
|
2039
|
-
position: fixed;
|
|
2040
|
-
bottom: 0;
|
|
2041
|
-
height: 50px;
|
|
2042
|
-
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2043
|
-
width: calc(
|
|
2044
|
-
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2045
|
-
);
|
|
2046
|
-
z-index: 2;
|
|
2047
|
-
pointer-events: none;
|
|
2048
|
-
transition: height 0.1s ease;
|
|
2049
|
-
}
|
|
2050
|
-
#facets-bottom-fade.hidden {
|
|
2051
|
-
height: 0;
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
.facets-message {
|
|
2055
|
-
font-size: 1.4rem;
|
|
2056
|
-
}
|
|
2057
|
-
|
|
2058
|
-
.desktop-facets-dropdown > summary {
|
|
2059
|
-
cursor: pointer;
|
|
2060
|
-
list-style: none;
|
|
2061
|
-
}
|
|
2062
|
-
|
|
2063
|
-
.desktop-facets-dropdown h2 {
|
|
2064
|
-
display: inline-block;
|
|
2065
|
-
margin: 0;
|
|
2066
|
-
font-size: 1.6rem;
|
|
2067
|
-
}
|
|
2068
|
-
|
|
2069
|
-
.desktop-facets-dropdown[open] > summary {
|
|
2070
|
-
margin-bottom: 10px;
|
|
2071
|
-
}
|
|
2072
|
-
|
|
2073
|
-
.desktop-facets-dropdown[open] svg {
|
|
2074
|
-
transform: rotate(90deg);
|
|
2075
|
-
}
|
|
2076
|
-
|
|
2077
|
-
.desktop #left-column-scroll-sentinel {
|
|
2078
|
-
width: 1px;
|
|
2079
|
-
height: 100vh;
|
|
2080
|
-
background: transparent;
|
|
2081
|
-
}
|
|
2082
|
-
|
|
2083
|
-
.desktop #facets-scroll-sentinel {
|
|
2084
|
-
width: 1px;
|
|
2085
|
-
height: 1px;
|
|
2086
|
-
background: transparent;
|
|
2087
|
-
}
|
|
2088
|
-
|
|
2089
|
-
#facets-header-container {
|
|
2090
|
-
display: flex;
|
|
2091
|
-
justify-content: space-between;
|
|
2092
|
-
align-items: flex-start;
|
|
2093
|
-
clear: both;
|
|
2094
|
-
}
|
|
2095
|
-
|
|
2096
|
-
.desktop #facets-header-container {
|
|
2097
|
-
flex-wrap: wrap;
|
|
2098
|
-
}
|
|
2099
|
-
|
|
2100
|
-
.mobile #left-column {
|
|
2101
|
-
width: 100%;
|
|
2102
|
-
min-width: 0;
|
|
2103
|
-
padding: 5px 0;
|
|
2104
|
-
border: 0;
|
|
2105
|
-
}
|
|
2106
|
-
|
|
2107
|
-
.clear-filters-btn-row {
|
|
2108
|
-
display: inline-block;
|
|
2109
|
-
}
|
|
2110
|
-
|
|
2111
|
-
.desktop .clear-filters-btn-row {
|
|
2112
|
-
width: 100%;
|
|
2113
|
-
}
|
|
2114
|
-
|
|
2115
|
-
.clear-filters-btn {
|
|
2116
|
-
display: inline-block;
|
|
2117
|
-
appearance: none;
|
|
2118
|
-
margin: 0;
|
|
2119
|
-
padding: 0;
|
|
2120
|
-
border: 0;
|
|
2121
|
-
background: none;
|
|
2122
|
-
color: var(--ia-theme-link-color);
|
|
2123
|
-
font-size: 1.4rem;
|
|
2124
|
-
font-family: inherit;
|
|
2125
|
-
cursor: pointer;
|
|
2126
|
-
}
|
|
2127
|
-
|
|
2128
|
-
.clear-filters-btn:hover {
|
|
2129
|
-
text-decoration: underline;
|
|
2130
|
-
}
|
|
2131
|
-
|
|
2132
|
-
.clear-filters-btn-separator {
|
|
2133
|
-
display: inline-block;
|
|
2134
|
-
margin-left: 5px;
|
|
2135
|
-
border-left: 1px solid #2c2c2c;
|
|
2136
|
-
font-size: 1.4rem;
|
|
2137
|
-
line-height: 1.3rem;
|
|
2138
|
-
}
|
|
2139
|
-
|
|
2140
|
-
#facets-container {
|
|
2141
|
-
position: relative;
|
|
2142
|
-
max-height: 0;
|
|
2143
|
-
transition: max-height 0.2s ease-in-out;
|
|
2144
|
-
z-index: 1;
|
|
2145
|
-
margin-top: 5rem;
|
|
2146
|
-
padding-bottom: 2rem;
|
|
2147
|
-
}
|
|
2148
|
-
|
|
2149
|
-
.desktop #facets-container {
|
|
2150
|
-
width: 18rem;
|
|
2151
|
-
}
|
|
2152
|
-
|
|
2153
|
-
.mobile #facets-container {
|
|
2154
|
-
overflow: hidden;
|
|
2155
|
-
padding-bottom: 0;
|
|
2156
|
-
padding-left: 10px;
|
|
2157
|
-
padding-right: 10px;
|
|
2158
|
-
}
|
|
2159
|
-
|
|
2160
|
-
#facets-container.expanded {
|
|
2161
|
-
max-height: 2000px;
|
|
2162
|
-
}
|
|
2163
|
-
|
|
2164
|
-
.results-section-heading {
|
|
2165
|
-
margin: 0.5rem 0.3rem;
|
|
2166
|
-
font-size: 2rem;
|
|
2167
|
-
line-height: 25px;
|
|
2168
|
-
}
|
|
2169
|
-
|
|
2170
|
-
#results-total {
|
|
2171
|
-
display: flex;
|
|
2172
|
-
align-items: baseline;
|
|
2173
|
-
}
|
|
2174
|
-
|
|
2175
|
-
.mobile #results-total {
|
|
2176
|
-
position: absolute;
|
|
2177
|
-
right: 10px;
|
|
2178
|
-
}
|
|
2179
|
-
|
|
2180
|
-
#big-results-count {
|
|
2181
|
-
font-size: 2.4rem;
|
|
2182
|
-
font-weight: 500;
|
|
2183
|
-
margin-right: 5px;
|
|
2184
|
-
}
|
|
2185
|
-
|
|
2186
|
-
.mobile #big-results-count {
|
|
2187
|
-
font-size: 2rem;
|
|
2188
|
-
}
|
|
2189
|
-
|
|
2190
|
-
#big-results-label {
|
|
2191
|
-
font-size: 1.4rem;
|
|
2192
|
-
font-weight: 200;
|
|
2193
|
-
}
|
|
2194
|
-
|
|
2195
|
-
#list-header {
|
|
2196
|
-
max-height: 4.2rem;
|
|
2197
|
-
}
|
|
2198
|
-
|
|
2199
|
-
.loading-cover {
|
|
2200
|
-
position: absolute;
|
|
2201
|
-
top: 0;
|
|
2202
|
-
left: 0;
|
|
2203
|
-
width: 100%;
|
|
2204
|
-
height: 100%;
|
|
2205
|
-
display: flex;
|
|
2206
|
-
justify-content: center;
|
|
2207
|
-
z-index: 1;
|
|
2208
|
-
padding-top: 50px;
|
|
2209
|
-
}
|
|
2210
|
-
|
|
2211
|
-
#tile-blur-label {
|
|
2212
|
-
display: flex;
|
|
2213
|
-
align-items: center;
|
|
2214
|
-
column-gap: 5px;
|
|
2215
|
-
}
|
|
2216
|
-
|
|
2217
|
-
#tile-blur-check {
|
|
2218
|
-
margin: 0 5px 0 0;
|
|
2219
|
-
}
|
|
2220
|
-
|
|
2221
|
-
circular-activity-indicator {
|
|
2222
|
-
width: 30px;
|
|
2223
|
-
height: 30px;
|
|
2224
|
-
}
|
|
2225
|
-
|
|
2226
|
-
sort-filter-bar {
|
|
2227
|
-
display: block;
|
|
2228
|
-
margin-bottom: 4rem;
|
|
2229
|
-
}
|
|
2230
|
-
|
|
2231
|
-
infinite-scroller {
|
|
2232
|
-
display: block;
|
|
2233
|
-
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2234
|
-
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2235
|
-
}
|
|
2236
|
-
|
|
2237
|
-
infinite-scroller.list-compact {
|
|
2238
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2239
|
-
--collectionBrowserCellMinWidth,
|
|
2240
|
-
100%
|
|
2241
|
-
);
|
|
2242
|
-
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2243
|
-
--infiniteScrollerCellMaxHeight: 56px;
|
|
2244
|
-
--infiniteScrollerRowGap: 10px;
|
|
2245
|
-
}
|
|
2246
|
-
|
|
2247
|
-
infinite-scroller.list-detail {
|
|
2248
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2249
|
-
--collectionBrowserCellMinWidth,
|
|
2250
|
-
100%
|
|
2251
|
-
);
|
|
2252
|
-
--infiniteScrollerCellMinHeight: var(
|
|
2253
|
-
--collectionBrowserCellMinHeight,
|
|
2254
|
-
5rem
|
|
2255
|
-
);
|
|
2256
|
-
/*
|
|
2257
|
-
30px in spec, compensating for a -4px margin
|
|
2258
|
-
to align title with top of item image
|
|
2259
|
-
src/tiles/list/tile-list.ts
|
|
2260
|
-
*/
|
|
2261
|
-
--infiniteScrollerRowGap: 34px;
|
|
2262
|
-
}
|
|
2263
|
-
|
|
2264
|
-
.mobile infinite-scroller.list-detail {
|
|
2265
|
-
--infiniteScrollerRowGap: 24px;
|
|
2266
|
-
}
|
|
2267
|
-
|
|
2268
|
-
infinite-scroller.grid {
|
|
2269
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2270
|
-
--collectionBrowserCellMinWidth,
|
|
2271
|
-
17rem
|
|
2272
|
-
);
|
|
2273
|
-
--infiniteScrollerCellMaxWidth: var(
|
|
2274
|
-
--collectionBrowserCellMaxWidth,
|
|
2275
|
-
1fr
|
|
2276
|
-
);
|
|
2277
|
-
}
|
|
2278
|
-
|
|
2279
|
-
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2280
|
-
@media screen and (max-width: 880px) {
|
|
2281
|
-
infinite-scroller.grid {
|
|
2282
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2283
|
-
--collectionBrowserCellMinWidth,
|
|
2284
|
-
15rem
|
|
2285
|
-
);
|
|
2286
|
-
}
|
|
2287
|
-
}
|
|
2288
|
-
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2289
|
-
@media screen and (max-width: 360px) {
|
|
2290
|
-
infinite-scroller.grid {
|
|
2291
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2292
|
-
--collectionBrowserCellMinWidth,
|
|
2293
|
-
12rem
|
|
2294
|
-
);
|
|
2295
|
-
}
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
|
-
infinite-scroller.hidden {
|
|
2299
|
-
display: none;
|
|
2300
|
-
}
|
|
1867
|
+
css `
|
|
1868
|
+
:host {
|
|
1869
|
+
display: block;
|
|
1870
|
+
--leftColumnWidth: 18rem;
|
|
1871
|
+
--leftColumnPaddingTop: 2rem;
|
|
1872
|
+
--leftColumnPaddingRight: 2.5rem;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
#facet-top-view {
|
|
1876
|
+
display: flex;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
/**
|
|
1880
|
+
* When page width resizes from desktop to mobile, use this class to
|
|
1881
|
+
* disable expand/collapse transition when loading.
|
|
1882
|
+
*/
|
|
1883
|
+
.preload * {
|
|
1884
|
+
transition: none !important;
|
|
1885
|
+
-webkit-transition: none !important;
|
|
1886
|
+
-moz-transition: none !important;
|
|
1887
|
+
-ms-transition: none !important;
|
|
1888
|
+
-o-transition: none !important;
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
#content-container {
|
|
1892
|
+
display: flex;
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
empty-placeholder {
|
|
1896
|
+
margin-top: var(--placeholderMarginTop, 0);
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
.collapser-icon {
|
|
1900
|
+
display: inline-block;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
.collapser-icon svg {
|
|
1904
|
+
display: inline-block;
|
|
1905
|
+
width: 12px;
|
|
1906
|
+
height: 12px;
|
|
1907
|
+
transition: transform 0.2s ease-out;
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
#mobile-filter-collapse {
|
|
1911
|
+
width: 100%;
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
#mobile-filter-collapse > summary {
|
|
1915
|
+
cursor: pointer;
|
|
1916
|
+
list-style: none;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
#mobile-filter-collapse[open] > summary {
|
|
1920
|
+
margin-bottom: 10px;
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
#mobile-filter-collapse h2 {
|
|
1924
|
+
display: inline-block;
|
|
1925
|
+
margin: 0;
|
|
1926
|
+
font-size: 2rem;
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
#mobile-filter-collapse[open] svg {
|
|
1930
|
+
transform: rotate(90deg);
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
#content-container.mobile {
|
|
1934
|
+
display: block;
|
|
1935
|
+
}
|
|
1936
|
+
|
|
1937
|
+
#right-column {
|
|
1938
|
+
flex: 1;
|
|
1939
|
+
position: relative;
|
|
1940
|
+
min-height: 90vh;
|
|
1941
|
+
border-right: 1px solid rgb(232, 232, 232);
|
|
1942
|
+
margin-top: var(--rightColumnMarginTop, 0);
|
|
1943
|
+
padding-top: 2rem;
|
|
1944
|
+
background: #fff;
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
#left-column:not([hidden]) + #right-column {
|
|
1948
|
+
border-left: 1px solid rgb(232, 232, 232);
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
#right-column.smart-results-spacing {
|
|
1952
|
+
padding-top: 0.5rem;
|
|
1953
|
+
border-right: none;
|
|
1954
|
+
background: transparent;
|
|
1955
|
+
min-width: 0;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
#results {
|
|
1959
|
+
background: #fff;
|
|
1960
|
+
padding-left: 1rem;
|
|
1961
|
+
padding-right: 1rem;
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
#right-column.smart-results-spacing #results {
|
|
1965
|
+
border-radius: 10px 10px 0px 0px;
|
|
1966
|
+
padding-top: 0.5rem;
|
|
1967
|
+
margin-top: 1rem;
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
.mobile #right-column {
|
|
1971
|
+
border-left: none;
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1974
|
+
.mobile #results {
|
|
1975
|
+
padding: 5px 5px 0;
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
#left-column {
|
|
1979
|
+
width: var(--leftColumnWidth, 18rem);
|
|
1980
|
+
/* Prevents Safari from shrinking col at first draw */
|
|
1981
|
+
min-width: var(--leftColumnWidth, 18rem);
|
|
1982
|
+
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
1983
|
+
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
1984
|
+
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
1985
|
+
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
1986
|
+
z-index: 1;
|
|
1987
|
+
}
|
|
1988
|
+
|
|
1989
|
+
.desktop #left-column {
|
|
1990
|
+
top: 0;
|
|
1991
|
+
position: sticky;
|
|
1992
|
+
height: calc(100vh - 2rem);
|
|
1993
|
+
max-height: calc(100vh - 2rem);
|
|
1994
|
+
overflow-x: hidden;
|
|
1995
|
+
overflow-y: scroll;
|
|
1996
|
+
|
|
1997
|
+
/*
|
|
1998
|
+
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
1999
|
+
* does at least give us a tiny bit of control over width & color.
|
|
2000
|
+
*/
|
|
2001
|
+
scrollbar-width: thin;
|
|
2002
|
+
scrollbar-color: transparent transparent;
|
|
2003
|
+
}
|
|
2004
|
+
.desktop #left-column:hover {
|
|
2005
|
+
scrollbar-color: auto;
|
|
2006
|
+
}
|
|
2007
|
+
.desktop #left-column::-webkit-scrollbar {
|
|
2008
|
+
appearance: none;
|
|
2009
|
+
width: 6px;
|
|
2010
|
+
}
|
|
2011
|
+
.desktop #left-column::-webkit-scrollbar-button {
|
|
2012
|
+
height: 3px;
|
|
2013
|
+
background: transparent;
|
|
2014
|
+
}
|
|
2015
|
+
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2016
|
+
background: transparent;
|
|
2017
|
+
}
|
|
2018
|
+
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2019
|
+
border-radius: 4px;
|
|
2020
|
+
}
|
|
2021
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2022
|
+
background: rgba(0, 0, 0, 0.15);
|
|
2023
|
+
}
|
|
2024
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2025
|
+
background: rgba(0, 0, 0, 0.2);
|
|
2026
|
+
}
|
|
2027
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2028
|
+
background: rgba(0, 0, 0, 0.3);
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
#facets-bottom-fade {
|
|
2032
|
+
background: linear-gradient(
|
|
2033
|
+
to bottom,
|
|
2034
|
+
#f5f5f700 0%,
|
|
2035
|
+
#f5f5f7c0 50%,
|
|
2036
|
+
#f5f5f7 80%,
|
|
2037
|
+
#f5f5f7 100%
|
|
2038
|
+
);
|
|
2039
|
+
position: fixed;
|
|
2040
|
+
bottom: 0;
|
|
2041
|
+
height: 50px;
|
|
2042
|
+
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2043
|
+
width: calc(
|
|
2044
|
+
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2045
|
+
);
|
|
2046
|
+
z-index: 2;
|
|
2047
|
+
pointer-events: none;
|
|
2048
|
+
transition: height 0.1s ease;
|
|
2049
|
+
}
|
|
2050
|
+
#facets-bottom-fade.hidden {
|
|
2051
|
+
height: 0;
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
.facets-message {
|
|
2055
|
+
font-size: 1.4rem;
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
.desktop-facets-dropdown > summary {
|
|
2059
|
+
cursor: pointer;
|
|
2060
|
+
list-style: none;
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2063
|
+
.desktop-facets-dropdown h2 {
|
|
2064
|
+
display: inline-block;
|
|
2065
|
+
margin: 0;
|
|
2066
|
+
font-size: 1.6rem;
|
|
2067
|
+
}
|
|
2068
|
+
|
|
2069
|
+
.desktop-facets-dropdown[open] > summary {
|
|
2070
|
+
margin-bottom: 10px;
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
.desktop-facets-dropdown[open] svg {
|
|
2074
|
+
transform: rotate(90deg);
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
.desktop #left-column-scroll-sentinel {
|
|
2078
|
+
width: 1px;
|
|
2079
|
+
height: 100vh;
|
|
2080
|
+
background: transparent;
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
.desktop #facets-scroll-sentinel {
|
|
2084
|
+
width: 1px;
|
|
2085
|
+
height: 1px;
|
|
2086
|
+
background: transparent;
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
#facets-header-container {
|
|
2090
|
+
display: flex;
|
|
2091
|
+
justify-content: space-between;
|
|
2092
|
+
align-items: flex-start;
|
|
2093
|
+
clear: both;
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
.desktop #facets-header-container {
|
|
2097
|
+
flex-wrap: wrap;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
.mobile #left-column {
|
|
2101
|
+
width: 100%;
|
|
2102
|
+
min-width: 0;
|
|
2103
|
+
padding: 5px 0;
|
|
2104
|
+
border: 0;
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
.clear-filters-btn-row {
|
|
2108
|
+
display: inline-block;
|
|
2109
|
+
}
|
|
2110
|
+
|
|
2111
|
+
.desktop .clear-filters-btn-row {
|
|
2112
|
+
width: 100%;
|
|
2113
|
+
}
|
|
2114
|
+
|
|
2115
|
+
.clear-filters-btn {
|
|
2116
|
+
display: inline-block;
|
|
2117
|
+
appearance: none;
|
|
2118
|
+
margin: 0;
|
|
2119
|
+
padding: 0;
|
|
2120
|
+
border: 0;
|
|
2121
|
+
background: none;
|
|
2122
|
+
color: var(--ia-theme-link-color);
|
|
2123
|
+
font-size: 1.4rem;
|
|
2124
|
+
font-family: inherit;
|
|
2125
|
+
cursor: pointer;
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
.clear-filters-btn:hover {
|
|
2129
|
+
text-decoration: underline;
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
.clear-filters-btn-separator {
|
|
2133
|
+
display: inline-block;
|
|
2134
|
+
margin-left: 5px;
|
|
2135
|
+
border-left: 1px solid #2c2c2c;
|
|
2136
|
+
font-size: 1.4rem;
|
|
2137
|
+
line-height: 1.3rem;
|
|
2138
|
+
}
|
|
2139
|
+
|
|
2140
|
+
#facets-container {
|
|
2141
|
+
position: relative;
|
|
2142
|
+
max-height: 0;
|
|
2143
|
+
transition: max-height 0.2s ease-in-out;
|
|
2144
|
+
z-index: 1;
|
|
2145
|
+
margin-top: 5rem;
|
|
2146
|
+
padding-bottom: 2rem;
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
.desktop #facets-container {
|
|
2150
|
+
width: 18rem;
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
.mobile #facets-container {
|
|
2154
|
+
overflow: hidden;
|
|
2155
|
+
padding-bottom: 0;
|
|
2156
|
+
padding-left: 10px;
|
|
2157
|
+
padding-right: 10px;
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
#facets-container.expanded {
|
|
2161
|
+
max-height: 2000px;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
.results-section-heading {
|
|
2165
|
+
margin: 0.5rem 0.3rem;
|
|
2166
|
+
font-size: 2rem;
|
|
2167
|
+
line-height: 25px;
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
#results-total {
|
|
2171
|
+
display: flex;
|
|
2172
|
+
align-items: baseline;
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
.mobile #results-total {
|
|
2176
|
+
position: absolute;
|
|
2177
|
+
right: 10px;
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
#big-results-count {
|
|
2181
|
+
font-size: 2.4rem;
|
|
2182
|
+
font-weight: 500;
|
|
2183
|
+
margin-right: 5px;
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.mobile #big-results-count {
|
|
2187
|
+
font-size: 2rem;
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
#big-results-label {
|
|
2191
|
+
font-size: 1.4rem;
|
|
2192
|
+
font-weight: 200;
|
|
2193
|
+
}
|
|
2194
|
+
|
|
2195
|
+
#list-header {
|
|
2196
|
+
max-height: 4.2rem;
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
.loading-cover {
|
|
2200
|
+
position: absolute;
|
|
2201
|
+
top: 0;
|
|
2202
|
+
left: 0;
|
|
2203
|
+
width: 100%;
|
|
2204
|
+
height: 100%;
|
|
2205
|
+
display: flex;
|
|
2206
|
+
justify-content: center;
|
|
2207
|
+
z-index: 1;
|
|
2208
|
+
padding-top: 50px;
|
|
2209
|
+
}
|
|
2210
|
+
|
|
2211
|
+
#tile-blur-label {
|
|
2212
|
+
display: flex;
|
|
2213
|
+
align-items: center;
|
|
2214
|
+
column-gap: 5px;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
#tile-blur-check {
|
|
2218
|
+
margin: 0 5px 0 0;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
circular-activity-indicator {
|
|
2222
|
+
width: 30px;
|
|
2223
|
+
height: 30px;
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
sort-filter-bar {
|
|
2227
|
+
display: block;
|
|
2228
|
+
margin-bottom: 4rem;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
infinite-scroller {
|
|
2232
|
+
display: block;
|
|
2233
|
+
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2234
|
+
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
infinite-scroller.list-compact {
|
|
2238
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2239
|
+
--collectionBrowserCellMinWidth,
|
|
2240
|
+
100%
|
|
2241
|
+
);
|
|
2242
|
+
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2243
|
+
--infiniteScrollerCellMaxHeight: 56px;
|
|
2244
|
+
--infiniteScrollerRowGap: 10px;
|
|
2245
|
+
}
|
|
2246
|
+
|
|
2247
|
+
infinite-scroller.list-detail {
|
|
2248
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2249
|
+
--collectionBrowserCellMinWidth,
|
|
2250
|
+
100%
|
|
2251
|
+
);
|
|
2252
|
+
--infiniteScrollerCellMinHeight: var(
|
|
2253
|
+
--collectionBrowserCellMinHeight,
|
|
2254
|
+
5rem
|
|
2255
|
+
);
|
|
2256
|
+
/*
|
|
2257
|
+
30px in spec, compensating for a -4px margin
|
|
2258
|
+
to align title with top of item image
|
|
2259
|
+
src/tiles/list/tile-list.ts
|
|
2260
|
+
*/
|
|
2261
|
+
--infiniteScrollerRowGap: 34px;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
.mobile infinite-scroller.list-detail {
|
|
2265
|
+
--infiniteScrollerRowGap: 24px;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
infinite-scroller.grid {
|
|
2269
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2270
|
+
--collectionBrowserCellMinWidth,
|
|
2271
|
+
17rem
|
|
2272
|
+
);
|
|
2273
|
+
--infiniteScrollerCellMaxWidth: var(
|
|
2274
|
+
--collectionBrowserCellMaxWidth,
|
|
2275
|
+
1fr
|
|
2276
|
+
);
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2279
|
+
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2280
|
+
@media screen and (max-width: 880px) {
|
|
2281
|
+
infinite-scroller.grid {
|
|
2282
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2283
|
+
--collectionBrowserCellMinWidth,
|
|
2284
|
+
15rem
|
|
2285
|
+
);
|
|
2286
|
+
}
|
|
2287
|
+
}
|
|
2288
|
+
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2289
|
+
@media screen and (max-width: 360px) {
|
|
2290
|
+
infinite-scroller.grid {
|
|
2291
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2292
|
+
--collectionBrowserCellMinWidth,
|
|
2293
|
+
12rem
|
|
2294
|
+
);
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
infinite-scroller.hidden {
|
|
2299
|
+
display: none;
|
|
2300
|
+
}
|
|
2301
2301
|
`,
|
|
2302
2302
|
];
|
|
2303
2303
|
}
|