@internetarchive/collection-browser 2.17.1-alpha-webdev7667.0 → 2.18.1-alpha-webdev7768.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 (45) hide show
  1. package/.github/workflows/ci.yml +27 -27
  2. package/.github/workflows/gh-pages-main.yml +39 -39
  3. package/.github/workflows/npm-publish.yml +39 -39
  4. package/.github/workflows/pr-preview.yml +38 -38
  5. package/.prettierignore +1 -1
  6. package/dist/src/app-root.d.ts +0 -3
  7. package/dist/src/app-root.js +0 -91
  8. package/dist/src/app-root.js.map +1 -1
  9. package/dist/src/collection-browser.js +682 -682
  10. package/dist/src/collection-browser.js.map +1 -1
  11. package/dist/src/collection-facets.js +259 -259
  12. package/dist/src/collection-facets.js.map +1 -1
  13. package/dist/src/expanded-date-picker.js +50 -50
  14. package/dist/src/expanded-date-picker.js.map +1 -1
  15. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +1 -1
  16. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
  17. package/dist/src/tiles/tile-dispatcher.js +1 -1
  18. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  19. package/dist/test/collection-browser.test.js +58 -3
  20. package/dist/test/collection-browser.test.js.map +1 -1
  21. package/dist/test/image-block.test.js +21 -0
  22. package/dist/test/image-block.test.js.map +1 -1
  23. package/dist/test/item-image.test.js +73 -0
  24. package/dist/test/item-image.test.js.map +1 -1
  25. package/dist/test/mocks/mock-search-responses.d.ts +2 -0
  26. package/dist/test/mocks/mock-search-responses.js +96 -0
  27. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  28. package/dist/test/mocks/mock-search-service.d.ts +1 -0
  29. package/dist/test/mocks/mock-search-service.js +7 -1
  30. package/dist/test/mocks/mock-search-service.js.map +1 -1
  31. package/eslint.config.mjs +53 -53
  32. package/index.html +24 -24
  33. package/package.json +117 -117
  34. package/src/app-root.ts +0 -97
  35. package/src/collection-browser.ts +2712 -2712
  36. package/src/collection-facets.ts +966 -966
  37. package/src/expanded-date-picker.ts +175 -175
  38. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +1 -1
  39. package/src/tiles/tile-dispatcher.ts +1 -1
  40. package/test/collection-browser.test.ts +86 -2
  41. package/test/image-block.test.ts +24 -0
  42. package/test/item-image.test.ts +86 -0
  43. package/test/mocks/mock-search-responses.ts +104 -0
  44. package/test/mocks/mock-search-service.ts +11 -0
  45. package/tsconfig.json +20 -20
@@ -615,7 +615,7 @@ describe('Collection Browser', () => {
615
615
  expect(resultsSpy.callCount).to.equal(0);
616
616
  });
