@internetarchive/collection-browser 3.3.1 → 3.3.3

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 (84) 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 +265 -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/hover/hover-pane-controller.d.ts +9 -1
  27. package/dist/src/tiles/hover/hover-pane-controller.js +105 -37
  28. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  29. package/dist/src/tiles/hover/tile-hover-pane.d.ts +1 -0
  30. package/dist/src/tiles/hover/tile-hover-pane.js +115 -112
  31. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  32. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  33. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  34. package/dist/src/tiles/list/tile-list.js +297 -297
  35. package/dist/src/tiles/list/tile-list.js.map +1 -1
  36. package/dist/src/tiles/tile-dispatcher.d.ts +4 -1
  37. package/dist/src/tiles/tile-dispatcher.js +231 -204
  38. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  39. package/dist/src/utils/format-date.js.map +1 -1
  40. package/dist/test/collection-browser.test.js +189 -189
  41. package/dist/test/collection-browser.test.js.map +1 -1
  42. package/dist/test/tiles/grid/item-tile.test.js +77 -77
  43. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  44. package/dist/test/tiles/hover/hover-pane-controller.test.js +68 -21
  45. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  46. package/dist/test/tiles/list/tile-list-compact.test.js +70 -70
  47. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  48. package/dist/test/tiles/list/tile-list.test.js +126 -126
  49. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  50. package/dist/test/tiles/tile-dispatcher.test.js +130 -52
  51. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  52. package/dist/test/utils/format-date.test.js.map +1 -1
  53. package/eslint.config.mjs +53 -53
  54. package/index.html +24 -24
  55. package/local.archive.org.cert +86 -86
  56. package/local.archive.org.key +27 -27
  57. package/package.json +118 -117
  58. package/renovate.json +6 -6
  59. package/src/collection-browser.ts +2829 -2829
  60. package/src/collection-facets/more-facets-content.ts +639 -639
  61. package/src/collection-facets.ts +994 -995
  62. package/src/data-source/collection-browser-data-source.ts +1401 -1401
  63. package/src/data-source/collection-browser-query-state.ts +65 -65
  64. package/src/data-source/models.ts +43 -43
  65. package/src/tiles/base-tile-component.ts +65 -65
  66. package/src/tiles/grid/account-tile.ts +113 -113
  67. package/src/tiles/grid/collection-tile.ts +163 -163
  68. package/src/tiles/grid/item-tile.ts +340 -340
  69. package/src/tiles/hover/hover-pane-controller.ts +613 -517
  70. package/src/tiles/hover/tile-hover-pane.ts +184 -180
  71. package/src/tiles/list/tile-list-compact.ts +239 -239
  72. package/src/tiles/list/tile-list.ts +700 -700
  73. package/src/tiles/tile-dispatcher.ts +517 -490
  74. package/src/utils/format-date.ts +62 -62
  75. package/test/collection-browser.test.ts +2403 -2403
  76. package/test/tiles/grid/item-tile.test.ts +520 -520
  77. package/test/tiles/hover/hover-pane-controller.test.ts +418 -353
  78. package/test/tiles/list/tile-list-compact.test.ts +282 -282
  79. package/test/tiles/list/tile-list.test.ts +552 -552
  80. package/test/tiles/tile-dispatcher.test.ts +283 -187
  81. package/test/utils/format-date.test.ts +89 -89
  82. package/tsconfig.json +20 -20
  83. package/web-dev-server.config.mjs +30 -30
  84. 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,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
271
271
  */
272
272
  get expandDatePickerBtnTemplate() {
273
273
  return this.allowExpandingDatePicker && !this.facetsLoading
274
- ? html `<button
275
- class="expand-date-picker-btn"
276
- aria-hidden="true"
277
- tabindex="-1"
278
- @click=${this.showDatePickerModal}
279
- >
280
- ${expandIcon}
274
+ ? html `<button
275
+ class="expand-date-picker-btn"
276
+ aria-haspopup="dialog"
277
+ @click=${this.showDatePickerModal}
278
+ >
279
+ ${expandIcon}
281
280
  </button>`
282
281
  : nothing;
283
282
  }
@@ -290,26 +289,26 @@ let CollectionFacets = class CollectionFacets extends LitElement {
290
289
  if (!histogramProps)
291
290
  return nothing;
292
291
  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="..."
292
+ return html `
293
+ <histogram-date-range
294
+ class=${this.isTvSearch ? 'wide-inputs' : ''}
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="..."
308
307
  .width=${this.collapsableFacets && this.contentWidth
309
308
  ? this.contentWidth
310
- : 180}
311
- @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
312
- ></histogram-date-range>
309
+ : 180}
310
+ @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
311
+ ></histogram-date-range>
313
312
  `;
314
313
  }
315
314
  /**
@@ -485,8 +484,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
485
484
  return nothing;
486
485
  const { key } = facetGroup;
487
486
  const isOpen = this.openFacets[key];
488
- const collapser = html `
489
- <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
487
+ const collapser = html `
488
+ <span class="collapser ${isOpen ? 'open' : ''}"> ${chevronIcon} </span>
490
489
  `;
