@internetarchive/collection-browser 3.4.1-alpha-webdev7761.2 → 3.4.1-alpha-webdev7761.4

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 (208) hide show
  1. package/dist/src/app-root.js +19 -28
  2. package/dist/src/app-root.js.map +1 -1
  3. package/dist/src/collection-browser.d.ts +14 -10
  4. package/dist/src/collection-browser.js +870 -886
  5. package/dist/src/collection-browser.js.map +1 -1
  6. package/dist/src/collection-facets/facet-row.js +3 -4
  7. package/dist/src/collection-facets/facet-row.js.map +1 -1
  8. package/dist/src/collection-facets/models.js.map +1 -1
  9. package/dist/src/collection-facets/more-facets-content.js +145 -156
  10. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  11. package/dist/src/collection-facets/more-facets-pagination.js +6 -10
  12. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  13. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js +16 -21
  14. package/dist/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.js.map +1 -1
  15. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +7 -10
  16. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  17. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +3 -2
  18. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  19. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +9 -11
  20. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  21. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +7 -7
  22. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  23. package/dist/src/collection-facets/toggle-switch.js +4 -6
  24. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  25. package/dist/src/collection-facets.js +34 -50
  26. package/dist/src/collection-facets.js.map +1 -1
  27. package/dist/src/combo-box/caret-closed.js +5 -11
  28. package/dist/src/combo-box/caret-closed.js.map +1 -1
  29. package/dist/src/combo-box/caret-open.js +5 -11
  30. package/dist/src/combo-box/caret-open.js.map +1 -1
  31. package/dist/src/combo-box/clear.d.ts +2 -0
  32. package/dist/src/combo-box/clear.js +11 -0
  33. package/dist/src/combo-box/clear.js.map +1 -0
  34. package/dist/src/combo-box/ia-combo-box.d.ts +40 -9
  35. package/dist/src/combo-box/ia-combo-box.js +363 -272
  36. package/dist/src/combo-box/ia-combo-box.js.map +1 -1
  37. package/dist/src/combo-box/models.d.ts +14 -0
  38. package/dist/src/combo-box/models.js +32 -1
  39. package/dist/src/combo-box/models.js.map +1 -1
  40. package/dist/src/data-source/collection-browser-data-source.js +35 -47
  41. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  42. package/dist/src/empty-placeholder.js +19 -18
  43. package/dist/src/empty-placeholder.js.map +1 -1
  44. package/dist/src/expanded-date-picker.js +6 -10
  45. package/dist/src/expanded-date-picker.js.map +1 -1
  46. package/dist/src/language-code-handler/language-code-handler.js +2 -2
  47. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  48. package/dist/src/manage/manage-bar.js +86 -92
  49. package/dist/src/manage/manage-bar.js.map +1 -1
  50. package/dist/src/manage/remove-items-modal-content.js +2 -2
  51. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  52. package/dist/src/models.js +36 -40
  53. package/dist/src/models.js.map +1 -1
  54. package/dist/src/restoration-state-handler.js +9 -10
  55. package/dist/src/restoration-state-handler.js.map +1 -1
  56. package/dist/src/sort-filter-bar/alpha-bar.js +9 -14
  57. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  58. package/dist/src/sort-filter-bar/sort-filter-bar.js +14 -24
  59. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  60. package/dist/src/tiles/base-tile-component.js +1 -2
  61. package/dist/src/tiles/base-tile-component.js.map +1 -1
  62. package/dist/src/tiles/grid/account-tile.js +36 -38
  63. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  64. package/dist/src/tiles/grid/collection-tile.js +79 -82
  65. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  66. package/dist/src/tiles/grid/item-tile.js +154 -164
  67. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  68. package/dist/src/tiles/grid/search-tile.js +42 -43
  69. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  70. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +119 -119
  71. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
  72. package/dist/src/tiles/grid/tile-stats.js +2 -3
  73. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  74. package/dist/src/tiles/hover/hover-pane-controller.js +42 -49
  75. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  76. package/dist/src/tiles/hover/tile-hover-pane.js +113 -114
  77. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  78. package/dist/src/tiles/image-block.js +5 -8
  79. package/dist/src/tiles/image-block.js.map +1 -1
  80. package/dist/src/tiles/item-image.js +12 -19
  81. package/dist/src/tiles/item-image.js.map +1 -1
  82. package/dist/src/tiles/list/tile-list-compact.js +114 -122
  83. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  84. package/dist/src/tiles/list/tile-list.js +326 -347
  85. package/dist/src/tiles/list/tile-list.js.map +1 -1
  86. package/dist/src/tiles/overlay/icon-overlay.js +1 -2
  87. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  88. package/dist/src/tiles/overlay/text-overlay.js +2 -4
  89. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  90. package/dist/src/tiles/text-snippet-block.js +2 -4
  91. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  92. package/dist/src/tiles/tile-dispatcher.js +233 -241
  93. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  94. package/dist/src/tiles/tile-display-value-provider.js +5 -9
  95. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  96. package/dist/src/tiles/tile-mediatype-icon.js +12 -19
  97. package/dist/src/tiles/tile-mediatype-icon.js.map +1 -1
  98. package/dist/src/utils/collapse-repeated-quotes.js +1 -1
  99. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -1
  100. package/dist/src/utils/facet-utils.js +3 -5
  101. package/dist/src/utils/facet-utils.js.map +1 -1
  102. package/dist/src/utils/format-count.js +10 -10
  103. package/dist/src/utils/format-count.js.map +1 -1
  104. package/dist/src/utils/format-date.js.map +1 -1
  105. package/dist/src/utils/resolve-mediatype.js +2 -3
  106. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  107. package/dist/test/collection-browser.test.js +131 -185
  108. package/dist/test/collection-browser.test.js.map +1 -1
  109. package/dist/test/collection-facets/facet-row.test.js +60 -75
  110. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  111. package/dist/test/collection-facets/facets-template.test.js +17 -23
  112. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  113. package/dist/test/collection-facets/more-facets-content.test.js +22 -32
  114. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  115. package/dist/test/collection-facets/more-facets-pagination.test.js +16 -22
  116. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  117. package/dist/test/collection-facets/toggle-switch.test.js +22 -19
  118. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  119. package/dist/test/collection-facets.test.js +80 -97
  120. package/dist/test/collection-facets.test.js.map +1 -1
  121. package/dist/test/empty-placeholder.test.js +11 -17
  122. package/dist/test/empty-placeholder.test.js.map +1 -1
  123. package/dist/test/expanded-date-picker.test.js +8 -14
  124. package/dist/test/expanded-date-picker.test.js.map +1 -1
  125. package/dist/test/icon-overlay.test.js +7 -6
  126. package/dist/test/icon-overlay.test.js.map +1 -1
  127. package/dist/test/image-block.test.js +16 -26
  128. package/dist/test/image-block.test.js.map +1 -1
  129. package/dist/test/item-image.test.js +23 -32
  130. package/dist/test/item-image.test.js.map +1 -1
  131. package/dist/test/manage/manage-bar.test.js +21 -33
  132. package/dist/test/manage/manage-bar.test.js.map +1 -1
  133. package/dist/test/manage/remove-items-modal-content.test.js +10 -15
  134. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  135. package/dist/test/mocks/mock-search-service.js +2 -3
  136. package/dist/test/mocks/mock-search-service.js.map +1 -1
  137. package/dist/test/restoration-state-handler.test.js +13 -21
  138. package/dist/test/restoration-state-handler.test.js.map +1 -1
  139. package/dist/test/review-block.test.js +16 -18
  140. package/dist/test/review-block.test.js.map +1 -1
  141. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +2 -3
  142. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  143. package/dist/test/sort-filter-bar/alpha-bar.test.js +18 -24
  144. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  145. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +178 -180
  146. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  147. package/dist/test/text-overlay.test.js +16 -15
  148. package/dist/test/text-overlay.test.js.map +1 -1
  149. package/dist/test/text-snippet-block.test.js +14 -19
  150. package/dist/test/text-snippet-block.test.js.map +1 -1
  151. package/dist/test/tile-stats.test.js +73 -34
  152. package/dist/test/tile-stats.test.js.map +1 -1
  153. package/dist/test/tiles/grid/account-tile.test.js +25 -25
  154. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  155. package/dist/test/tiles/grid/collection-tile.test.js +13 -19
  156. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  157. package/dist/test/tiles/grid/item-tile.test.js +141 -168
  158. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  159. package/dist/test/tiles/grid/search-tile.test.js +9 -13
  160. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  161. package/dist/test/tiles/hover/hover-pane-controller.test.js +50 -62
  162. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  163. package/dist/test/tiles/hover/tile-hover-pane.test.js +12 -16
  164. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  165. package/dist/test/tiles/list/tile-list-compact.test.js +104 -118
  166. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  167. package/dist/test/tiles/list/tile-list.test.js +202 -231
  168. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  169. package/dist/test/tiles/tile-dispatcher.test.js +97 -110
  170. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  171. package/dist/test/tiles/tile-mediatype-icon.test.js +12 -24
  172. package/dist/test/tiles/tile-mediatype-icon.test.js.map +1 -1
  173. package/dist/test/utils/format-date.test.js.map +1 -1
  174. package/index.html +1 -1
  175. package/package.json +5 -3
  176. package/src/collection-browser.ts +3060 -3030
  177. package/src/collection-facets/models.ts +10 -10
  178. package/src/collection-facets/more-facets-content.ts +639 -639
  179. package/src/collection-facets.ts +1 -1
  180. package/src/combo-box/caret-closed.ts +5 -11
  181. package/src/combo-box/caret-open.ts +5 -11
  182. package/src/combo-box/clear.ts +11 -0
  183. package/src/combo-box/ia-combo-box.ts +1288 -1180
  184. package/src/combo-box/models.ts +31 -1
  185. package/src/manage/manage-bar.ts +247 -247
  186. package/src/restoration-state-handler.ts +5 -1
  187. package/src/tiles/base-tile-component.ts +65 -65
  188. package/src/tiles/grid/account-tile.ts +113 -113
  189. package/src/tiles/grid/collection-tile.ts +163 -163
  190. package/src/tiles/grid/item-tile.ts +340 -340
  191. package/src/tiles/grid/search-tile.ts +90 -90
  192. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +130 -130
  193. package/src/tiles/hover/hover-pane-controller.ts +613 -613
  194. package/src/tiles/hover/tile-hover-pane.ts +184 -184
  195. package/src/tiles/list/tile-list-compact.ts +239 -239
  196. package/src/tiles/list/tile-list.ts +700 -700
  197. package/src/tiles/tile-dispatcher.ts +517 -517
  198. package/src/utils/format-date.ts +62 -62
  199. package/test/collection-facets/facet-row.test.ts +375 -375
  200. package/test/collection-facets.test.ts +928 -928
  201. package/test/tiles/grid/item-tile.test.ts +520 -520
  202. package/test/tiles/hover/hover-pane-controller.test.ts +418 -418
  203. package/test/tiles/list/tile-list-compact.test.ts +282 -282
  204. package/test/tiles/list/tile-list.test.ts +552 -552
  205. package/test/tiles/tile-dispatcher.test.ts +283 -283
  206. package/test/utils/format-date.test.ts +89 -89
  207. package/tsconfig.json +8 -3
  208. package/vite.config.ts +29 -22