617
617
  it('sets sort properties when user changes sort', async () => {
618
- var _a, _b, _c, _d;
618
+ var _a, _b, _c, _d, _e, _f;
619
619
  const searchService = new MockSearchService();
620
620
  const el = await fixture(html `<collection-browser .searchService=${searchService}>
621
621
  </collection-browser>`);
@@ -627,11 +627,15 @@ describe('Collection Browser', () => {
627
627
  const sortSelector = (_b = sortBar === null || sortBar === void 0 ? void 0 : sortBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#desktop-sort-selector');
628
628
  expect(sortSelector, 'sort bar').to.exist;
629
629
  // Click the title sorter
630
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
631
- (_d = (_c = [...sortSelector === null || sortSelector === void 0 ? void 0 : sortSelector.children] // tsc doesn't know children is iterable
630
+ (_d = (_c = Array.from(sortSelector.children)
632
631
  .find(child => { var _a; return ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === 'Title'; })) === null || _c === void 0 ? void 0 : _c.querySelector('button')) === null || _d === void 0 ? void 0 : _d.click();
633
632
  await el.updateComplete;
634
633
  expect(el.selectedSort).to.equal(SortField.title);
634
+ // Click the creator sorter
635
+ (_f = (_e = Array.from(sortSelector.children)
636
+ .find(child => { var _a; return ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === 'Creator'; })) === null || _e === void 0 ? void 0 : _e.querySelector('button')) === null || _f === void 0 ? void 0 : _f.click();
637
+ await el.updateComplete;
638
+ expect(el.selectedSort).to.equal(SortField.creator);
635
639
  });
636
640
  it('sets sort filter properties when user selects title filter', async () => {
637
641
  var _a, _b, _c, _d;
@@ -757,8 +761,10 @@ describe('Collection Browser', () => {
757
761
  it('sets date range query when date picker selection changed', async () => {
758
762
  var _a, _b, _c;
759
763
  const searchService = new MockSearchService();
764
+ const mockAnalyticsHandler = new MockAnalyticsHandler();
760
765
  const el = await fixture(html `<collection-browser
761
766
  .searchService=${searchService}
767
+ .analyticsHandler=${mockAnalyticsHandler}
762
768
  .suppressPlaceholders=${true}
763
769
  >
764
770
  </collection-browser>`);
@@ -1530,6 +1536,55 @@ describe('Collection Browser', () => {
1530
1536
  expect((_d = manageBar === null || manageBar === void 0 ? void 0 : manageBar.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.danger:disabled')).to.be
1531
1537
  .exist;
1532
1538
  });
1539
+ it('shows Blurring checkbox for admin users', async () => {
1540
+ var _a;
1541
+ const searchService = new MockSearchService();
1542
+ const el = await fixture(html `<collection-browser
1543
+ .baseNavigationUrl=${''}
1544
+ .searchService=${searchService}
1545
+ >
1546
+ </collection-browser>`);
1547
+ el.baseQuery = 'archive-org-user-loggedin';
1548
+ await el.updateComplete;
1549
+ await el.initialSearchComplete;
1550
+ const blurringCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#tile-blur-check');
1551
+ expect(blurringCheck).to.exist;
1552
+ expect(blurringCheck.checked).to.be.true;
1553
+ });
1554
+ it('unchecks Blurring checkbox for admin users with blurring preference off', async () => {
1555
+ var _a;
1556
+ const searchService = new MockSearchService();
1557
+ const el = await fixture(html `<collection-browser
1558
+ .baseNavigationUrl=${''}
1559
+ .searchService=${searchService}
1560
+ >
1561
+ </collection-browser>`);
1562
+ el.baseQuery = 'archive-org-user-loggedin-noblur';
1563
+ await el.updateComplete;
1564
+ await el.initialSearchComplete;
1565
+ const blurringCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#tile-blur-check');
1566
+ expect(blurringCheck).to.exist;
1567
+ expect(blurringCheck.checked).to.be.false;
1568
+ });
1569
+ it('toggles blur state when Blurring checkbox is toggled', async () => {
1570
+ var _a, _b, _c;
1571
+ const searchService = new MockSearchService();
1572
+ const el = await fixture(html `<collection-browser
1573
+ .baseNavigationUrl=${''}
1574
+ .searchService=${searchService}
1575
+ >
1576
+ </collection-browser>`);
1577
+ el.baseQuery = 'archive-org-user-loggedin';
1578
+ await el.updateComplete;
1579
+ await el.initialSearchComplete;
1580
+ const blurringCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#tile-blur-check');
1581
+ expect(blurringCheck).to.exist;
1582
+ blurringCheck.dispatchEvent(new PointerEvent('click'));
1583
+ await el.updateComplete;
1584
+ const infiniteScroller = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('infinite-scroller');
1585
+ const firstTile = (_c = infiniteScroller === null || infiniteScroller === void 0 ? void 0 : infiniteScroller.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('tile-dispatcher');
1586
+ expect(firstTile.suppressBlurring).to.be.true;
1587
+ });
1533
1588
  it('applies loans tab properties to sort bar', async () => {
1534
1589
  var _a;
1535
1590
  const searchService = new MockSearchService();