@internetarchive/collection-browser 3.3.0 → 3.3.1-alpha3

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