@@ -9,12 +9,11 @@ describe('Sort selector default buttons', async () => {
9
9
  let sortSelectorContainer;
10
10
  let desktopSortSelector;
11
11
  beforeEach(async () => {
12
- var _a;
13
12
  el = await fixture(html `
14
13
  <sort-filter-bar></sort-filter-bar>
15
14
  `);
16
- sortSelectorContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#sort-selector-container');
17
- desktopSortSelector = sortSelectorContainer === null || sortSelectorContainer === void 0 ? void 0 : sortSelectorContainer.querySelector('#desktop-sort-selector');
15
+ sortSelectorContainer = el.shadowRoot?.querySelector('#sort-selector-container');
16
+ desktopSortSelector = sortSelectorContainer?.querySelector('#desktop-sort-selector');
18
17
  el.resizeObserver = new SharedResizeObserver();
19
18
  await el.updateComplete;
20
19
  });
@@ -23,48 +22,44 @@ describe('Sort selector default buttons', async () => {
23
22
  expect(desktopSortSelector).to.exist;
24
23
  });
25
24
  it('should render sort-by label', async () => {
26
- var _a, _b;
27
- const sortByLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-by-text');
25
+ const sortByLabel = el.shadowRoot?.querySelector('.sort-by-text');
28
26
  expect(sortByLabel).to.exist;
29
- expect((_b = sortByLabel === null || sortByLabel === void 0 ? void 0 : sortByLabel.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Sort by:');
27
+ expect(sortByLabel?.textContent?.trim()).to.equal('Sort by:');
30
28
  });
31
29
  it('should render sort direction button', async () => {
32
- var _a;
33
- const sortDirections = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-container');
30
+ const sortDirections = el.shadowRoot?.querySelector('.sort-direction-container');
34
31
  expect(sortDirections).to.exist;
35
- expect(sortDirections === null || sortDirections === void 0 ? void 0 : sortDirections.querySelector('.sort-direction-icon')).to.exist;
32
+ expect(sortDirections?.querySelector('.sort-direction-icon')).to.exist;
36
33
  });
37
34
  it('renders default set of sort options if not overridden', async () => {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
39
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
35
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
40
36
  expect(allSortSelectors).to.exist;
41
37
  expect(allSortSelectors.length).to.equal(3);
42
- expect((_b = (_a = allSortSelectors[0]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Relevance');
43
- expect((_d = (_c = allSortSelectors[1]) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('Title');
44
- expect((_f = (_e = allSortSelectors[2]) === null || _e === void 0 ? void 0 : _e.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('Creator');
45
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
38
+ expect(allSortSelectors[0]?.textContent?.trim()).to.equal('Relevance');
39
+ expect(allSortSelectors[1]?.textContent?.trim()).to.equal('Title');
40
+ expect(allSortSelectors[2]?.textContent?.trim()).to.equal('Creator');
41
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
46
42
  expect(allSortDropdowns).to.exist;
47
43
  expect(allSortDropdowns.length).to.equal(2);
48
- expect((_g = allSortDropdowns[0]) === null || _g === void 0 ? void 0 : _g.options.length).to.equal(2);
49
- expect((_h = allSortDropdowns[0]) === null || _h === void 0 ? void 0 : _h.options.map(o => o.id)).to.deep.equal([
44
+ expect(allSortDropdowns[0]?.options.length).to.equal(2);
45
+ expect(allSortDropdowns[0]?.options.map(o => o.id)).to.deep.equal([
50
46
  SortField.weeklyview,
51
47
  SortField.alltimeview,
52
48
  ]);
53
- expect((_k = (_j = allSortDropdowns[0]) === null || _j === void 0 ? void 0 : _j.textContent) === null || _k === void 0 ? void 0 : _k.trim()).to.equal('Weekly views');
54
- expect((_l = allSortDropdowns[1]) === null || _l === void 0 ? void 0 : _l.options.length).to.equal(4);
55
- expect((_m = allSortDropdowns[1]) === null || _m === void 0 ? void 0 : _m.options.map(o => o.id)).to.deep.equal([
49
+ expect(allSortDropdowns[0]?.textContent?.trim()).to.equal('Weekly views');
50
+ expect(allSortDropdowns[1]?.options.length).to.equal(4);
51
+ expect(allSortDropdowns[1]?.options.map(o => o.id)).to.deep.equal([
56
52
  SortField.date,
57
53
  SortField.datearchived,
58
54
  SortField.datereviewed,
59
55
  SortField.dateadded,
60
56
  ]);
61
- expect((_p = (_o = allSortDropdowns[1]) === null || _o === void 0 ? void 0 : _o.textContent) === null || _p === void 0 ? void 0 : _p.trim()).to.equal('Date published');
57
+ expect(allSortDropdowns[1]?.textContent?.trim()).to.equal('Date published');
62
58
  // Relevance selected by default
63
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('button.selected');
64
- expect((_q = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _q === void 0 ? void 0 : _q.trim()).to.equal('Relevance');
59
+ const defaultSortSelector = desktopSortSelector?.querySelector('button.selected');
60
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Relevance');
65
61
  });
66
62
  it('renders an overridden set of sort options if specified', async () => {
67
- var _a, _b, _c, _d, _e, _f;
68
63
  const customSortAvailability = {
69
64
  ...defaultSortAvailability,
70
65
  [SortField.title]: false,
@@ -75,27 +70,26 @@ describe('Sort selector default buttons', async () => {
75
70
  };
76
71
  el.sortFieldAvailability = customSortAvailability;
77
72
  await el.updateComplete;
78
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
73
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
79
74
  expect(allSortSelectors).to.exist;
80
75
  expect(allSortSelectors.length).to.equal(1);
81
- expect((_b = (_a = allSortSelectors[0]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Relevance');
82
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
76
+ expect(allSortSelectors[0]?.textContent?.trim()).to.equal('Relevance');
77
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
83
78
  expect(allSortDropdowns).to.exist;
84
79
  expect(allSortDropdowns.length).to.equal(2);
85
- expect((_c = allSortDropdowns[0]) === null || _c === void 0 ? void 0 : _c.options.length).to.equal(2);
86
- expect((_d = allSortDropdowns[0]) === null || _d === void 0 ? void 0 : _d.options.map(o => o.id)).to.deep.equal([
80
+ expect(allSortDropdowns[0]?.options.length).to.equal(2);
81
+ expect(allSortDropdowns[0]?.options.map(o => o.id)).to.deep.equal([
87
82
  SortField.weeklyview,
88
83
  SortField.alltimeview,
89
84
  ]);
90
- expect((_e = allSortDropdowns[1]) === null || _e === void 0 ? void 0 : _e.options.length).to.equal(3);
91
- expect((_f = allSortDropdowns[1]) === null || _f === void 0 ? void 0 : _f.options.map(o => o.id)).to.deep.equal([
85
+ expect(allSortDropdowns[1]?.options.length).to.equal(3);
86
+ expect(allSortDropdowns[1]?.options.map(o => o.id)).to.deep.equal([
92
87
  SortField.datefavorited,
93
88
  SortField.date,
94
89
  SortField.dateadded,
95
90
  ]);
96
91
  });
97
92
  it('renders a views button instead of a dropdown if it would only have one option', async () => {
98
- var _a, _b, _c, _d, _e, _f, _g, _h;
99
93
  const customSortAvailability = {
100
94
  ...defaultSortAvailability,
101
95
  // Disable weekly views (but keep All-time Views)
@@ -103,19 +97,18 @@ describe('Sort selector default buttons', async () => {
103
97
  };
104
98
  el.sortFieldAvailability = customSortAvailability;
105
99
  await el.updateComplete;
106
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
100
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
107
101
  expect(allSortSelectors).to.exist;
108
102
  expect(allSortSelectors.length).to.equal(4);
109
- expect((_b = (_a = allSortSelectors[0]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Relevance');
110
- expect((_d = (_c = allSortSelectors[1]) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('All-time views');
111
- expect((_f = (_e = allSortSelectors[2]) === null || _e === void 0 ? void 0 : _e.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('Title');
112
- expect((_h = (_g = allSortSelectors[3]) === null || _g === void 0 ? void 0 : _g.textContent) === null || _h === void 0 ? void 0 : _h.trim()).to.equal('Creator');
113
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
103
+ expect(allSortSelectors[0]?.textContent?.trim()).to.equal('Relevance');
104
+ expect(allSortSelectors[1]?.textContent?.trim()).to.equal('All-time views');
105
+ expect(allSortSelectors[2]?.textContent?.trim()).to.equal('Title');
106
+ expect(allSortSelectors[3]?.textContent?.trim()).to.equal('Creator');
107
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
114
108
  expect(allSortDropdowns).to.exist;
115
109
  expect(allSortDropdowns.length).to.equal(1);
116
110
  });
117
111
  it('renders a date button instead of a dropdown if it would only have one option', async () => {
118
- var _a, _b, _c, _d, _e, _f, _g, _h;
119
112
  const customSortAvailability = {
120
113
  ...defaultSortAvailability,
121
114
  // Disable all default dates except Date Added
@@ -125,19 +118,18 @@ describe('Sort selector default buttons', async () => {
125
118
  };
126
119
  el.sortFieldAvailability = customSortAvailability;
127
120
  await el.updateComplete;
128
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
121
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
129
122
  expect(allSortSelectors).to.exist;
130
123
  expect(allSortSelectors.length).to.equal(4);
131
- expect((_b = (_a = allSortSelectors[0]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Relevance');
132
- expect((_d = (_c = allSortSelectors[1]) === null || _c === void 0 ? void 0 : _c.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.equal('Title');
133
- expect((_f = (_e = allSortSelectors[2]) === null || _e === void 0 ? void 0 : _e.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.equal('Date added');
134
- expect((_h = (_g = allSortSelectors[3]) === null || _g === void 0 ? void 0 : _g.textContent) === null || _h === void 0 ? void 0 : _h.trim()).to.equal('Creator');
135
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
124
+ expect(allSortSelectors[0]?.textContent?.trim()).to.equal('Relevance');
125
+ expect(allSortSelectors[1]?.textContent?.trim()).to.equal('Title');
126
+ expect(allSortSelectors[2]?.textContent?.trim()).to.equal('Date added');
127
+ expect(allSortSelectors[3]?.textContent?.trim()).to.equal('Creator');
128
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
136
129
  expect(allSortDropdowns).to.exist;
137
130
  expect(allSortDropdowns.length).to.equal(1);
138
131
  });
139
132
  it('does not render a views dropdown that would have zero available options', async () => {
140
- var _a, _b;
141
133
  const customSortAvailability = {
142
134
  ...defaultSortAvailability,
143
135
  // Disable all view sorts
@@ -146,16 +138,15 @@ describe('Sort selector default buttons', async () => {
146
138
  };
147
139
  el.sortFieldAvailability = customSortAvailability;
148
140
  await el.updateComplete;
149
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
141
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
150
142
  expect(allSortSelectors).to.exist;
151
143
  expect(allSortSelectors.length).to.equal(3);
152
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
144
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
153
145
  expect(allSortDropdowns).to.exist;
154
146
  expect(allSortDropdowns.length).to.equal(1);
155
- expect((_b = (_a = allSortDropdowns[0].options) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id).to.equal(SortField.date);
147
+ expect(allSortDropdowns[0].options?.[0]?.id).to.equal(SortField.date);
156
148
  });
157
149
  it('does not render a date dropdown that would have zero available options', async () => {
158
- var _a, _b;
159
150
  const customSortAvailability = {
160
151
  ...defaultSortAvailability,
161
152
  // Disable all date sorts
@@ -166,226 +157,235 @@ describe('Sort selector default buttons', async () => {
166
157
  };
167
158
  el.sortFieldAvailability = customSortAvailability;
168
159
  await el.updateComplete;
169
- const allSortSelectors = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('button');
160
+ const allSortSelectors = desktopSortSelector?.querySelectorAll('button');
170
161
  expect(allSortSelectors).to.exist;
171
162
  expect(allSortSelectors.length).to.equal(3);
172
- const allSortDropdowns = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelectorAll('ia-dropdown');
163
+ const allSortDropdowns = desktopSortSelector?.querySelectorAll('ia-dropdown');
173
164
  expect(allSortDropdowns).to.exist;
174
165
  expect(allSortDropdowns.length).to.equal(1);
175
- expect((_b = (_a = allSortDropdowns[0].options) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id).to.equal(SortField.weeklyview);
166
+ expect(allSortDropdowns[0].options?.[0]?.id).to.equal(SortField.weeklyview);
176
167
  });
177
168
  it('allows changing the default views sort shown', async () => {
178
- var _a, _b;
179
169
  el.defaultViewSort = SortField.alltimeview;
180
170
  await el.updateComplete;
181
- const viewsDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#views-dropdown');
171
+ const viewsDropdown = el.shadowRoot?.querySelector('#views-dropdown');
182
172
  expect(viewsDropdown).to.exist;
183
- expect((_b = viewsDropdown.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('All-time views');
173
+ expect(viewsDropdown.textContent?.trim()).to.equal('All-time views');
184
174
  });
185
175
  it('allows changing the default date sort shown', async () => {
186
- var _a, _b;
187
176
  el.defaultDateSort = SortField.datereviewed;
188
177
  await el.updateComplete;
189
- const dateDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#date-dropdown');
178
+ const dateDropdown = el.shadowRoot?.querySelector('#date-dropdown');
190
179
  expect(dateDropdown).to.exist;
191
- expect((_b = dateDropdown.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Date reviewed');
180
+ expect(dateDropdown.textContent?.trim()).to.equal('Date reviewed');
192
181
  });
193
182
  it('should render default view-sort selector', async () => {
194
- var _a, _b;
195
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
196
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Weekly views');
183
+ const defaultSortSelector = desktopSortSelector?.children
184
+ .item(1)
185
+ ?.querySelector('ia-dropdown');
186
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Weekly views');
197
187
  });
198
188
  it('should render active view-sort selectors', async () => {
199
- var _a;
200
189
  el.selectedSort = 'alltimeview';
201
190
  await el.updateComplete;
202
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
203
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('All-time views');
191
+ const defaultSortSelector = desktopSortSelector?.querySelector('ia-dropdown.selected');
192
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('All-time views');
204
193
  });
205
194
  it('should render default title-sort selector', async () => {
206
- var _a, _b;
207
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
208
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Title');
195
+ const defaultSortSelector = desktopSortSelector?.children
196
+ .item(2)
197
+ ?.querySelector('button');
198
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Title');
209
199
  });
210
200
  it('should render default date-sort selector', async () => {
211
- var _a, _b;
212
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
213
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Date published');
201
+ const defaultSortSelector = desktopSortSelector?.children
202
+ .item(3)
203
+ ?.querySelector('ia-dropdown');
204
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Date published');
214
205
  });
215
206
  it('should render active date-sort selectors', async () => {
216
- var _a;
217
207
  el.selectedSort = 'datereviewed';
218
208
  await el.updateComplete;
219
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
220
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('Date reviewed');
209
+ const defaultSortSelector = desktopSortSelector?.querySelector('ia-dropdown.selected');
210
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Date reviewed');
221
211
  });
222
212
  it('should render default creator-sort selector', async () => {
223
- var _a, _b;
224
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
225
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Creator');
213
+ const defaultSortSelector = desktopSortSelector?.children
214
+ .item(4)
215
+ ?.querySelector('button');
216
+ expect(defaultSortSelector?.textContent?.trim()).to.equal('Creator');
226
217
  });
227
218
  it('handles click event on view-sort selector', async () => {
228
- var _a;
229
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
230
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
219
+ const defaultSortSelector = desktopSortSelector?.children
220
+ .item(1)
221
+ ?.querySelector('.dropdown-label');
222
+ defaultSortSelector?.click();
231
223
  await el.updateComplete;
232
224
  expect(el.selectedSort).to.equal('weeklyview');
233
225
  });
234
226
  it('handles click event on title selector', async () => {
235
- var _a;
236
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
237
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
227
+ const defaultSortSelector = desktopSortSelector?.children
228
+ .item(2)
229
+ ?.querySelector('button');
230
+ defaultSortSelector?.click();
238
231
  await el.updateComplete;
239
232
  expect(el.selectedSort).to.equal('title');
240
233
  });
241
234
  it('handles click event on date-sort selector', async () => {
242
- var _a;
243
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
244
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
235
+ const defaultSortSelector = desktopSortSelector?.children
236
+ .item(3)
237
+ ?.querySelector('.dropdown-label');
238
+ defaultSortSelector?.click();
245
239
  await el.updateComplete;
246
240
  expect(el.selectedSort).to.equal('date');
247
241
  });
248
242
  it('handles click event on creator selector', async () => {
249
- var _a;
250
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
251
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
243
+ const defaultSortSelector = desktopSortSelector?.children
244
+ .item(4)
245
+ ?.querySelector('button');
246
+ defaultSortSelector?.click();
252
247
  await el.updateComplete;
253
248
  expect(el.selectedSort).to.equal('creator');
254
249
  });
255
250
  it('handles click event on relevance selector', async () => {
256
- var _a;
257
251
  el.sortFieldAvailability = {
258
252
  ...el.sortFieldAvailability,
259
253
  [SortField.relevance]: true,
260
254
  };
261
255
  el.selectedSort = 'title';
262
256
  await el.updateComplete;
263
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(0)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
264
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
257
+ const defaultSortSelector = desktopSortSelector?.children
258
+ .item(0)
259
+ ?.querySelector('button');
260
+ defaultSortSelector?.click();
265
261
  await el.updateComplete;
266
262
  expect(el.selectedSort).to.equal('relevance');
267
263
  });
268
264
  it('handles return/space key event on view-sort selector', async () => {
269
- var _a;
270
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
265
+ const defaultSortSelector = desktopSortSelector?.children
266
+ .item(1)
267
+ ?.querySelector('.dropdown-label');
271
268
  el.selectedSort = 'relevance';
272
269
  const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
273
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
270
+ defaultSortSelector?.dispatchEvent(enterEvent);
274
271
  await el.updateComplete;
275
272
  expect(el.selectedSort).to.equal('weeklyview');
276
273
  el.selectedSort = 'relevance';
277
274
  const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
278
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
275
+ defaultSortSelector?.dispatchEvent(spaceEvent);
279
276
  await el.updateComplete;
280
277
  expect(el.selectedSort).to.equal('weeklyview');
281
278
  });
282
279
  it('handles return/space key event on date-sort selector', async () => {
283
- var _a;
284
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
280
+ const defaultSortSelector = desktopSortSelector?.children
281
+ .item(3)
282
+ ?.querySelector('.dropdown-label');
285
283
  el.selectedSort = 'relevance';
286
284
  const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
287
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
285
+ defaultSortSelector?.dispatchEvent(enterEvent);
288
286
  await el.updateComplete;
289
287
  expect(el.selectedSort).to.equal('date');
290
288
  el.selectedSort = 'relevance';
291
289
  const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
292
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
290
+ defaultSortSelector?.dispatchEvent(spaceEvent);
293
291
  await el.updateComplete;
294
292
  expect(el.selectedSort).to.equal('date');
295
293
  });
296
294
  it('handles click event on view-sort dropdown option', async () => {
297
- var _a, _b;
298
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
299
- const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
295
+ const defaultSortSelector = desktopSortSelector?.children
296
+ .item(1)
297
+ ?.querySelector('ia-dropdown');
298
+ const firstOption = defaultSortSelector?.shadowRoot?.querySelector('li > button');
300
299
  expect(firstOption).to.exist;
301
- firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
300
+ firstOption?.click();
302
301
  await el.updateComplete;
303
302
  expect(el.selectedSort).to.equal('weeklyview');
304
303
  });
305
304
  it('handles click event on date-sort dropdown option', async () => {
306
- var _a, _b;
307
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
308
- const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
305
+ const defaultSortSelector = desktopSortSelector?.children
306
+ .item(3)
307
+ ?.querySelector('ia-dropdown');
308
+ const firstOption = defaultSortSelector?.shadowRoot?.querySelector('li > button');
309
309
  expect(firstOption).to.exist;
310
- firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
310
+ firstOption?.click();
311
311
  await el.updateComplete;
312
312
  expect(el.selectedSort).to.equal('date');
313
313
  });
314
314
  it('shows view sort selector backdrop when view sort open', async () => {
315
- var _a, _b, _c, _d;
316
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
317
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
315
+ const defaultSortSelector = desktopSortSelector?.children
316
+ .item(1)
317
+ ?.querySelector('ia-dropdown');
318
+ const caret = defaultSortSelector?.shadowRoot?.querySelector('.caret');
318
319
  expect(caret).to.exist;
319
- caret === null || caret === void 0 ? void 0 : caret.click();
320
+ caret?.click();
320
321
  await el.updateComplete;
321
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
322
+ let backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
322
323
  expect(backdrop).to.exist;
323
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
324
+ backdrop?.click();
324
325
  await el.updateComplete;
325
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
326
+ backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
326
327
  expect(backdrop).not.to.exist;
327
328
  });
328
329
  it('shows date sort selector backdrop when date sort open', async () => {
329
- var _a, _b, _c, _d;
330
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
331
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
330
+ const defaultSortSelector = desktopSortSelector?.children
331
+ .item(3)
332
+ ?.querySelector('ia-dropdown');
333
+ const caret = defaultSortSelector?.shadowRoot?.querySelector('.caret');
332
334
  expect(caret).to.exist;
333
- caret === null || caret === void 0 ? void 0 : caret.click();
335
+ caret?.click();
334
336
  await el.updateComplete;
335
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
337
+ let backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
336
338
  expect(backdrop).to.exist;
337
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
339
+ backdrop?.click();
338
340
  await el.updateComplete;
339
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
341
+ backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
340
342
  expect(backdrop).not.to.exist;
341
343
  });
342
344
  it('closes dropdown by hitting escape key', async () => {
343
- var _a, _b, _c, _d;
344
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
345
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
345
+ const defaultSortSelector = desktopSortSelector?.children
346
+ .item(3)
347
+ ?.querySelector('ia-dropdown');
348
+ const caret = defaultSortSelector?.shadowRoot?.querySelector('.caret');
346
349
  expect(caret).to.exist;
347
- caret === null || caret === void 0 ? void 0 : caret.click();
350
+ caret?.click();
348
351
  await el.updateComplete;
349
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
352
+ let backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
350
353
  expect(backdrop).to.exist;
351
354
  document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
352
355
  await el.updateComplete;
353
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
356
+ backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
354
357
  expect(backdrop).not.to.exist;
355
358
  });
356
359
  });
357
360
  describe('Sort direction button behavior', () => {
358
361
  it('should disable sort direction button when sorting by relevance', async () => {
359
- var _a;
360
362
  const el = await fixture(html `
361
363
  <sort-filter-bar> </sort-filter-bar>
362
364
  `);
363
365
  el.selectedSort = 'relevance';
364
366
  await el.updateComplete;
365
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
367
+ const sortDirectionButton = el.shadowRoot?.querySelector('.sort-direction-selector');
366
368
  expect(sortDirectionButton).to.exist;
367
369
  expect(sortDirectionButton.disabled).to.be.true;
368
370
  });
369
371
  it('should enable sort direction button when not sorting by relevance', async () => {
370
- var _a;
371
372
  const el = await fixture(html `
372
373
  <sort-filter-bar> </sort-filter-bar>
373
374
  `);
374
375
  el.selectedSort = 'title';
375
376
  await el.updateComplete;
376
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
377
+ const sortDirectionButton = el.shadowRoot?.querySelector('.sort-direction-selector');
377
378
  expect(sortDirectionButton).to.exist;
378
379
  expect(sortDirectionButton.disabled).to.be.false;
379
380
  });
380
381
  it('should toggle sort direction when clicked', async () => {
381
- var _a;
382
382
  const el = await fixture(html `
383
383
  <sort-filter-bar> </sort-filter-bar>
384
384
  `);
385
385
  el.selectedSort = 'title';
386
386
  el.sortDirection = 'asc';
387
387
  await el.updateComplete;
388
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
388
+ const sortDirectionButton = el.shadowRoot?.querySelector('.sort-direction-selector');
389
389
  sortDirectionButton.click();
390
390
  await el.updateComplete;
391
391
  expect(el.sortDirection).to.equal('desc');
@@ -396,52 +396,59 @@ describe('Sort direction button behavior', () => {
396
396
  });
397
397
  describe('Display mode/style buttons', () => {
398
398
  it('should render all display mode buttons', async () => {
399
- var _a, _b, _c, _d, _e;
400
399
  const el = await fixture(html `
401
400
  <sort-filter-bar> </sort-filter-bar>
402
401
  `);
403
- const displayModeButtonList = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#display-style-selector')) === null || _b === void 0 ? void 0 : _b.querySelector('ul');
404
- const gridButton = (_c = displayModeButtonList === null || displayModeButtonList === void 0 ? void 0 : displayModeButtonList.children.item(0)) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
402
+ const displayModeButtonList = el.shadowRoot
403
+ ?.querySelector('#display-style-selector')
404
+ ?.querySelector('ul');
405
+ const gridButton = displayModeButtonList?.children
406
+ .item(0)
407
+ ?.querySelector('#grid-button');
405
408
  expect(gridButton).to.exist;
406
- const detailListButton = (_d = displayModeButtonList === null || displayModeButtonList === void 0 ? void 0 : displayModeButtonList.children.item(1)) === null || _d === void 0 ? void 0 : _d.querySelector('#list-detail-button');
409
+ const detailListButton = displayModeButtonList?.children
410
+ .item(1)
411
+ ?.querySelector('#list-detail-button');
407
412
  expect(detailListButton).to.exist;
408
- const compactListButton = (_e = displayModeButtonList === null || displayModeButtonList === void 0 ? void 0 : displayModeButtonList.children.item(2)) === null || _e === void 0 ? void 0 : _e.querySelector('#list-compact-button');
413
+ const compactListButton = displayModeButtonList?.children
414
+ .item(2)
415
+ ?.querySelector('#list-compact-button');
409
416
  expect(compactListButton).to.exist;
410
417
  });
411
418
  it('should not render display mode buttons when suppressed', async () => {
412
- var _a;
413
419
  const el = await fixture(html `
414
420
  <sort-filter-bar suppressDisplayModes></sort-filter-bar>
415
421
  `);
416
- const displayModeButtonList = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#display-style-selector');
422
+ const displayModeButtonList = el.shadowRoot?.querySelector('#display-style-selector');
417
423
  expect(displayModeButtonList).not.to.exist;
418
424
  });
419
425
  it('should active current display mode', async () => {
420
- var _a, _b, _c;
421
426
  const el = await fixture(html `
422
427
  <sort-filter-bar> </sort-filter-bar>
423
428
  `);
424
429
  el.displayMode = 'grid';
425
430
  await el.updateComplete;
426
- const displayModeTitle = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#display-style-selector')) === null || _b === void 0 ? void 0 : _b.querySelector('button.active')) === null || _c === void 0 ? void 0 : _c.getAttribute('title');
431
+ const displayModeTitle = el.shadowRoot
432
+ ?.querySelector('#display-style-selector')
433
+ ?.querySelector('button.active')
434
+ ?.getAttribute('title');
427
435
  expect(displayModeTitle).to.equal('Tile view');
428
436
  });
429
437
  it('should change displayMode prop to the one clicked', async () => {
430
- var _a, _b, _c;
431
438
  const el = await fixture(html `
432
439
  <sort-filter-bar> </sort-filter-bar>
433
440
  `);
434
441
  el.displayMode = 'grid';
435
442
  await el.updateComplete;
436
- const extendedListButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-detail-button');
443
+ const extendedListButton = el.shadowRoot?.querySelector('#list-detail-button');
437
444
  extendedListButton.click();
438
445
  await el.updateComplete;
439
446
  expect(el.displayMode).to.equal('list-detail');
440
- const compactListButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#list-compact-button');
447
+ const compactListButton = el.shadowRoot?.querySelector('#list-compact-button');
441
448
  compactListButton.click();
442
449
  await el.updateComplete;
443
450
  expect(el.displayMode).to.equal('list-compact');
444
- const gridModeButton = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
451
+ const gridModeButton = el.shadowRoot?.querySelector('#grid-button');
445
452
  gridModeButton.click();
446
453
  await el.updateComplete;
447
454
  expect(el.displayMode).to.equal('grid');
@@ -449,32 +456,30 @@ describe('Display mode/style buttons', () => {
449
456
  });
450
457
  describe('Sort/filter bar letter behavior', () => {
451
458
  it('sets the selected title letter when clicked', async () => {
452
- var _a, _b, _c;
453
459
  const el = await fixture(html `
454
460
  <sort-filter-bar></sort-filter-bar>
455
461
  `);
456
462
  el.selectedSort = 'title';
457
463
  el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };
458
464
  await el.updateComplete;
459
- const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
460
- const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
461
- expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('T');
462
- letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
465
+ const alphaBar = el.shadowRoot?.querySelector('alpha-bar');
466
+ const letterLink = alphaBar?.shadowRoot?.querySelector('li > button:not(:disabled)');
467
+ expect(letterLink?.textContent?.trim()).to.equal('T');
468
+ letterLink?.click();
463
469
  await el.updateComplete;
464
470
  expect(el.selectedTitleFilter).to.equal('T');
465
471
  });
466
472
  it('sets the selected creator letter when clicked', async () => {
467
- var _a, _b, _c;
468
473
  const el = await fixture(html `
469
474
  <sort-filter-bar></sort-filter-bar>
470
475
  `);
471
476
  el.selectedSort = 'creator';
472
477
  el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };
473
478
  await el.updateComplete;
474
- const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
475
- const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
476
- expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('C');
477
- letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
479
+ const alphaBar = el.shadowRoot?.querySelector('alpha-bar');
480
+ const letterLink = alphaBar?.shadowRoot?.querySelector('li > button:not(:disabled)');
481
+ expect(letterLink?.textContent?.trim()).to.equal('C');
482
+ letterLink?.click();
478
483
  await el.updateComplete;
479
484
  expect(el.selectedCreatorFilter).to.equal('C');
480
485
  });
@@ -489,21 +494,19 @@ describe('Sort/filter bar mobile view', () => {
489
494
  window.resizeTo(origWindowSize.width, origWindowSize.height);
490
495
  });
491
496
  it('renders in mobile view', async () => {
492
- var _a, _b, _c, _d;
493
497
  const el = await fixture(html `
494
498
  <sort-filter-bar></sort-filter-bar>
495
499
  `);
496
- const mobileSortContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-sort-container');
497
- const desktopSortContainer = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#desktop-sort-container');
498
- expect((_c = mobileSortContainer === null || mobileSortContainer === void 0 ? void 0 : mobileSortContainer.classList) === null || _c === void 0 ? void 0 : _c.contains('visible')).to.be.true;
499
- expect((_d = desktopSortContainer === null || desktopSortContainer === void 0 ? void 0 : desktopSortContainer.classList) === null || _d === void 0 ? void 0 : _d.contains('hidden')).to.be.true;
500
+ const mobileSortContainer = el.shadowRoot?.querySelector('#mobile-sort-container');
501
+ const desktopSortContainer = el.shadowRoot?.querySelector('#desktop-sort-container');
502
+ expect(mobileSortContainer?.classList?.contains('visible')).to.be.true;
503
+ expect(desktopSortContainer?.classList?.contains('hidden')).to.be.true;
500
504
  });
501
505
  it('changes selected sort in mobile view', async () => {
502
- var _a;
503
506
  const el = await fixture(html `
504
507
  <sort-filter-bar></sort-filter-bar>
505
508
  `);
506
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
509
+ const mobileDropdown = el.shadowRoot?.querySelector('#mobile-dropdown');
507
510
  expect(mobileDropdown).to.exist;
508
511
  mobileDropdown.selectedOption = 'title';
509
512
  const option = { id: 'title' };
@@ -512,14 +515,13 @@ describe('Sort/filter bar mobile view', () => {
512
515
  expect(el.selectedSort).to.equal('title');
513
516
  });
514
517
  it('clears title filter when sort changed from title in mobile view', async () => {
515
- var _a;
516
518
  const el = await fixture(html `
517
519
  <sort-filter-bar></sort-filter-bar>
518
520
  `);
519
521
  el.selectedSort = 'title';
520
522
  el.selectedTitleFilter = 'A';
521
523
  await el.updateComplete;
522
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
524
+ const mobileDropdown = el.shadowRoot?.querySelector('#mobile-dropdown');
523
525
  expect(mobileDropdown).to.exist;
524
526
  mobileDropdown.selectedOption = 'relevance';
525
527
  const option = { id: 'relevance' };
@@ -529,14 +531,13 @@ describe('Sort/filter bar mobile view', () => {
529
531
  expect(el.selectedTitleFilter).to.be.null;
530
532
  });
531
533
  it('clears creator filter when sort changed from creator in mobile view', async () => {
532
- var _a;
533
534
  const el = await fixture(html `
534
535
  <sort-filter-bar></sort-filter-bar>
535
536
  `);
536
537
  el.selectedSort = 'creator';
537
538
  el.selectedCreatorFilter = 'A';
538
539
  await el.updateComplete;
539
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
540
+ const mobileDropdown = el.shadowRoot?.querySelector('#mobile-dropdown');
540
541
  expect(mobileDropdown).to.exist;
541
542
  mobileDropdown.selectedOption = 'relevance';
542
543
  const option = { id: 'relevance' };
@@ -546,25 +547,23 @@ describe('Sort/filter bar mobile view', () => {
546
547
  expect(el.selectedCreatorFilter).to.be.null;
547
548
  });
548
549
  it('shows sort selector backdrop when mobile sort open', async () => {
549
- var _a, _b, _c, _d;
550
550
  const el = await fixture(html `
551
551
  <sort-filter-bar></sort-filter-bar>
552
552
  `);
553
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
553
+ const mobileDropdown = el.shadowRoot?.querySelector('#mobile-dropdown');
554
554
  expect(mobileDropdown).to.exist;
555
- const caret = (_b = mobileDropdown === null || mobileDropdown === void 0 ? void 0 : mobileDropdown.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
555
+ const caret = mobileDropdown?.shadowRoot?.querySelector('.caret');
556
556
  expect(caret).to.exist;
557
- caret === null || caret === void 0 ? void 0 : caret.click();
557
+ caret?.click();
558
558
  await el.updateComplete;
559
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
559
+ let backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
560
560
  expect(backdrop).to.exist;
561
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
561
+ backdrop?.click();
562
562
  await el.updateComplete;
563
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
563
+ backdrop = el.shadowRoot?.querySelector('#sort-selector-backdrop');
564
564
  expect(backdrop).not.to.exist;
565
565
  });
566
566
  it('shows loansTab top-bar slot Default View', async () => {
567
- var _a;
568
567
  const resizeStub = new SharedResizeObserver();
569
568
  const addSpy = sinon.spy(resizeStub, 'addObserver');
570
569
  const removeSpy = sinon.spy(resizeStub, 'removeObserver');
@@ -572,7 +571,7 @@ describe('Sort/filter bar mobile view', () => {
572
571
  <sort-filter-bar .resizeObserver=${resizeStub}></sort-filter-bar>
573
572
  `);
574
573
  // this element exists
575
- expect((_a = el === null || el === void 0 ? void 0 : el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#sort-selector-container')).to.exist;
574
+ expect(el?.shadowRoot?.querySelector('#sort-selector-container')).to.exist;
576
575
  // loads & unloads twice when [re]setting ResizeObserver
577
576
  expect(addSpy.callCount).to.equal(2);
578
577
  const resizeStub2 = new SharedResizeObserver();
@@ -581,7 +580,6 @@ describe('Sort/filter bar mobile view', () => {
581
580
  expect(removeSpy.callCount).to.equal(2);
582
581
  });
583
582
  it('contains sort-options slot when enabled', async () => {
584
- var _a, _b;
585
583
  const resizeStub = new SharedResizeObserver();
586
584
  const addSpy = sinon.spy(resizeStub, 'addObserver');
587
585
  const removeSpy = sinon.spy(resizeStub, 'removeObserver');
@@ -593,10 +591,10 @@ describe('Sort/filter bar mobile view', () => {
593
591
  `);
594
592
  await el.updateComplete;
595
593
  // slot exists
596
- const sortOptionsSlot = (_a = el === null || el === void 0 ? void 0 : el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="sort-options"]');
594
+ const sortOptionsSlot = el?.shadowRoot?.querySelector('slot[name="sort-options"]');
597
595
  expect(sortOptionsSlot).to.exist;
598
596
  // sort bar does not exist
599
- expect((_b = el === null || el === void 0 ? void 0 : el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#sort-selector-container')).to.not
597
+ expect(el?.shadowRoot?.querySelector('#sort-selector-container')).to.not
600
598
  .exist;
601
599
  const resizeStub2 = new SharedResizeObserver();
602
600
  el.resizeObserver = resizeStub2;