@internetarchive/collection-browser 3.0.0 → 3.0.1-webdev-7936.0

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