491
490
  const toggleCollapsed = () => {
492
491
  const newOpenFacets = { ...this.openFacets };
@@ -496,40 +495,40 @@ let CollectionFacets = class CollectionFacets extends LitElement {
496
495
  // Added data-testid for Playwright testing
497
496
  // Using className and aria-labels is not ideal for Playwright locator
498
497
  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
- >
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
+ >
519
518
  ${this.facetsLoading
520
519
  ? this.getTombstoneFacetGroupTemplate()
521
- : html `
522
- ${this.getFacetTemplate(facetGroup)}
523
- ${this.searchMoreFacetsLink(facetGroup)}
524
- `}
525
- </div>
526
- </section>
520
+ : html `
521
+ ${this.getFacetTemplate(facetGroup)}
522
+ ${this.searchMoreFacetsLink(facetGroup)}
523
+ `}
524
+ </div>
525
+ </section>
527
526
  `;
528
527
  }
529
528
  getTombstoneFacetGroupTemplate() {
530
529
  // Render five tombstone rows
531
- return html `
532
- ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
530
+ return html `
531
+ ${map(Array(5).fill(null), () => html `<facet-tombstone-row></facet-tombstone-row>`)}
533
532
  `;
534
533
  }
535
534
  /**
@@ -554,8 +553,8 @@ let CollectionFacets = class CollectionFacets extends LitElement {
554
553
  const facetSort = defaultFacetSort[facetGroup.key];
555
554
  // Added data-testid for Playwright testing
556
555
  // Using the className is not ideal for Playwright locator
557
- return html `<button
558
- class="more-link"
556
+ return html `<button
557
+ class="more-link"
559
558
  @click=${() => {
560
559
  var _a;
561
560
  this.showMoreFacetsModal(facetGroup, facetSort);
@@ -565,30 +564,30 @@ let CollectionFacets = class CollectionFacets extends LitElement {
565
564
  label: facetGroup.key,
566
565
  });
567
566
  this.dispatchEvent(new CustomEvent('showMoreFacets', { detail: facetGroup.key }));
568
- }}
569
- data-testid="more-link-btn"
570
- >
571
- More...
567
+ }}
568
+ data-testid="more-link-btn"
569
+ >
570
+ More...
572
571
  </button>`;
573
572
  }
574
573
  async showMoreFacetsModal(facetGroup, sortedBy) {
575
574
  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}
575
+ const customModalContent = html `
576
+ <more-facets-content
577
+ .analyticsHandler=${this.analyticsHandler}
578
+ .facetKey=${facetGroup.key}
579
+ .query=${this.query}
580
+ .identifiers=${this.identifiers}
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}
592
591
  @facetsChanged=${(e) => {
593
592
  const event = new CustomEvent('facetsChanged', {
594
593
  detail: e.detail,
@@ -596,9 +595,9 @@ let CollectionFacets = class CollectionFacets extends LitElement {
596
595
  composed: true,
597
596
  });
598
597
  this.dispatchEvent(event);
599
- }}
600
- >
601
- </more-facets-content>
598
+ }}
599
+ >
600
+ </more-facets-content>
602
601
  `;
603
602
  const config = new ModalConfig({
604
603
  bodyColor: '#fff',
@@ -621,12 +620,12 @@ let CollectionFacets = class CollectionFacets extends LitElement {
621
620
  * Generate the list template for each bucket in a facet group
622
621
  */
623
622
  getFacetTemplate(facetGroup) {
624
- return html `
625
- <facets-template
626
- .collectionPagePath=${this.collectionPagePath}
627
- .facetGroup=${facetGroup}
628
- .selectedFacets=${this.selectedFacets}
629
- .collectionTitles=${this.collectionTitles}
623
+ return html `
624
+ <facets-template
625
+ .collectionPagePath=${this.collectionPagePath}
626
+ .facetGroup=${facetGroup}
627
+ .selectedFacets=${this.selectedFacets}
628
+ .collectionTitles=${this.collectionTitles}
630
629
  @facetClick=${(e) => {
631
630
  this.selectedFacets = updateSelectedFacetBucket(this.selectedFacets, facetGroup.key, e.detail.bucket, true);
632
631
  const event = new CustomEvent('facetsChanged', {
@@ -635,134 +634,134 @@ let CollectionFacets = class CollectionFacets extends LitElement {
635
634
  composed: true,
636
635
  });
637
636
  this.dispatchEvent(event);
638
- }}
639
- ></facets-template>
637
+ }}
638
+ ></facets-template>
640
639
  `;
641
640
  }
642
641
  static get styles() {
643
642
  return [
644
643
  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
- }
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
+ margin-top: 0.25rem;
732
+ background: inherit;
733
+ border: 0;
734
+ color: var(--ia-theme-link-color, #4b64ff);
735
+ cursor: pointer;
736
+ }
737
+
738
+ #date-picker-label {
739
+ display: flex;
740
+ justify-content: space-between;
741
+ }
742
+
743
+ .expand-date-picker-btn {
744
+ margin: 0;
745
+ padding: 0;
746
+ border: 0;
747
+ appearance: none;
748
+ background: none;
749
+ cursor: pointer;
750
+ }
751
+
752
+ .expand-date-picker-btn > svg {
753
+ width: 14px;
754
+ height: 14px;
755
+ }
756
+
757
+ .sorting-icon {
758
+ height: 15px;
759
+ cursor: pointer;
760
+ }
761
+
762
+ histogram-date-range.wide-inputs {
763
+ --histogramDateRangeInputWidth: 4.8rem;
764
+ }
766
765
  `,
767
766
  ];
768
767
  }