@internetarchive/collection-browser 4.3.1-alpha-webdev8257.0 → 4.3.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/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +0 -8
- package/dist/src/app-root.js +672 -698
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/collection-browser.d.ts +0 -8
- package/dist/src/collection-browser.js +762 -779
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/tiles/base-tile-component.d.ts +1 -17
- package/dist/src/tiles/base-tile-component.js +1 -48
- package/dist/src/tiles/base-tile-component.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.js +138 -139
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js +46 -66
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact.js +100 -132
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +1 -1
- package/dist/src/tiles/list/tile-list.js +298 -316
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/models.d.ts +0 -14
- package/dist/src/tiles/models.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +0 -14
- package/dist/src/tiles/tile-dispatcher.js +216 -319
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/index.ts +28 -29
- package/package.json +2 -2
- package/src/app-root.ts +1251 -1281
- package/src/collection-browser.ts +3049 -3063
- package/src/tiles/base-tile-component.ts +65 -121
- package/src/tiles/grid/item-tile.ts +346 -347
- package/src/tiles/list/tile-list-compact-header.ts +86 -106
- package/src/tiles/list/tile-list-compact.ts +239 -273
- package/src/tiles/list/tile-list.ts +700 -718
- package/src/tiles/models.ts +8 -24
- package/src/tiles/tile-dispatcher.ts +527 -637
- package/dist/src/styles/tile-action-styles.d.ts +0 -14
- package/dist/src/styles/tile-action-styles.js +0 -52
- package/dist/src/styles/tile-action-styles.js.map +0 -1
- package/src/styles/tile-action-styles.ts +0 -52
|
@@ -122,13 +122,6 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
122
122
|
* If item management UI active
|
|
123
123
|
*/
|
|
124
124
|
this.isManageView = false;
|
|
125
|
-
/** Action buttons to display on each tile */
|
|
126
|
-
this.tileActions = [];
|
|
127
|
-
/**
|
|
128
|
-
* The simplified layout to apply to grid-mode tiles, if any. See
|
|
129
|
-
* `LayoutType` for available options. Has no effect on list display modes.
|
|
130
|
-
*/
|
|
131
|
-
this.tileLayoutType = 'default';
|
|
132
125
|
this.manageViewLabel = 'Select items to remove';
|
|
133
126
|
/** Whether to replace the default sort options with a slot for customization (default: false) */
|
|
134
127
|
this.enableSortOptionsSlot = false;
|
|
@@ -413,32 +406,32 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
413
406
|
}
|
|
414
407
|
}
|
|
415
408
|
render() {
|
|
416
|
-
return html `
|
|
409
|
+
return html `
|
|
417
410
|
${this.showSmartFacetBar && this.placeholderType === null
|
|
418
|
-
? html `<smart-facet-bar
|
|
419
|
-
.query=${this.baseQuery}
|
|
420
|
-
.aggregations=${this.dataSource.aggregations}
|
|
421
|
-
.selectedFacets=${this.selectedFacets}
|
|
422
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
423
|
-
.filterToggleShown=${!this.mobileView}
|
|
424
|
-
.filterToggleActive=${this.facetPaneVisible}
|
|
425
|
-
.label=${this.smartFacetBarLabel}
|
|
426
|
-
@facetsChanged=${this.facetsChanged}
|
|
411
|
+
? html `<smart-facet-bar
|
|
412
|
+
.query=${this.baseQuery}
|
|
413
|
+
.aggregations=${this.dataSource.aggregations}
|
|
414
|
+
.selectedFacets=${this.selectedFacets}
|
|
415
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
416
|
+
.filterToggleShown=${!this.mobileView}
|
|
417
|
+
.filterToggleActive=${this.facetPaneVisible}
|
|
418
|
+
.label=${this.smartFacetBarLabel}
|
|
419
|
+
@facetsChanged=${this.facetsChanged}
|
|
427
420
|
@filtersToggled=${() => {
|
|
428
421
|
this.facetPaneVisible = !this.facetPaneVisible;
|
|
429
422
|
this.emitFacetPaneVisibilityChanged();
|
|
430
|
-
}}
|
|
423
|
+
}}
|
|
431
424
|
></smart-facet-bar>`
|
|
432
|
-
: nothing}
|
|
433
|
-
|
|
434
|
-
<div
|
|
435
|
-
id="content-container"
|
|
436
|
-
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
437
|
-
>
|
|
425
|
+
: nothing}
|
|
426
|
+
|
|
427
|
+
<div
|
|
428
|
+
id="content-container"
|
|
429
|
+
class=${this.mobileView ? 'mobile' : 'desktop'}
|
|
430
|
+
>
|
|
438
431
|
${this.placeholderType
|
|
439
432
|
? this.emptyPlaceholderTemplate
|
|
440
|
-
: this.collectionBrowserTemplate}
|
|
441
|
-
</div>
|
|
433
|
+
: this.collectionBrowserTemplate}
|
|
434
|
+
</div>
|
|
442
435
|
`;
|
|
443
436
|
}
|
|
444
437
|
/**
|
|
@@ -482,23 +475,23 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
482
475
|
* Template for the placeholder content to show when no results are available.
|
|
483
476
|
*/
|
|
484
477
|
get emptyPlaceholderTemplate() {
|
|
485
|
-
return html `
|
|
486
|
-
<empty-placeholder
|
|
487
|
-
.placeholderType=${this.placeholderType}
|
|
488
|
-
?isMobileView=${this.mobileView}
|
|
489
|
-
?isCollection=${!!this.withinCollection}
|
|
490
|
-
.detailMessage=${this.dataSource.queryErrorMessage ?? ''}
|
|
491
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
492
|
-
></empty-placeholder>
|
|
478
|
+
return html `
|
|
479
|
+
<empty-placeholder
|
|
480
|
+
.placeholderType=${this.placeholderType}
|
|
481
|
+
?isMobileView=${this.mobileView}
|
|
482
|
+
?isCollection=${!!this.withinCollection}
|
|
483
|
+
.detailMessage=${this.dataSource.queryErrorMessage ?? ''}
|
|
484
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
485
|
+
></empty-placeholder>
|
|
493
486
|
`;
|
|
494
487
|
}
|
|
495
488
|
/**
|
|
496
489
|
* Top-level template for rendering the left (facets) and right (results) columns.
|
|
497
490
|
*/
|
|
498
491
|
get collectionBrowserTemplate() {
|
|
499
|
-
return html `
|
|
500
|
-
<div id="left-column-scroll-sentinel"></div>
|
|
501
|
-
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
492
|
+
return html `
|
|
493
|
+
<div id="left-column-scroll-sentinel"></div>
|
|
494
|
+
${this.leftColumnTemplate} ${this.rightColumnTemplate}
|
|
502
495
|
`;
|
|
503
496
|
}
|
|
504
497
|
/**
|
|
@@ -517,33 +510,33 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
517
510
|
* accordion-style facets.
|
|
518
511
|
*/
|
|
519
512
|
get mobileLeftColumnTemplate() {
|
|
520
|
-
return html `
|
|
521
|
-
<div
|
|
522
|
-
id="left-column"
|
|
523
|
-
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
524
|
-
>
|
|
525
|
-
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
526
|
-
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
527
|
-
</div>
|
|
513
|
+
return html `
|
|
514
|
+
<div
|
|
515
|
+
id="left-column"
|
|
516
|
+
class="column${this.isResizeToMobile ? ' preload' : ''}"
|
|
517
|
+
>
|
|
518
|
+
${this.facetTopViewSlot} ${this.resultsCountTemplate}
|
|
519
|
+
<div id="facets-header-container">${this.mobileFacetsTemplate}</div>
|
|
520
|
+
</div>
|
|
528
521
|
`;
|
|
529
522
|
}
|
|
530
523
|
/**
|
|
531
524
|
* Template for the desktop version of the left column, displaying the facets sidebar.
|
|
532
525
|
*/
|
|
533
526
|
get desktopLeftColumnTemplate() {
|
|
534
|
-
return html `
|
|
535
|
-
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
536
|
-
${this.facetTopViewSlot}
|
|
537
|
-
<div id="facets-header-container">
|
|
538
|
-
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
539
|
-
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
540
|
-
</div>
|
|
541
|
-
<div id="facets-container" aria-labelledby="facets-header">
|
|
542
|
-
${this.facetsTemplate}
|
|
543
|
-
<div id="facets-scroll-sentinel"></div>
|
|
544
|
-
</div>
|
|
545
|
-
<div id="facets-bottom-fade"></div>
|
|
546
|
-
</div>
|
|
527
|
+
return html `
|
|
528
|
+
<div id="left-column" class="column" ?hidden=${!this.facetPaneVisible}>
|
|
529
|
+
${this.facetTopViewSlot}
|
|
530
|
+
<div id="facets-header-container">
|
|
531
|
+
<h2 id="facets-header" class="sr-only">${msg('Filters')}</h2>
|
|
532
|
+
${this.resultsCountTemplate} ${this.clearFiltersBtnTemplate(false)}
|
|
533
|
+
</div>
|
|
534
|
+
<div id="facets-container" aria-labelledby="facets-header">
|
|
535
|
+
${this.facetsTemplate}
|
|
536
|
+
<div id="facets-scroll-sentinel"></div>
|
|
537
|
+
</div>
|
|
538
|
+
<div id="facets-bottom-fade"></div>
|
|
539
|
+
</div>
|
|
547
540
|
`;
|
|
548
541
|
}
|
|
549
542
|
/**
|
|
@@ -551,8 +544,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
551
544
|
* - mainly used to render userlists
|
|
552
545
|
*/
|
|
553
546
|
get facetTopViewSlot() {
|
|
554
|
-
return html `<div id="facet-top-view">
|
|
555
|
-
<slot name="facet-top-slot"></slot>
|
|
547
|
+
return html `<div id="facet-top-view">
|
|
548
|
+
<slot name="facet-top-slot"></slot>
|
|
556
549
|
</div>`;
|
|
557
550
|
}
|
|
558
551
|
/**
|
|
@@ -567,15 +560,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
567
560
|
const resultsCount = this.totalResults?.toLocaleString();
|
|
568
561
|
const resultsLabel = this.totalResults === 1 ? 'Result' : 'Results';
|
|
569
562
|
// Added data-testid for Playwright testing
|
|
570
|
-
return html `
|
|
571
|
-
<div id="results-total" class=${classes} data-testid="results-total">
|
|
572
|
-
<span id="big-results-count">
|
|
573
|
-
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
574
|
-
</span>
|
|
575
|
-
<span id="big-results-label">
|
|
576
|
-
${shouldShowSearching ? nothing : resultsLabel}
|
|
577
|
-
</span>
|
|
578
|
-
</div>
|
|
563
|
+
return html `
|
|
564
|
+
<div id="results-total" class=${classes} data-testid="results-total">
|
|
565
|
+
<span id="big-results-count">
|
|
566
|
+
${shouldShowSearching ? html `Searching…` : resultsCount}
|
|
567
|
+
</span>
|
|
568
|
+
<span id="big-results-label">
|
|
569
|
+
${shouldShowSearching ? nothing : resultsLabel}
|
|
570
|
+
</span>
|
|
571
|
+
</div>
|
|
579
572
|
`;
|
|
580
573
|
}
|
|
581
574
|
/**
|
|
@@ -588,45 +581,45 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
588
581
|
'full-width': !this.facetPaneVisible,
|
|
589
582
|
'smart-results-spacing': !!this.showSmartResults,
|
|
590
583
|
});
|
|
591
|
-
return html `
|
|
592
|
-
<div id="right-column" class=${rightColumnClasses}>
|
|
584
|
+
return html `
|
|
585
|
+
<div id="right-column" class=${rightColumnClasses}>
|
|
593
586
|
${this.showSmartResults
|
|
594
587
|
? html `<slot name="smart-results"></slot>`
|
|
595
|
-
: nothing}
|
|
596
|
-
<section id="results">
|
|
597
|
-
<h2 class="results-section-heading">
|
|
598
|
-
<slot name="results-heading"></slot>
|
|
599
|
-
</h2>
|
|
600
|
-
<div id="cb-top-view">
|
|
601
|
-
<slot name="cb-top-slot"></slot>
|
|
602
|
-
</div>
|
|
588
|
+
: nothing}
|
|
589
|
+
<section id="results">
|
|
590
|
+
<h2 class="results-section-heading">
|
|
591
|
+
<slot name="results-heading"></slot>
|
|
592
|
+
</h2>
|
|
593
|
+
<div id="cb-top-view">
|
|
594
|
+
<slot name="cb-top-slot"></slot>
|
|
595
|
+
</div>
|
|
603
596
|
${this.isManageView
|
|
604
597
|
? this.manageBarTemplate
|
|
605
|
-
: this.sortFilterBarTemplate}
|
|
606
|
-
<slot name="cb-results"></slot>
|
|
598
|
+
: this.sortFilterBarTemplate}
|
|
599
|
+
<slot name="cb-results"></slot>
|
|
607
600
|
${this.displayMode === `list-compact` && this.totalResults
|
|
608
601
|
? this.listHeaderTemplate
|
|
609
|
-
: nothing}
|
|
610
|
-
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
611
|
-
</section>
|
|
612
|
-
</div>
|
|
602
|
+
: nothing}
|
|
603
|
+
${this.suppressResultTiles ? nothing : this.infiniteScrollerTemplate}
|
|
604
|
+
</section>
|
|
605
|
+
</div>
|
|
613
606
|
`;
|
|
614
607
|
}
|
|
615
608
|
/**
|
|
616
609
|
* Template for the infinite scroller widget that contains the result tiles.
|
|
617
610
|
*/
|
|
618
611
|
get infiniteScrollerTemplate() {
|
|
619
|
-
return html `<infinite-scroller
|
|
620
|
-
class=${this.infiniteScrollerClasses}
|
|
621
|
-
itemCount=${this.placeholderType ? 0 : nothing}
|
|
622
|
-
ariaLandmarkLabel="Search results"
|
|
623
|
-
.cellProvider=${this}
|
|
624
|
-
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
625
|
-
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
626
|
-
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
612
|
+
return html `<infinite-scroller
|
|
613
|
+
class=${this.infiniteScrollerClasses}
|
|
614
|
+
itemCount=${this.placeholderType ? 0 : nothing}
|
|
615
|
+
ariaLandmarkLabel="Search results"
|
|
616
|
+
.cellProvider=${this}
|
|
617
|
+
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
618
|
+
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
619
|
+
@visibleCellsChanged=${this.visibleCellsChanged}
|
|
627
620
|
>${this.displayMode === 'grid'
|
|
628
621
|
? html `<slot name="result-last-tile" slot="result-last-tile"></slot>`
|
|
629
|
-
: nothing}
|
|
622
|
+
: nothing}
|
|
630
623
|
</infinite-scroller>`;
|
|
631
624
|
}
|
|
632
625
|
/**
|
|
@@ -660,29 +653,29 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
660
653
|
}
|
|
661
654
|
// We only show relevance sort if a search query is currently defined
|
|
662
655
|
sortFieldAvailability.relevance = this.isRelevanceSortAvailable;
|
|
663
|
-
return html `
|
|
664
|
-
<sort-filter-bar
|
|
665
|
-
.defaultSortField=${this.defaultSortField}
|
|
666
|
-
.defaultSortDirection=${this.defaultSortDirection}
|
|
667
|
-
.selectedSort=${this.selectedSort}
|
|
668
|
-
.sortDirection=${this.sortDirection}
|
|
669
|
-
.sortFieldAvailability=${sortFieldAvailability}
|
|
670
|
-
.displayMode=${this.displayMode}
|
|
671
|
-
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
672
|
-
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
673
|
-
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
674
|
-
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
675
|
-
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
676
|
-
@sortChanged=${this.userChangedSort}
|
|
677
|
-
@displayModeChanged=${this.displayModeChanged}
|
|
678
|
-
@titleLetterChanged=${this.titleLetterSelected}
|
|
679
|
-
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
680
|
-
>
|
|
681
|
-
${this.tileBlurCheckboxTemplate}
|
|
682
|
-
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
683
|
-
<slot name="sort-options" slot="sort-options"></slot>
|
|
684
|
-
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
685
|
-
</sort-filter-bar>
|
|
656
|
+
return html `
|
|
657
|
+
<sort-filter-bar
|
|
658
|
+
.defaultSortField=${this.defaultSortField}
|
|
659
|
+
.defaultSortDirection=${this.defaultSortDirection}
|
|
660
|
+
.selectedSort=${this.selectedSort}
|
|
661
|
+
.sortDirection=${this.sortDirection}
|
|
662
|
+
.sortFieldAvailability=${sortFieldAvailability}
|
|
663
|
+
.displayMode=${this.displayMode}
|
|
664
|
+
.selectedTitleFilter=${this.selectedTitleFilter}
|
|
665
|
+
.selectedCreatorFilter=${this.selectedCreatorFilter}
|
|
666
|
+
.prefixFilterCountMap=${this.dataSource.prefixFilterCountMap}
|
|
667
|
+
.enableSortOptionsSlot=${this.enableSortOptionsSlot}
|
|
668
|
+
.suppressDisplayModes=${this.suppressDisplayModes}
|
|
669
|
+
@sortChanged=${this.userChangedSort}
|
|
670
|
+
@displayModeChanged=${this.displayModeChanged}
|
|
671
|
+
@titleLetterChanged=${this.titleLetterSelected}
|
|
672
|
+
@creatorLetterChanged=${this.creatorLetterSelected}
|
|
673
|
+
>
|
|
674
|
+
${this.tileBlurCheckboxTemplate}
|
|
675
|
+
<slot name="sort-options-left" slot="sort-options-left"></slot>
|
|
676
|
+
<slot name="sort-options" slot="sort-options"></slot>
|
|
677
|
+
<slot name="sort-options-right" slot="sort-options-right"></slot>
|
|
678
|
+
</sort-filter-bar>
|
|
686
679
|
`;
|
|
687
680
|
}
|
|
688
681
|
/**
|
|
@@ -693,20 +686,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
693
686
|
// Only show the checkbox for @archive.org users
|
|
694
687
|
if (!this.dataSource.sessionContext?.is_archive_user)
|
|
695
688
|
return nothing;
|
|
696
|
-
return html `
|
|
697
|
-
<label
|
|
698
|
-
id="tile-blur-label"
|
|
699
|
-
for="tile-blur-check"
|
|
700
|
-
slot="sort-options-right"
|
|
701
|
-
>
|
|
702
|
-
${msg('Blurring')}
|
|
703
|
-
<input
|
|
704
|
-
id="tile-blur-check"
|
|
705
|
-
type="checkbox"
|
|
706
|
-
?checked=${!this.shouldSuppressTileBlurring}
|
|
707
|
-
@change=${this.tileBlurCheckboxChanged}
|
|
708
|
-
/>
|
|
709
|
-
</label>
|
|
689
|
+
return html `
|
|
690
|
+
<label
|
|
691
|
+
id="tile-blur-label"
|
|
692
|
+
for="tile-blur-check"
|
|
693
|
+
slot="sort-options-right"
|
|
694
|
+
>
|
|
695
|
+
${msg('Blurring')}
|
|
696
|
+
<input
|
|
697
|
+
id="tile-blur-check"
|
|
698
|
+
type="checkbox"
|
|
699
|
+
?checked=${!this.shouldSuppressTileBlurring}
|
|
700
|
+
@change=${this.tileBlurCheckboxChanged}
|
|
701
|
+
/>
|
|
702
|
+
</label>
|
|
710
703
|
`;
|
|
711
704
|
}
|
|
712
705
|
/**
|
|
@@ -714,27 +707,27 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
714
707
|
* showing the management view. This generally replaces the sort bar when present.
|
|
715
708
|
*/
|
|
716
709
|
get manageBarTemplate() {
|
|
717
|
-
return html `
|
|
718
|
-
<manage-bar
|
|
719
|
-
.label=${this.manageViewLabel}
|
|
720
|
-
.modalManager=${this.modalManager}
|
|
721
|
-
.selectedItems=${this.dataSource.checkedTileModels}
|
|
722
|
-
.profileElement=${this.profileElement}
|
|
723
|
-
showSelectAll
|
|
724
|
-
showUnselectAll
|
|
725
|
-
?showItemManageButton=${this.pageContext === 'search'}
|
|
726
|
-
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
727
|
-
@removeItems=${this.handleRemoveItems}
|
|
728
|
-
@manageItems=${this.handleManageItems}
|
|
729
|
-
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
730
|
-
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
710
|
+
return html `
|
|
711
|
+
<manage-bar
|
|
712
|
+
.label=${this.manageViewLabel}
|
|
713
|
+
.modalManager=${this.modalManager}
|
|
714
|
+
.selectedItems=${this.dataSource.checkedTileModels}
|
|
715
|
+
.profileElement=${this.profileElement}
|
|
716
|
+
showSelectAll
|
|
717
|
+
showUnselectAll
|
|
718
|
+
?showItemManageButton=${this.pageContext === 'search'}
|
|
719
|
+
?removeAllowed=${this.dataSource.checkedTileModels.length !== 0}
|
|
720
|
+
@removeItems=${this.handleRemoveItems}
|
|
721
|
+
@manageItems=${this.handleManageItems}
|
|
722
|
+
@selectAll=${() => this.dataSource.checkAllTiles()}
|
|
723
|
+
@unselectAll=${() => this.dataSource.uncheckAllTiles()}
|
|
731
724
|
@cancel=${() => {
|
|
732
725
|
this.isManageView = false;
|
|
733
726
|
this.dataSource.uncheckAllTiles();
|
|
734
727
|
if (this.searchResultsLoading)
|
|
735
728
|
this.dataSource.resetPages();
|
|
736
|
-
}}
|
|
737
|
-
></manage-bar>
|
|
729
|
+
}}
|
|
730
|
+
></manage-bar>
|
|
738
731
|
`;
|
|
739
732
|
}
|
|
740
733
|
/**
|
|
@@ -969,15 +962,15 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
969
962
|
label: target.open ? 'open' : 'closed',
|
|
970
963
|
});
|
|
971
964
|
};
|
|
972
|
-
return html `
|
|
973
|
-
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
974
|
-
<summary>
|
|
975
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
976
|
-
<h2>${msg('Filters')}</h2>
|
|
977
|
-
${this.clearFiltersBtnTemplate(true)}
|
|
978
|
-
</summary>
|
|
979
|
-
${this.facetsTemplate}
|
|
980
|
-
</details>
|
|
965
|
+
return html `
|
|
966
|
+
<details id="mobile-filter-collapse" @toggle=${toggleFacetsVisible}>
|
|
967
|
+
<summary>
|
|
968
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
969
|
+
<h2>${msg('Filters')}</h2>
|
|
970
|
+
${this.clearFiltersBtnTemplate(true)}
|
|
971
|
+
</summary>
|
|
972
|
+
${this.facetsTemplate}
|
|
973
|
+
</details>
|
|
981
974
|
`;
|
|
982
975
|
}
|
|
983
976
|
/**
|
|
@@ -1061,50 +1054,50 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1061
1054
|
const filterByNetworkLabel = msg('Filter by Network');
|
|
1062
1055
|
const filterByShowLabel = msg('Filter by Show');
|
|
1063
1056
|
const shows = showEntries.map(([show]) => show);
|
|
1064
|
-
const loadingIndicator = html `
|
|
1065
|
-
<span slot="empty-options">
|
|
1066
|
-
<img src="https://archive.org/images/loading.gif" />
|
|
1067
|
-
</span>
|
|
1057
|
+
const loadingIndicator = html `
|
|
1058
|
+
<span slot="empty-options">
|
|
1059
|
+
<img src="https://archive.org/images/loading.gif" />
|
|
1060
|
+
</span>
|
|
1068
1061
|
`;
|
|
1069
|
-
const errorMessage = html `
|
|
1070
|
-
<span slot="empty-options">
|
|
1071
|
-
${msg('Unable to fetch options, try again later')}
|
|
1072
|
-
</span>
|
|
1062
|
+
const errorMessage = html `
|
|
1063
|
+
<span slot="empty-options">
|
|
1064
|
+
${msg('Unable to fetch options, try again later')}
|
|
1065
|
+
</span>
|
|
1073
1066
|
`;
|
|
1074
|
-
return html `
|
|
1075
|
-
<div id="tv-filters" slot="facets-top">
|
|
1076
|
-
<ia-combo-box
|
|
1077
|
-
id="tv-networks"
|
|
1078
|
-
class="tv-filter-dropdown"
|
|
1079
|
-
placeholder=${filterByNetworkLabel}
|
|
1080
|
-
clearable
|
|
1081
|
-
wrap-arrow-keys
|
|
1082
|
-
sort
|
|
1083
|
-
.options=${networks.map((n, i) => ({ id: `network-${i}`, text: n }))}
|
|
1084
|
-
@toggle=${this.tvDropdownToggled}
|
|
1085
|
-
@change=${this.networksDropdownChanged}
|
|
1086
|
-
>
|
|
1087
|
-
<span slot="label" class="sr-only">${filterByNetworkLabel}</span>
|
|
1088
|
-
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1089
|
-
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1090
|
-
</ia-combo-box>
|
|
1091
|
-
<ia-combo-box
|
|
1092
|
-
id="tv-shows"
|
|
1093
|
-
class="tv-filter-dropdown"
|
|
1094
|
-
placeholder=${filterByShowLabel}
|
|
1095
|
-
max-autocomplete-entries="500"
|
|
1096
|
-
clearable
|
|
1097
|
-
wrap-arrow-keys
|
|
1098
|
-
sort
|
|
1099
|
-
.options=${shows.map((s, i) => ({ id: `show-${i}`, text: s }))}
|
|
1100
|
-
@toggle=${this.tvDropdownToggled}
|
|
1101
|
-
@change=${this.showsDropdownChanged}
|
|
1102
|
-
>
|
|
1103
|
-
<span slot="label" class="sr-only">${filterByShowLabel}</span>
|
|
1104
|
-
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1105
|
-
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1106
|
-
</ia-combo-box>
|
|
1107
|
-
</div>
|
|
1067
|
+
return html `
|
|
1068
|
+
<div id="tv-filters" slot="facets-top">
|
|
1069
|
+
<ia-combo-box
|
|
1070
|
+
id="tv-networks"
|
|
1071
|
+
class="tv-filter-dropdown"
|
|
1072
|
+
placeholder=${filterByNetworkLabel}
|
|
1073
|
+
clearable
|
|
1074
|
+
wrap-arrow-keys
|
|
1075
|
+
sort
|
|
1076
|
+
.options=${networks.map((n, i) => ({ id: `network-${i}`, text: n }))}
|
|
1077
|
+
@toggle=${this.tvDropdownToggled}
|
|
1078
|
+
@change=${this.networksDropdownChanged}
|
|
1079
|
+
>
|
|
1080
|
+
<span slot="label" class="sr-only">${filterByNetworkLabel}</span>
|
|
1081
|
+
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1082
|
+
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1083
|
+
</ia-combo-box>
|
|
1084
|
+
<ia-combo-box
|
|
1085
|
+
id="tv-shows"
|
|
1086
|
+
class="tv-filter-dropdown"
|
|
1087
|
+
placeholder=${filterByShowLabel}
|
|
1088
|
+
max-autocomplete-entries="500"
|
|
1089
|
+
clearable
|
|
1090
|
+
wrap-arrow-keys
|
|
1091
|
+
sort
|
|
1092
|
+
.options=${shows.map((s, i) => ({ id: `show-${i}`, text: s }))}
|
|
1093
|
+
@toggle=${this.tvDropdownToggled}
|
|
1094
|
+
@change=${this.showsDropdownChanged}
|
|
1095
|
+
>
|
|
1096
|
+
<span slot="label" class="sr-only">${filterByShowLabel}</span>
|
|
1097
|
+
${this.tvMapsLoading ? loadingIndicator : nothing}
|
|
1098
|
+
${this.tvMapsErrored ? errorMessage : nothing}
|
|
1099
|
+
</ia-combo-box>
|
|
1100
|
+
</div>
|
|
1108
1101
|
`;
|
|
1109
1102
|
}
|
|
1110
1103
|
/**
|
|
@@ -1114,10 +1107,10 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1114
1107
|
if (FACETLESS_PAGE_ELEMENTS.includes(this.profileElement))
|
|
1115
1108
|
return nothing;
|
|
1116
1109
|
if (this.facetLoadStrategy === 'off') {
|
|
1117
|
-
return html `
|
|
1118
|
-
<p class="facets-message">
|
|
1119
|
-
${msg('Facets are temporarily unavailable.')}
|
|
1120
|
-
</p>
|
|
1110
|
+
return html `
|
|
1111
|
+
<p class="facets-message">
|
|
1112
|
+
${msg('Facets are temporarily unavailable.')}
|
|
1113
|
+
</p>
|
|
1121
1114
|
`;
|
|
1122
1115
|
}
|
|
1123
1116
|
// We switch to TV facet ordering & date picker if we are in a TV collection or showing TV search results
|
|
@@ -1126,46 +1119,46 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1126
1119
|
const facetDisplayOrder = shouldUseTvInterface
|
|
1127
1120
|
? tvFacetDisplayOrder
|
|
1128
1121
|
: defaultFacetDisplayOrder;
|
|
1129
|
-
const facets = html `
|
|
1130
|
-
<collection-facets
|
|
1131
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
1132
|
-
.parentCollections=${this.dataSource.parentCollections}
|
|
1133
|
-
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
1134
|
-
.searchService=${this.searchService}
|
|
1135
|
-
.featureFeedbackService=${this.featureFeedbackService}
|
|
1136
|
-
.recaptchaManager=${this.recaptchaManager}
|
|
1137
|
-
.resizeObserver=${this.resizeObserver}
|
|
1138
|
-
.searchType=${this.searchType}
|
|
1139
|
-
.aggregations=${this.dataSource.aggregations}
|
|
1140
|
-
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
1141
|
-
.minSelectedDate=${this.minSelectedDate}
|
|
1142
|
-
.maxSelectedDate=${this.maxSelectedDate}
|
|
1143
|
-
.selectedFacets=${this.selectedFacets}
|
|
1144
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1145
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1146
|
-
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
1147
|
-
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
1148
|
-
.allowExpandingDatePicker=${!this.mobileView}
|
|
1149
|
-
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
1150
|
-
.contentWidth=${this.contentWidth}
|
|
1151
|
-
.query=${this.baseQuery}
|
|
1152
|
-
.identifiers=${this.identifiers}
|
|
1153
|
-
.filterMap=${this.dataSource.filterMap}
|
|
1154
|
-
.isManageView=${this.isManageView}
|
|
1155
|
-
.modalManager=${this.modalManager}
|
|
1156
|
-
.analyticsHandler=${this.analyticsHandler}
|
|
1157
|
-
.facetDisplayOrder=${facetDisplayOrder}
|
|
1158
|
-
.isTvSearch=${shouldUseTvInterface}
|
|
1159
|
-
?collapsableFacets=${this.mobileView}
|
|
1160
|
-
?facetsLoading=${this.facetsLoading}
|
|
1161
|
-
?histogramAggregationLoading=${this.facetsLoading}
|
|
1162
|
-
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1163
|
-
@facetClick=${this.facetClickHandler}
|
|
1164
|
-
@facetsChanged=${this.facetsChanged}
|
|
1165
|
-
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1166
|
-
>
|
|
1167
|
-
${this.tvDropdownFiltersTemplate}
|
|
1168
|
-
</collection-facets>
|
|
1122
|
+
const facets = html `
|
|
1123
|
+
<collection-facets
|
|
1124
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
1125
|
+
.parentCollections=${this.dataSource.parentCollections}
|
|
1126
|
+
.pageSpecifierParams=${this.dataSource.pageSpecifierParams}
|
|
1127
|
+
.searchService=${this.searchService}
|
|
1128
|
+
.featureFeedbackService=${this.featureFeedbackService}
|
|
1129
|
+
.recaptchaManager=${this.recaptchaManager}
|
|
1130
|
+
.resizeObserver=${this.resizeObserver}
|
|
1131
|
+
.searchType=${this.searchType}
|
|
1132
|
+
.aggregations=${this.dataSource.aggregations}
|
|
1133
|
+
.histogramAggregation=${this.dataSource.histogramAggregation}
|
|
1134
|
+
.minSelectedDate=${this.minSelectedDate}
|
|
1135
|
+
.maxSelectedDate=${this.maxSelectedDate}
|
|
1136
|
+
.selectedFacets=${this.selectedFacets}
|
|
1137
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1138
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1139
|
+
.tvChannelAliases=${this.dataSource.tvChannelAliases}
|
|
1140
|
+
.showHistogramDatePicker=${this.showHistogramDatePicker}
|
|
1141
|
+
.allowExpandingDatePicker=${!this.mobileView}
|
|
1142
|
+
.allowDatePickerMonths=${shouldUseTvInterface}
|
|
1143
|
+
.contentWidth=${this.contentWidth}
|
|
1144
|
+
.query=${this.baseQuery}
|
|
1145
|
+
.identifiers=${this.identifiers}
|
|
1146
|
+
.filterMap=${this.dataSource.filterMap}
|
|
1147
|
+
.isManageView=${this.isManageView}
|
|
1148
|
+
.modalManager=${this.modalManager}
|
|
1149
|
+
.analyticsHandler=${this.analyticsHandler}
|
|
1150
|
+
.facetDisplayOrder=${facetDisplayOrder}
|
|
1151
|
+
.isTvSearch=${shouldUseTvInterface}
|
|
1152
|
+
?collapsableFacets=${this.mobileView}
|
|
1153
|
+
?facetsLoading=${this.facetsLoading}
|
|
1154
|
+
?histogramAggregationLoading=${this.facetsLoading}
|
|
1155
|
+
?suppressMediatypeFacets=${this.suppressMediatypeFacets}
|
|
1156
|
+
@facetClick=${this.facetClickHandler}
|
|
1157
|
+
@facetsChanged=${this.facetsChanged}
|
|
1158
|
+
@histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
|
|
1159
|
+
>
|
|
1160
|
+
${this.tvDropdownFiltersTemplate}
|
|
1161
|
+
</collection-facets>
|
|
1169
1162
|
`;
|
|
1170
1163
|
// If we are using one of the opt-in facet load strategies, we may need to wrap the
|
|
1171
1164
|
// desktop view facets in a <details> widget so that patrons can opt into loading them.
|
|
@@ -1173,20 +1166,20 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1173
1166
|
const showDesktopOptInWidget = this.facetLoadStrategy === 'opt-in' ||
|
|
1174
1167
|
(this.facetLoadStrategy === 'opt-in-or-login' && !this.loggedIn);
|
|
1175
1168
|
if (showDesktopOptInWidget && !this.mobileView) {
|
|
1176
|
-
return html `
|
|
1177
|
-
<details
|
|
1178
|
-
class="desktop-facets-dropdown"
|
|
1169
|
+
return html `
|
|
1170
|
+
<details
|
|
1171
|
+
class="desktop-facets-dropdown"
|
|
1179
1172
|
@toggle=${(e) => {
|
|
1180
1173
|
const target = e.target;
|
|
1181
1174
|
this.collapsibleFacetsVisible = target.open;
|
|
1182
|
-
}}
|
|
1183
|
-
>
|
|
1184
|
-
<summary>
|
|
1185
|
-
<span class="collapser-icon">${chevronIcon}</span>
|
|
1186
|
-
<h2>${msg('Filters')}</h2>
|
|
1187
|
-
</summary>
|
|
1188
|
-
${facets}
|
|
1189
|
-
</details>
|
|
1175
|
+
}}
|
|
1176
|
+
>
|
|
1177
|
+
<summary>
|
|
1178
|
+
<span class="collapser-icon">${chevronIcon}</span>
|
|
1179
|
+
<h2>${msg('Filters')}</h2>
|
|
1180
|
+
</summary>
|
|
1181
|
+
${facets}
|
|
1182
|
+
</details>
|
|
1190
1183
|
`;
|
|
1191
1184
|
}
|
|
1192
1185
|
// Otherwise, just render the facets component bare
|
|
@@ -1206,35 +1199,34 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1206
1199
|
mobile,
|
|
1207
1200
|
});
|
|
1208
1201
|
const buttonText = mobile ? 'Clear all' : 'Clear all filters';
|
|
1209
|
-
return html `
|
|
1210
|
-
<div class="clear-filters-btn-row">
|
|
1202
|
+
return html `
|
|
1203
|
+
<div class="clear-filters-btn-row">
|
|
1211
1204
|
${mobile
|
|
1212
1205
|
? html `<span class="clear-filters-btn-separator"> </span>`
|
|
1213
|
-
: nothing}
|
|
1214
|
-
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1215
|
-
${buttonText}
|
|
1216
|
-
</button>
|
|
1217
|
-
</div>
|
|
1206
|
+
: nothing}
|
|
1207
|
+
<button class=${buttonClasses} @click=${this.clearFilters}>
|
|
1208
|
+
${buttonText}
|
|
1209
|
+
</button>
|
|
1210
|
+
</div>
|
|
1218
1211
|
`;
|
|
1219
1212
|
}
|
|
1220
1213
|
/**
|
|
1221
1214
|
* Template for the table header content that appears atop the compact list view.
|
|
1222
1215
|
*/
|
|
1223
1216
|
get listHeaderTemplate() {
|
|
1224
|
-
return html `
|
|
1225
|
-
<div id="list-header">
|
|
1226
|
-
<tile-dispatcher
|
|
1227
|
-
.tileDisplayMode=${'list-header'}
|
|
1228
|
-
.resizeObserver=${this.resizeObserver}
|
|
1229
|
-
.sortParam=${this.sortParam}
|
|
1230
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
1231
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1232
|
-
.loggedIn=${this.loggedIn}
|
|
1233
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1234
|
-
|
|
1235
|
-
>
|
|
1236
|
-
|
|
1237
|
-
</div>
|
|
1217
|
+
return html `
|
|
1218
|
+
<div id="list-header">
|
|
1219
|
+
<tile-dispatcher
|
|
1220
|
+
.tileDisplayMode=${'list-header'}
|
|
1221
|
+
.resizeObserver=${this.resizeObserver}
|
|
1222
|
+
.sortParam=${this.sortParam}
|
|
1223
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
1224
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1225
|
+
.loggedIn=${this.loggedIn}
|
|
1226
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1227
|
+
>
|
|
1228
|
+
</tile-dispatcher>
|
|
1229
|
+
</div>
|
|
1238
1230
|
`;
|
|
1239
1231
|
}
|
|
1240
1232
|
/**
|
|
@@ -1354,8 +1346,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1354
1346
|
if (changed.has('displayMode') ||
|
|
1355
1347
|
changed.has('baseNavigationUrl') ||
|
|
1356
1348
|
changed.has('baseImageUrl') ||
|
|
1357
|
-
changed.has('loggedIn')
|
|
1358
|
-
changed.has('tileActions')) {
|
|
1349
|
+
changed.has('loggedIn')) {
|
|
1359
1350
|
this.infiniteScroller?.reload();
|
|
1360
1351
|
}
|
|
1361
1352
|
if (changed.has('profileElement')) {
|
|
@@ -1965,30 +1956,28 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1965
1956
|
const isRadioSearch = this.searchType === SearchType.RADIO;
|
|
1966
1957
|
const { isTVCollection, isRadioCollection } = this;
|
|
1967
1958
|
const shouldUseLocalTime = isTVSearch || isRadioSearch || isTVCollection || isRadioCollection;
|
|
1968
|
-
return html `
|
|
1969
|
-
<tile-dispatcher
|
|
1970
|
-
.collectionPagePath=${this.collectionPagePath}
|
|
1971
|
-
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1972
|
-
.baseImageUrl=${this.baseImageUrl}
|
|
1973
|
-
.model=${model}
|
|
1974
|
-
.tileDisplayMode=${this.displayMode}
|
|
1975
|
-
.resizeObserver=${this.resizeObserver}
|
|
1976
|
-
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1977
|
-
.sortParam=${this.sortParam}
|
|
1978
|
-
.defaultSortParam=${this.defaultSortParam}
|
|
1979
|
-
.creatorFilter=${this.selectedCreatorFilter}
|
|
1980
|
-
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1981
|
-
.loggedIn=${this.loggedIn}
|
|
1982
|
-
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1983
|
-
.isManageView=${this.isManageView}
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
?
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
>
|
|
1991
|
-
</tile-dispatcher>
|
|
1959
|
+
return html `
|
|
1960
|
+
<tile-dispatcher
|
|
1961
|
+
.collectionPagePath=${this.collectionPagePath}
|
|
1962
|
+
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1963
|
+
.baseImageUrl=${this.baseImageUrl}
|
|
1964
|
+
.model=${model}
|
|
1965
|
+
.tileDisplayMode=${this.displayMode}
|
|
1966
|
+
.resizeObserver=${this.resizeObserver}
|
|
1967
|
+
.collectionTitles=${this.dataSource.collectionTitles}
|
|
1968
|
+
.sortParam=${this.sortParam}
|
|
1969
|
+
.defaultSortParam=${this.defaultSortParam}
|
|
1970
|
+
.creatorFilter=${this.selectedCreatorFilter}
|
|
1971
|
+
.mobileBreakpoint=${this.mobileBreakpoint}
|
|
1972
|
+
.loggedIn=${this.loggedIn}
|
|
1973
|
+
.suppressBlurring=${this.shouldSuppressTileBlurring}
|
|
1974
|
+
.isManageView=${this.isManageView}
|
|
1975
|
+
?showTvClips=${isTVSearch || isTVCollection}
|
|
1976
|
+
?enableHoverPane=${true}
|
|
1977
|
+
?useLocalTime=${shouldUseLocalTime}
|
|
1978
|
+
@resultSelected=${(e) => this.resultSelected(e)}
|
|
1979
|
+
>
|
|
1980
|
+
</tile-dispatcher>
|
|
1992
1981
|
`;
|
|
1993
1982
|
}
|
|
1994
1983
|
/**
|
|
@@ -2023,479 +2012,479 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
2023
2012
|
static get styles() {
|
|
2024
2013
|
return [
|
|
2025
2014
|
srOnlyStyle,
|
|
2026
|
-
css `
|
|
2027
|
-
:host {
|
|
2028
|
-
display: block;
|
|
2029
|
-
--leftColumnWidth: 18rem;
|
|
2030
|
-
--leftColumnPaddingTop: 2rem;
|
|
2031
|
-
--leftColumnPaddingRight: 2.5rem;
|
|
2032
|
-
}
|
|
2033
|
-
|
|
2034
|
-
#facet-top-view {
|
|
2035
|
-
display: flex;
|
|
2036
|
-
}
|
|
2037
|
-
|
|
2038
|
-
/**
|
|
2039
|
-
* When page width resizes from desktop to mobile, use this class to
|
|
2040
|
-
* disable expand/collapse transition when loading.
|
|
2041
|
-
*/
|
|
2042
|
-
.preload * {
|
|
2043
|
-
transition: none !important;
|
|
2044
|
-
-webkit-transition: none !important;
|
|
2045
|
-
-moz-transition: none !important;
|
|
2046
|
-
-ms-transition: none !important;
|
|
2047
|
-
-o-transition: none !important;
|
|
2048
|
-
}
|
|
2049
|
-
|
|
2050
|
-
#content-container {
|
|
2051
|
-
display: flex;
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
empty-placeholder {
|
|
2055
|
-
margin-top: var(--placeholderMarginTop, 0);
|
|
2056
|
-
}
|
|
2057
|
-
|
|
2058
|
-
.collapser-icon {
|
|
2059
|
-
display: inline-block;
|
|
2060
|
-
}
|
|
2061
|
-
|
|
2062
|
-
.collapser-icon svg {
|
|
2063
|
-
display: inline-block;
|
|
2064
|
-
width: 12px;
|
|
2065
|
-
height: 12px;
|
|
2066
|
-
transition: transform 0.2s ease-out;
|
|
2067
|
-
}
|
|
2068
|
-
|
|
2069
|
-
#mobile-filter-collapse {
|
|
2070
|
-
width: 100%;
|
|
2071
|
-
}
|
|
2072
|
-
|
|
2073
|
-
#mobile-filter-collapse > summary {
|
|
2074
|
-
cursor: pointer;
|
|
2075
|
-
list-style: none;
|
|
2076
|
-
}
|
|
2077
|
-
|
|
2078
|
-
#mobile-filter-collapse[open] > summary {
|
|
2079
|
-
margin-bottom: 10px;
|
|
2080
|
-
}
|
|
2081
|
-
|
|
2082
|
-
#mobile-filter-collapse h2 {
|
|
2083
|
-
display: inline-block;
|
|
2084
|
-
margin: 0;
|
|
2085
|
-
font-size: 2rem;
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
|
-
#mobile-filter-collapse[open] svg {
|
|
2089
|
-
transform: rotate(90deg);
|
|
2090
|
-
}
|
|
2091
|
-
|
|
2092
|
-
#content-container.mobile {
|
|
2093
|
-
display: block;
|
|
2094
|
-
}
|
|
2095
|
-
|
|
2096
|
-
#right-column {
|
|
2097
|
-
flex: 1;
|
|
2098
|
-
position: relative;
|
|
2099
|
-
min-height: 90vh;
|
|
2100
|
-
border-right: 1px solid rgb(232, 232, 232);
|
|
2101
|
-
margin-top: var(--rightColumnMarginTop, 0);
|
|
2102
|
-
padding-top: var(--rightColumnPaddingTop, 2rem);
|
|
2103
|
-
background: #fff;
|
|
2104
|
-
}
|
|
2105
|
-
|
|
2106
|
-
#left-column:not([hidden]) + #right-column {
|
|
2107
|
-
border-left: 1px solid rgb(232, 232, 232);
|
|
2108
|
-
}
|
|
2109
|
-
|
|
2110
|
-
#right-column.smart-results-spacing {
|
|
2111
|
-
padding-top: 0.5rem;
|
|
2112
|
-
border-right: none;
|
|
2113
|
-
background: transparent;
|
|
2114
|
-
min-width: 0;
|
|
2115
|
-
}
|
|
2116
|
-
|
|
2117
|
-
#results {
|
|
2118
|
-
background: #fff;
|
|
2119
|
-
padding-left: 1rem;
|
|
2120
|
-
padding-right: 1rem;
|
|
2121
|
-
}
|
|
2122
|
-
|
|
2123
|
-
#right-column.smart-results-spacing #results {
|
|
2124
|
-
border-radius: 10px 10px 0px 0px;
|
|
2125
|
-
padding-top: 0.5rem;
|
|
2126
|
-
margin-top: 1rem;
|
|
2127
|
-
}
|
|
2128
|
-
|
|
2129
|
-
.mobile #right-column {
|
|
2130
|
-
border-left: none;
|
|
2131
|
-
}
|
|
2132
|
-
|
|
2133
|
-
.mobile #results {
|
|
2134
|
-
padding: 5px 5px 0;
|
|
2135
|
-
}
|
|
2136
|
-
|
|
2137
|
-
#left-column {
|
|
2138
|
-
width: var(--leftColumnWidth, 18rem);
|
|
2139
|
-
/* Prevents Safari from shrinking col at first draw */
|
|
2140
|
-
min-width: var(--leftColumnWidth, 18rem);
|
|
2141
|
-
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
2142
|
-
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
2143
|
-
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
2144
|
-
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
2145
|
-
z-index: 1;
|
|
2146
|
-
}
|
|
2147
|
-
|
|
2148
|
-
.desktop #left-column {
|
|
2149
|
-
top: 0;
|
|
2150
|
-
position: sticky;
|
|
2151
|
-
height: calc(100vh - 2rem);
|
|
2152
|
-
max-height: calc(100vh - 2rem);
|
|
2153
|
-
overflow-x: hidden;
|
|
2154
|
-
overflow-y: scroll;
|
|
2155
|
-
|
|
2156
|
-
/*
|
|
2157
|
-
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
2158
|
-
* does at least give us a tiny bit of control over width & color.
|
|
2159
|
-
*/
|
|
2160
|
-
scrollbar-width: thin;
|
|
2161
|
-
scrollbar-color: transparent transparent;
|
|
2162
|
-
}
|
|
2163
|
-
.desktop #left-column:hover {
|
|
2164
|
-
scrollbar-color: auto;
|
|
2165
|
-
}
|
|
2166
|
-
.desktop #left-column::-webkit-scrollbar {
|
|
2167
|
-
appearance: none;
|
|
2168
|
-
width: 6px;
|
|
2169
|
-
}
|
|
2170
|
-
.desktop #left-column::-webkit-scrollbar-button {
|
|
2171
|
-
height: 3px;
|
|
2172
|
-
background: transparent;
|
|
2173
|
-
}
|
|
2174
|
-
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2175
|
-
background: transparent;
|
|
2176
|
-
}
|
|
2177
|
-
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2178
|
-
border-radius: 4px;
|
|
2179
|
-
}
|
|
2180
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2181
|
-
background: rgba(0, 0, 0, 0.15);
|
|
2182
|
-
}
|
|
2183
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2184
|
-
background: rgba(0, 0, 0, 0.2);
|
|
2185
|
-
}
|
|
2186
|
-
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2187
|
-
background: rgba(0, 0, 0, 0.3);
|
|
2188
|
-
}
|
|
2189
|
-
|
|
2190
|
-
#facets-bottom-fade {
|
|
2191
|
-
background: linear-gradient(
|
|
2192
|
-
to bottom,
|
|
2193
|
-
#fbfbfd00 0%,
|
|
2194
|
-
#fbfbfdc0 50%,
|
|
2195
|
-
#fbfbfd 80%,
|
|
2196
|
-
#fbfbfd 100%
|
|
2197
|
-
);
|
|
2198
|
-
position: fixed;
|
|
2199
|
-
bottom: 0;
|
|
2200
|
-
height: 50px;
|
|
2201
|
-
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2202
|
-
width: calc(
|
|
2203
|
-
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2204
|
-
);
|
|
2205
|
-
z-index: 2;
|
|
2206
|
-
pointer-events: none;
|
|
2207
|
-
transition: height 0.1s ease;
|
|
2208
|
-
}
|
|
2209
|
-
#facets-bottom-fade.hidden {
|
|
2210
|
-
height: 0;
|
|
2211
|
-
}
|
|
2212
|
-
|
|
2213
|
-
.facets-message {
|
|
2214
|
-
font-size: 1.4rem;
|
|
2215
|
-
}
|
|
2216
|
-
|
|
2217
|
-
.desktop-facets-dropdown > summary {
|
|
2218
|
-
cursor: pointer;
|
|
2219
|
-
list-style: none;
|
|
2220
|
-
}
|
|
2221
|
-
|
|
2222
|
-
.desktop-facets-dropdown h2 {
|
|
2223
|
-
display: inline-block;
|
|
2224
|
-
margin: 0;
|
|
2225
|
-
font-size: 1.6rem;
|
|
2226
|
-
}
|
|
2227
|
-
|
|
2228
|
-
.desktop-facets-dropdown[open] > summary {
|
|
2229
|
-
margin-bottom: 10px;
|
|
2230
|
-
}
|
|
2231
|
-
|
|
2232
|
-
.desktop-facets-dropdown[open] svg {
|
|
2233
|
-
transform: rotate(90deg);
|
|
2234
|
-
}
|
|
2235
|
-
|
|
2236
|
-
.desktop #left-column-scroll-sentinel {
|
|
2237
|
-
width: 1px;
|
|
2238
|
-
height: 100vh;
|
|
2239
|
-
background: transparent;
|
|
2240
|
-
}
|
|
2241
|
-
|
|
2242
|
-
.desktop #facets-scroll-sentinel {
|
|
2243
|
-
width: 1px;
|
|
2244
|
-
height: 1px;
|
|
2245
|
-
background: transparent;
|
|
2246
|
-
}
|
|
2247
|
-
|
|
2248
|
-
#facets-header-container {
|
|
2249
|
-
display: flex;
|
|
2250
|
-
justify-content: space-between;
|
|
2251
|
-
align-items: flex-start;
|
|
2252
|
-
clear: both;
|
|
2253
|
-
}
|
|
2254
|
-
|
|
2255
|
-
.desktop #facets-header-container {
|
|
2256
|
-
flex-wrap: wrap;
|
|
2257
|
-
}
|
|
2258
|
-
|
|
2259
|
-
.mobile #left-column {
|
|
2260
|
-
width: 100%;
|
|
2261
|
-
min-width: 0;
|
|
2262
|
-
padding: 5px 0;
|
|
2263
|
-
border: 0;
|
|
2264
|
-
}
|
|
2265
|
-
|
|
2266
|
-
.clear-filters-btn-row {
|
|
2267
|
-
display: inline-block;
|
|
2268
|
-
}
|
|
2269
|
-
|
|
2270
|
-
.desktop .clear-filters-btn-row {
|
|
2271
|
-
width: 100%;
|
|
2272
|
-
}
|
|
2273
|
-
|
|
2274
|
-
.clear-filters-btn {
|
|
2275
|
-
display: inline-block;
|
|
2276
|
-
appearance: none;
|
|
2277
|
-
margin: 0;
|
|
2278
|
-
padding: 0;
|
|
2279
|
-
border: 0;
|
|
2280
|
-
background: none;
|
|
2281
|
-
color: var(--ia-theme-link-color);
|
|
2282
|
-
font-size: 1.4rem;
|
|
2283
|
-
font-family: inherit;
|
|
2284
|
-
cursor: pointer;
|
|
2285
|
-
}
|
|
2286
|
-
|
|
2287
|
-
.clear-filters-btn:hover {
|
|
2288
|
-
text-decoration: underline;
|
|
2289
|
-
}
|
|
2290
|
-
|
|
2291
|
-
.clear-filters-btn-separator {
|
|
2292
|
-
display: inline-block;
|
|
2293
|
-
margin-left: 5px;
|
|
2294
|
-
border-left: 1px solid #2c2c2c;
|
|
2295
|
-
font-size: 1.4rem;
|
|
2296
|
-
line-height: 1.3rem;
|
|
2297
|
-
}
|
|
2298
|
-
|
|
2299
|
-
#tv-filters {
|
|
2300
|
-
margin-bottom: 15px;
|
|
2301
|
-
}
|
|
2302
|
-
|
|
2303
|
-
#tv-shows {
|
|
2304
|
-
--comboBoxListWidth: 300px;
|
|
2305
|
-
}
|
|
2306
|
-
|
|
2307
|
-
.tv-filter-dropdown {
|
|
2308
|
-
display: block;
|
|
2309
|
-
font-size: 14px;
|
|
2310
|
-
margin-left: 1px;
|
|
2311
|
-
margin-bottom: 5px;
|
|
2312
|
-
}
|
|
2313
|
-
|
|
2314
|
-
.tv-filter-dropdown::part(combo-box) {
|
|
2315
|
-
outline-offset: 1px;
|
|
2316
|
-
}
|
|
2317
|
-
|
|
2318
|
-
.tv-filter-dropdown::part(option) {
|
|
2319
|
-
line-height: 1.1;
|
|
2320
|
-
padding: 7px;
|
|
2321
|
-
}
|
|
2322
|
-
|
|
2323
|
-
.tv-filter-dropdown::part(clear-button) {
|
|
2324
|
-
flex: 0 0 26px;
|
|
2325
|
-
--combo-box-clear-icon-size: 14px;
|
|
2326
|
-
}
|
|
2327
|
-
|
|
2328
|
-
.tv-filter-dropdown::part(icon) {
|
|
2329
|
-
width: 1.4rem;
|
|
2330
|
-
height: 1.4rem;
|
|
2331
|
-
}
|
|
2332
|
-
|
|
2333
|
-
#facets-container {
|
|
2334
|
-
position: relative;
|
|
2335
|
-
max-height: 0;
|
|
2336
|
-
transition: max-height 0.2s ease-in-out;
|
|
2337
|
-
z-index: 1;
|
|
2338
|
-
margin-top: var(--facetsContainerMarginTop, 3rem);
|
|
2339
|
-
padding-bottom: 2rem;
|
|
2340
|
-
}
|
|
2341
|
-
|
|
2342
|
-
.desktop #facets-container {
|
|
2343
|
-
width: 18rem;
|
|
2344
|
-
}
|
|
2345
|
-
|
|
2346
|
-
.mobile #facets-container {
|
|
2347
|
-
overflow: hidden;
|
|
2348
|
-
padding-bottom: 0;
|
|
2349
|
-
padding-left: 10px;
|
|
2350
|
-
padding-right: 10px;
|
|
2351
|
-
}
|
|
2352
|
-
|
|
2353
|
-
#facets-container.expanded {
|
|
2354
|
-
max-height: 2000px;
|
|
2355
|
-
}
|
|
2356
|
-
|
|
2357
|
-
.results-section-heading {
|
|
2358
|
-
margin: 0.5rem 0.3rem;
|
|
2359
|
-
font-size: 2rem;
|
|
2360
|
-
line-height: 25px;
|
|
2361
|
-
}
|
|
2362
|
-
|
|
2363
|
-
#results-total {
|
|
2364
|
-
display: flex;
|
|
2365
|
-
align-items: baseline;
|
|
2366
|
-
}
|
|
2367
|
-
|
|
2368
|
-
#results-total:not(.filtered) {
|
|
2369
|
-
padding-bottom: 2rem;
|
|
2370
|
-
}
|
|
2371
|
-
|
|
2372
|
-
.mobile #results-total {
|
|
2373
|
-
position: absolute;
|
|
2374
|
-
right: 10px;
|
|
2375
|
-
}
|
|
2376
|
-
|
|
2377
|
-
#big-results-count {
|
|
2378
|
-
font-size: 2.4rem;
|
|
2379
|
-
font-weight: 500;
|
|
2380
|
-
margin-right: 5px;
|
|
2381
|
-
}
|
|
2382
|
-
|
|
2383
|
-
.mobile #big-results-count {
|
|
2384
|
-
font-size: 2rem;
|
|
2385
|
-
}
|
|
2386
|
-
|
|
2387
|
-
#big-results-label {
|
|
2388
|
-
font-size: 1.4rem;
|
|
2389
|
-
font-weight: 200;
|
|
2390
|
-
}
|
|
2391
|
-
|
|
2392
|
-
#list-header {
|
|
2393
|
-
max-height: 4.2rem;
|
|
2394
|
-
}
|
|
2395
|
-
|
|
2396
|
-
.loading-cover {
|
|
2397
|
-
position: absolute;
|
|
2398
|
-
top: 0;
|
|
2399
|
-
left: 0;
|
|
2400
|
-
width: 100%;
|
|
2401
|
-
height: 100%;
|
|
2402
|
-
display: flex;
|
|
2403
|
-
justify-content: center;
|
|
2404
|
-
z-index: 1;
|
|
2405
|
-
padding-top: 50px;
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
|
-
#tile-blur-label {
|
|
2409
|
-
display: flex;
|
|
2410
|
-
align-items: center;
|
|
2411
|
-
column-gap: 5px;
|
|
2412
|
-
}
|
|
2413
|
-
|
|
2414
|
-
#tile-blur-check {
|
|
2415
|
-
margin: 0 5px 0 0;
|
|
2416
|
-
width: 15px;
|
|
2417
|
-
}
|
|
2418
|
-
|
|
2419
|
-
circular-activity-indicator {
|
|
2420
|
-
width: 30px;
|
|
2421
|
-
height: 30px;
|
|
2422
|
-
}
|
|
2423
|
-
|
|
2424
|
-
sort-filter-bar {
|
|
2425
|
-
display: block;
|
|
2426
|
-
margin-bottom: 4rem;
|
|
2427
|
-
}
|
|
2428
|
-
|
|
2429
|
-
infinite-scroller {
|
|
2430
|
-
display: block;
|
|
2431
|
-
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2432
|
-
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2433
|
-
}
|
|
2434
|
-
|
|
2435
|
-
infinite-scroller.list-compact {
|
|
2436
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2437
|
-
--collectionBrowserCellMinWidth,
|
|
2438
|
-
100%
|
|
2439
|
-
);
|
|
2440
|
-
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2441
|
-
--infiniteScrollerCellMaxHeight: 56px;
|
|
2442
|
-
--infiniteScrollerRowGap: 10px;
|
|
2443
|
-
}
|
|
2444
|
-
|
|
2445
|
-
infinite-scroller.list-detail {
|
|
2446
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2447
|
-
--collectionBrowserCellMinWidth,
|
|
2448
|
-
100%
|
|
2449
|
-
);
|
|
2450
|
-
--infiniteScrollerCellMinHeight: var(
|
|
2451
|
-
--collectionBrowserCellMinHeight,
|
|
2452
|
-
5rem
|
|
2453
|
-
);
|
|
2454
|
-
/*
|
|
2455
|
-
30px in spec, compensating for a -4px margin
|
|
2456
|
-
to align title with top of item image
|
|
2457
|
-
src/tiles/list/tile-list.ts
|
|
2458
|
-
*/
|
|
2459
|
-
--infiniteScrollerRowGap: 34px;
|
|
2460
|
-
}
|
|
2461
|
-
|
|
2462
|
-
.mobile infinite-scroller.list-detail {
|
|
2463
|
-
--infiniteScrollerRowGap: 24px;
|
|
2464
|
-
}
|
|
2465
|
-
|
|
2466
|
-
infinite-scroller.grid {
|
|
2467
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2468
|
-
--collectionBrowserCellMinWidth,
|
|
2469
|
-
17rem
|
|
2470
|
-
);
|
|
2471
|
-
--infiniteScrollerCellMaxWidth: var(
|
|
2472
|
-
--collectionBrowserCellMaxWidth,
|
|
2473
|
-
1fr
|
|
2474
|
-
);
|
|
2475
|
-
}
|
|
2476
|
-
|
|
2477
|
-
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2478
|
-
@media screen and (max-width: 880px) {
|
|
2479
|
-
infinite-scroller.grid {
|
|
2480
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2481
|
-
--collectionBrowserCellMinWidth,
|
|
2482
|
-
15rem
|
|
2483
|
-
);
|
|
2484
|
-
}
|
|
2485
|
-
}
|
|
2486
|
-
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2487
|
-
@media screen and (max-width: 360px) {
|
|
2488
|
-
infinite-scroller.grid {
|
|
2489
|
-
--infiniteScrollerCellMinWidth: var(
|
|
2490
|
-
--collectionBrowserCellMinWidth,
|
|
2491
|
-
12rem
|
|
2492
|
-
);
|
|
2493
|
-
}
|
|
2494
|
-
}
|
|
2495
|
-
|
|
2496
|
-
infinite-scroller.hidden {
|
|
2497
|
-
display: none;
|
|
2498
|
-
}
|
|
2015
|
+
css `
|
|
2016
|
+
:host {
|
|
2017
|
+
display: block;
|
|
2018
|
+
--leftColumnWidth: 18rem;
|
|
2019
|
+
--leftColumnPaddingTop: 2rem;
|
|
2020
|
+
--leftColumnPaddingRight: 2.5rem;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
#facet-top-view {
|
|
2024
|
+
display: flex;
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
/**
|
|
2028
|
+
* When page width resizes from desktop to mobile, use this class to
|
|
2029
|
+
* disable expand/collapse transition when loading.
|
|
2030
|
+
*/
|
|
2031
|
+
.preload * {
|
|
2032
|
+
transition: none !important;
|
|
2033
|
+
-webkit-transition: none !important;
|
|
2034
|
+
-moz-transition: none !important;
|
|
2035
|
+
-ms-transition: none !important;
|
|
2036
|
+
-o-transition: none !important;
|
|
2037
|
+
}
|
|
2038
|
+
|
|
2039
|
+
#content-container {
|
|
2040
|
+
display: flex;
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2043
|
+
empty-placeholder {
|
|
2044
|
+
margin-top: var(--placeholderMarginTop, 0);
|
|
2045
|
+
}
|
|
2046
|
+
|
|
2047
|
+
.collapser-icon {
|
|
2048
|
+
display: inline-block;
|
|
2049
|
+
}
|
|
2050
|
+
|
|
2051
|
+
.collapser-icon svg {
|
|
2052
|
+
display: inline-block;
|
|
2053
|
+
width: 12px;
|
|
2054
|
+
height: 12px;
|
|
2055
|
+
transition: transform 0.2s ease-out;
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
#mobile-filter-collapse {
|
|
2059
|
+
width: 100%;
|
|
2060
|
+
}
|
|
2061
|
+
|
|
2062
|
+
#mobile-filter-collapse > summary {
|
|
2063
|
+
cursor: pointer;
|
|
2064
|
+
list-style: none;
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
#mobile-filter-collapse[open] > summary {
|
|
2068
|
+
margin-bottom: 10px;
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
#mobile-filter-collapse h2 {
|
|
2072
|
+
display: inline-block;
|
|
2073
|
+
margin: 0;
|
|
2074
|
+
font-size: 2rem;
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
#mobile-filter-collapse[open] svg {
|
|
2078
|
+
transform: rotate(90deg);
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
#content-container.mobile {
|
|
2082
|
+
display: block;
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
#right-column {
|
|
2086
|
+
flex: 1;
|
|
2087
|
+
position: relative;
|
|
2088
|
+
min-height: 90vh;
|
|
2089
|
+
border-right: 1px solid rgb(232, 232, 232);
|
|
2090
|
+
margin-top: var(--rightColumnMarginTop, 0);
|
|
2091
|
+
padding-top: var(--rightColumnPaddingTop, 2rem);
|
|
2092
|
+
background: #fff;
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
#left-column:not([hidden]) + #right-column {
|
|
2096
|
+
border-left: 1px solid rgb(232, 232, 232);
|
|
2097
|
+
}
|
|
2098
|
+
|
|
2099
|
+
#right-column.smart-results-spacing {
|
|
2100
|
+
padding-top: 0.5rem;
|
|
2101
|
+
border-right: none;
|
|
2102
|
+
background: transparent;
|
|
2103
|
+
min-width: 0;
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
#results {
|
|
2107
|
+
background: #fff;
|
|
2108
|
+
padding-left: 1rem;
|
|
2109
|
+
padding-right: 1rem;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
#right-column.smart-results-spacing #results {
|
|
2113
|
+
border-radius: 10px 10px 0px 0px;
|
|
2114
|
+
padding-top: 0.5rem;
|
|
2115
|
+
margin-top: 1rem;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
.mobile #right-column {
|
|
2119
|
+
border-left: none;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
.mobile #results {
|
|
2123
|
+
padding: 5px 5px 0;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
#left-column {
|
|
2127
|
+
width: var(--leftColumnWidth, 18rem);
|
|
2128
|
+
/* Prevents Safari from shrinking col at first draw */
|
|
2129
|
+
min-width: var(--leftColumnWidth, 18rem);
|
|
2130
|
+
padding-top: var(--leftColumnPaddingTop, 2rem);
|
|
2131
|
+
/* Reduced padding by 0.2rem to add the invisible border in the rule below */
|
|
2132
|
+
padding-right: calc(var(--leftColumnPaddingRight, 2.5rem) - 0.2rem);
|
|
2133
|
+
border-right: 0.2rem solid transparent; /* Pads to the right of the scrollbar a bit */
|
|
2134
|
+
z-index: 1;
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
.desktop #left-column {
|
|
2138
|
+
top: 0;
|
|
2139
|
+
position: sticky;
|
|
2140
|
+
height: calc(100vh - 2rem);
|
|
2141
|
+
max-height: calc(100vh - 2rem);
|
|
2142
|
+
overflow-x: hidden;
|
|
2143
|
+
overflow-y: scroll;
|
|
2144
|
+
|
|
2145
|
+
/*
|
|
2146
|
+
* Firefox doesn't support any of the -webkit-scrollbar stuff below, but
|
|
2147
|
+
* does at least give us a tiny bit of control over width & color.
|
|
2148
|
+
*/
|
|
2149
|
+
scrollbar-width: thin;
|
|
2150
|
+
scrollbar-color: transparent transparent;
|
|
2151
|
+
}
|
|
2152
|
+
.desktop #left-column:hover {
|
|
2153
|
+
scrollbar-color: auto;
|
|
2154
|
+
}
|
|
2155
|
+
.desktop #left-column::-webkit-scrollbar {
|
|
2156
|
+
appearance: none;
|
|
2157
|
+
width: 6px;
|
|
2158
|
+
}
|
|
2159
|
+
.desktop #left-column::-webkit-scrollbar-button {
|
|
2160
|
+
height: 3px;
|
|
2161
|
+
background: transparent;
|
|
2162
|
+
}
|
|
2163
|
+
.desktop #left-column::-webkit-scrollbar-corner {
|
|
2164
|
+
background: transparent;
|
|
2165
|
+
}
|
|
2166
|
+
.desktop #left-column::-webkit-scrollbar-thumb {
|
|
2167
|
+
border-radius: 4px;
|
|
2168
|
+
}
|
|
2169
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb {
|
|
2170
|
+
background: rgba(0, 0, 0, 0.15);
|
|
2171
|
+
}
|
|
2172
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:hover {
|
|
2173
|
+
background: rgba(0, 0, 0, 0.2);
|
|
2174
|
+
}
|
|
2175
|
+
.desktop #left-column:hover::-webkit-scrollbar-thumb:active {
|
|
2176
|
+
background: rgba(0, 0, 0, 0.3);
|
|
2177
|
+
}
|
|
2178
|
+
|
|
2179
|
+
#facets-bottom-fade {
|
|
2180
|
+
background: linear-gradient(
|
|
2181
|
+
to bottom,
|
|
2182
|
+
#fbfbfd00 0%,
|
|
2183
|
+
#fbfbfdc0 50%,
|
|
2184
|
+
#fbfbfd 80%,
|
|
2185
|
+
#fbfbfd 100%
|
|
2186
|
+
);
|
|
2187
|
+
position: fixed;
|
|
2188
|
+
bottom: 0;
|
|
2189
|
+
height: 50px;
|
|
2190
|
+
/* Wide enough to cover the content, but leave the scrollbar uncovered */
|
|
2191
|
+
width: calc(
|
|
2192
|
+
var(--leftColumnWidth) + var(--leftColumnPaddingRight) - 10px
|
|
2193
|
+
);
|
|
2194
|
+
z-index: 2;
|
|
2195
|
+
pointer-events: none;
|
|
2196
|
+
transition: height 0.1s ease;
|
|
2197
|
+
}
|
|
2198
|
+
#facets-bottom-fade.hidden {
|
|
2199
|
+
height: 0;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
.facets-message {
|
|
2203
|
+
font-size: 1.4rem;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
.desktop-facets-dropdown > summary {
|
|
2207
|
+
cursor: pointer;
|
|
2208
|
+
list-style: none;
|
|
2209
|
+
}
|
|
2210
|
+
|
|
2211
|
+
.desktop-facets-dropdown h2 {
|
|
2212
|
+
display: inline-block;
|
|
2213
|
+
margin: 0;
|
|
2214
|
+
font-size: 1.6rem;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
.desktop-facets-dropdown[open] > summary {
|
|
2218
|
+
margin-bottom: 10px;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
.desktop-facets-dropdown[open] svg {
|
|
2222
|
+
transform: rotate(90deg);
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
.desktop #left-column-scroll-sentinel {
|
|
2226
|
+
width: 1px;
|
|
2227
|
+
height: 100vh;
|
|
2228
|
+
background: transparent;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
.desktop #facets-scroll-sentinel {
|
|
2232
|
+
width: 1px;
|
|
2233
|
+
height: 1px;
|
|
2234
|
+
background: transparent;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
#facets-header-container {
|
|
2238
|
+
display: flex;
|
|
2239
|
+
justify-content: space-between;
|
|
2240
|
+
align-items: flex-start;
|
|
2241
|
+
clear: both;
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
.desktop #facets-header-container {
|
|
2245
|
+
flex-wrap: wrap;
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
.mobile #left-column {
|
|
2249
|
+
width: 100%;
|
|
2250
|
+
min-width: 0;
|
|
2251
|
+
padding: 5px 0;
|
|
2252
|
+
border: 0;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
.clear-filters-btn-row {
|
|
2256
|
+
display: inline-block;
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2259
|
+
.desktop .clear-filters-btn-row {
|
|
2260
|
+
width: 100%;
|
|
2261
|
+
}
|
|
2262
|
+
|
|
2263
|
+
.clear-filters-btn {
|
|
2264
|
+
display: inline-block;
|
|
2265
|
+
appearance: none;
|
|
2266
|
+
margin: 0;
|
|
2267
|
+
padding: 0;
|
|
2268
|
+
border: 0;
|
|
2269
|
+
background: none;
|
|
2270
|
+
color: var(--ia-theme-link-color);
|
|
2271
|
+
font-size: 1.4rem;
|
|
2272
|
+
font-family: inherit;
|
|
2273
|
+
cursor: pointer;
|
|
2274
|
+
}
|
|
2275
|
+
|
|
2276
|
+
.clear-filters-btn:hover {
|
|
2277
|
+
text-decoration: underline;
|
|
2278
|
+
}
|
|
2279
|
+
|
|
2280
|
+
.clear-filters-btn-separator {
|
|
2281
|
+
display: inline-block;
|
|
2282
|
+
margin-left: 5px;
|
|
2283
|
+
border-left: 1px solid #2c2c2c;
|
|
2284
|
+
font-size: 1.4rem;
|
|
2285
|
+
line-height: 1.3rem;
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
#tv-filters {
|
|
2289
|
+
margin-bottom: 15px;
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
#tv-shows {
|
|
2293
|
+
--comboBoxListWidth: 300px;
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
.tv-filter-dropdown {
|
|
2297
|
+
display: block;
|
|
2298
|
+
font-size: 14px;
|
|
2299
|
+
margin-left: 1px;
|
|
2300
|
+
margin-bottom: 5px;
|
|
2301
|
+
}
|
|
2302
|
+
|
|
2303
|
+
.tv-filter-dropdown::part(combo-box) {
|
|
2304
|
+
outline-offset: 1px;
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
.tv-filter-dropdown::part(option) {
|
|
2308
|
+
line-height: 1.1;
|
|
2309
|
+
padding: 7px;
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
.tv-filter-dropdown::part(clear-button) {
|
|
2313
|
+
flex: 0 0 26px;
|
|
2314
|
+
--combo-box-clear-icon-size: 14px;
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
.tv-filter-dropdown::part(icon) {
|
|
2318
|
+
width: 1.4rem;
|
|
2319
|
+
height: 1.4rem;
|
|
2320
|
+
}
|
|
2321
|
+
|
|
2322
|
+
#facets-container {
|
|
2323
|
+
position: relative;
|
|
2324
|
+
max-height: 0;
|
|
2325
|
+
transition: max-height 0.2s ease-in-out;
|
|
2326
|
+
z-index: 1;
|
|
2327
|
+
margin-top: var(--facetsContainerMarginTop, 3rem);
|
|
2328
|
+
padding-bottom: 2rem;
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2331
|
+
.desktop #facets-container {
|
|
2332
|
+
width: 18rem;
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
.mobile #facets-container {
|
|
2336
|
+
overflow: hidden;
|
|
2337
|
+
padding-bottom: 0;
|
|
2338
|
+
padding-left: 10px;
|
|
2339
|
+
padding-right: 10px;
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
#facets-container.expanded {
|
|
2343
|
+
max-height: 2000px;
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
.results-section-heading {
|
|
2347
|
+
margin: 0.5rem 0.3rem;
|
|
2348
|
+
font-size: 2rem;
|
|
2349
|
+
line-height: 25px;
|
|
2350
|
+
}
|
|
2351
|
+
|
|
2352
|
+
#results-total {
|
|
2353
|
+
display: flex;
|
|
2354
|
+
align-items: baseline;
|
|
2355
|
+
}
|
|
2356
|
+
|
|
2357
|
+
#results-total:not(.filtered) {
|
|
2358
|
+
padding-bottom: 2rem;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
.mobile #results-total {
|
|
2362
|
+
position: absolute;
|
|
2363
|
+
right: 10px;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
#big-results-count {
|
|
2367
|
+
font-size: 2.4rem;
|
|
2368
|
+
font-weight: 500;
|
|
2369
|
+
margin-right: 5px;
|
|
2370
|
+
}
|
|
2371
|
+
|
|
2372
|
+
.mobile #big-results-count {
|
|
2373
|
+
font-size: 2rem;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
#big-results-label {
|
|
2377
|
+
font-size: 1.4rem;
|
|
2378
|
+
font-weight: 200;
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
#list-header {
|
|
2382
|
+
max-height: 4.2rem;
|
|
2383
|
+
}
|
|
2384
|
+
|
|
2385
|
+
.loading-cover {
|
|
2386
|
+
position: absolute;
|
|
2387
|
+
top: 0;
|
|
2388
|
+
left: 0;
|
|
2389
|
+
width: 100%;
|
|
2390
|
+
height: 100%;
|
|
2391
|
+
display: flex;
|
|
2392
|
+
justify-content: center;
|
|
2393
|
+
z-index: 1;
|
|
2394
|
+
padding-top: 50px;
|
|
2395
|
+
}
|
|
2396
|
+
|
|
2397
|
+
#tile-blur-label {
|
|
2398
|
+
display: flex;
|
|
2399
|
+
align-items: center;
|
|
2400
|
+
column-gap: 5px;
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2403
|
+
#tile-blur-check {
|
|
2404
|
+
margin: 0 5px 0 0;
|
|
2405
|
+
width: 15px;
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
circular-activity-indicator {
|
|
2409
|
+
width: 30px;
|
|
2410
|
+
height: 30px;
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
sort-filter-bar {
|
|
2414
|
+
display: block;
|
|
2415
|
+
margin-bottom: 4rem;
|
|
2416
|
+
}
|
|
2417
|
+
|
|
2418
|
+
infinite-scroller {
|
|
2419
|
+
display: block;
|
|
2420
|
+
--infiniteScrollerRowGap: var(--collectionBrowserRowGap, 1.7rem);
|
|
2421
|
+
--infiniteScrollerColGap: var(--collectionBrowserColGap, 1.7rem);
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
infinite-scroller.list-compact {
|
|
2425
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2426
|
+
--collectionBrowserCellMinWidth,
|
|
2427
|
+
100%
|
|
2428
|
+
);
|
|
2429
|
+
--infiniteScrollerCellMinHeight: 45px; /* override infinite scroller component */
|
|
2430
|
+
--infiniteScrollerCellMaxHeight: 56px;
|
|
2431
|
+
--infiniteScrollerRowGap: 10px;
|
|
2432
|
+
}
|
|
2433
|
+
|
|
2434
|
+
infinite-scroller.list-detail {
|
|
2435
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2436
|
+
--collectionBrowserCellMinWidth,
|
|
2437
|
+
100%
|
|
2438
|
+
);
|
|
2439
|
+
--infiniteScrollerCellMinHeight: var(
|
|
2440
|
+
--collectionBrowserCellMinHeight,
|
|
2441
|
+
5rem
|
|
2442
|
+
);
|
|
2443
|
+
/*
|
|
2444
|
+
30px in spec, compensating for a -4px margin
|
|
2445
|
+
to align title with top of item image
|
|
2446
|
+
src/tiles/list/tile-list.ts
|
|
2447
|
+
*/
|
|
2448
|
+
--infiniteScrollerRowGap: 34px;
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2451
|
+
.mobile infinite-scroller.list-detail {
|
|
2452
|
+
--infiniteScrollerRowGap: 24px;
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
infinite-scroller.grid {
|
|
2456
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2457
|
+
--collectionBrowserCellMinWidth,
|
|
2458
|
+
17rem
|
|
2459
|
+
);
|
|
2460
|
+
--infiniteScrollerCellMaxWidth: var(
|
|
2461
|
+
--collectionBrowserCellMaxWidth,
|
|
2462
|
+
1fr
|
|
2463
|
+
);
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
/* Allow tiles to shrink a bit further at smaller viewport widths */
|
|
2467
|
+
@media screen and (max-width: 880px) {
|
|
2468
|
+
infinite-scroller.grid {
|
|
2469
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2470
|
+
--collectionBrowserCellMinWidth,
|
|
2471
|
+
15rem
|
|
2472
|
+
);
|
|
2473
|
+
}
|
|
2474
|
+
}
|
|
2475
|
+
/* At very small widths, maintain a 2-tile layout as far as it can reasonably go */
|
|
2476
|
+
@media screen and (max-width: 360px) {
|
|
2477
|
+
infinite-scroller.grid {
|
|
2478
|
+
--infiniteScrollerCellMinWidth: var(
|
|
2479
|
+
--collectionBrowserCellMinWidth,
|
|
2480
|
+
12rem
|
|
2481
|
+
);
|
|
2482
|
+
}
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
infinite-scroller.hidden {
|
|
2486
|
+
display: none;
|
|
2487
|
+
}
|
|
2499
2488
|
`,
|
|
2500
2489
|
];
|
|
2501
2490
|
}
|
|
@@ -2644,12 +2633,6 @@ __decorate([
|
|
|
2644
2633
|
__decorate([
|
|
2645
2634
|
property({ type: Boolean })
|
|
2646
2635
|
], CollectionBrowser.prototype, "isManageView", void 0);
|
|
2647
|
-
__decorate([
|
|
2648
|
-
property({ type: Array })
|
|
2649
|
-
], CollectionBrowser.prototype, "tileActions", void 0);
|
|
2650
|
-
__decorate([
|
|
2651
|
-
property({ type: String })
|
|
2652
|
-
], CollectionBrowser.prototype, "tileLayoutType", void 0);
|
|
2653
2636
|
__decorate([
|
|
2654
2637
|
property({ type: String })
|
|
2655
2638
|
], CollectionBrowser.prototype, "manageViewLabel", void 0);
|