@internetarchive/collection-browser 1.14.2 → 1.14.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 (289) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  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/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +64 -64
  12. package/dist/src/app-root.js +311 -311
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -0
  50. package/dist/src/assets/img/icons/mediatype/search.js +14 -0
  51. package/dist/src/assets/img/icons/mediatype/search.js.map +1 -0
  52. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  60. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  61. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  62. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  63. package/dist/src/assets/img/icons/null-result.js +2 -2
  64. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  65. package/dist/src/assets/img/icons/restricted.js +2 -2
  66. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  67. package/dist/src/assets/img/icons/reviews.js +2 -2
  68. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  69. package/dist/src/assets/img/icons/upload.js +2 -2
  70. package/dist/src/assets/img/icons/views.d.ts +1 -1
  71. package/dist/src/assets/img/icons/views.js +2 -2
  72. package/dist/src/circular-activity-indicator.d.ts +5 -5
  73. package/dist/src/circular-activity-indicator.js +17 -17
  74. package/dist/src/collection-browser.d.ts +524 -523
  75. package/dist/src/collection-browser.js +1859 -1841
  76. package/dist/src/collection-browser.js.map +1 -1
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  80. package/dist/src/collection-facets/facets-template.js +152 -152
  81. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  82. package/dist/src/collection-facets/more-facets-content.js +359 -359
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +104 -104
  88. package/dist/src/collection-facets.js +506 -506
  89. package/dist/src/empty-placeholder.d.ts +23 -23
  90. package/dist/src/empty-placeholder.js +74 -74
  91. package/dist/src/expanded-date-picker.d.ts +43 -43
  92. package/dist/src/expanded-date-picker.js +109 -109
  93. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  94. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  95. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  96. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  97. package/dist/src/manage/manage-bar.d.ts +26 -26
  98. package/dist/src/manage/manage-bar.js +53 -53
  99. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  100. package/dist/src/mediatype/mediatype-config.js +91 -85
  101. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  102. package/dist/src/models.d.ts +164 -164
  103. package/dist/src/models.js +269 -269
  104. package/dist/src/restoration-state-handler.d.ts +70 -70
  105. package/dist/src/restoration-state-handler.js +355 -355
  106. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  107. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  108. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  109. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  110. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  112. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/list.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  118. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  120. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  122. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  124. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  125. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  126. package/dist/src/styles/item-image-styles.d.ts +8 -8
  127. package/dist/src/styles/item-image-styles.js +13 -9
  128. package/dist/src/styles/item-image-styles.js.map +1 -1
  129. package/dist/src/styles/sr-only.d.ts +1 -1
  130. package/dist/src/styles/sr-only.js +2 -2
  131. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  132. package/dist/src/tiles/base-tile-component.js +59 -59
  133. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  134. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  135. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  136. package/dist/src/tiles/grid/account-tile.js +72 -72
  137. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  138. package/dist/src/tiles/grid/collection-tile.js +80 -80
  139. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  140. package/dist/src/tiles/grid/item-tile.js +134 -134
  141. package/dist/src/tiles/grid/search-tile.d.ts +10 -0
  142. package/dist/src/tiles/grid/search-tile.js +92 -0
  143. package/dist/src/tiles/grid/search-tile.js.map +1 -0
  144. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  145. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  146. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  147. package/dist/src/tiles/grid/tile-stats.js +48 -48
  148. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  149. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  150. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  151. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  152. package/dist/src/tiles/image-block.d.ts +17 -17
  153. package/dist/src/tiles/image-block.js +75 -73
  154. package/dist/src/tiles/image-block.js.map +1 -1
  155. package/dist/src/tiles/item-image.d.ts +36 -35
  156. package/dist/src/tiles/item-image.js +148 -125
  157. package/dist/src/tiles/item-image.js.map +1 -1
  158. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  159. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  160. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  161. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  162. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  163. package/dist/src/tiles/list/tile-list.js +302 -298
  164. package/dist/src/tiles/list/tile-list.js.map +1 -1
  165. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  166. package/dist/src/tiles/mediatype-icon.js +47 -47
  167. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  168. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  169. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  170. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  171. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  172. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  173. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  174. package/dist/src/tiles/text-snippet-block.js +73 -73
  175. package/dist/src/tiles/tile-dispatcher.d.ts +64 -63
  176. package/dist/src/tiles/tile-dispatcher.js +249 -225
  177. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  178. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  179. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  180. package/dist/src/utils/analytics-events.d.ts +25 -25
  181. package/dist/src/utils/analytics-events.js +27 -27
  182. package/dist/src/utils/array-equals.d.ts +4 -4
  183. package/dist/src/utils/array-equals.js +10 -10
  184. package/dist/src/utils/format-count.d.ts +7 -7
  185. package/dist/src/utils/format-count.js +76 -76
  186. package/dist/src/utils/format-date.d.ts +2 -2
  187. package/dist/src/utils/format-date.js +25 -25
  188. package/dist/src/utils/format-unit-size.d.ts +2 -2
  189. package/dist/src/utils/format-unit-size.js +33 -33
  190. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  191. package/dist/src/utils/local-date-from-utc.js +15 -15
  192. package/dist/src/utils/sha1.d.ts +2 -2
  193. package/dist/src/utils/sha1.js +8 -8
  194. package/dist/test/collection-browser.test.d.ts +1 -1
  195. package/dist/test/collection-browser.test.js +1098 -1098
  196. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  197. package/dist/test/collection-facets/facets-template.test.js +134 -134
  198. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  199. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  200. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  201. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  202. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  203. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  204. package/dist/test/collection-facets.test.d.ts +2 -2
  205. package/dist/test/collection-facets.test.js +682 -682
  206. package/dist/test/empty-placeholder.test.d.ts +1 -1
  207. package/dist/test/empty-placeholder.test.js +63 -63
  208. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  209. package/dist/test/expanded-date-picker.test.js +95 -95
  210. package/dist/test/icon-overlay.test.d.ts +1 -1
  211. package/dist/test/icon-overlay.test.js +24 -24
  212. package/dist/test/image-block.test.d.ts +1 -1
  213. package/dist/test/image-block.test.js +48 -48
  214. package/dist/test/item-image.test.d.ts +1 -1
  215. package/dist/test/item-image.test.js +86 -86
  216. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  217. package/dist/test/manage/manage-bar.test.js +72 -72
  218. package/dist/test/mediatype-config.test.d.ts +1 -1
  219. package/dist/test/mediatype-config.test.js +16 -16
  220. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  221. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  222. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  223. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  224. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  225. package/dist/test/mocks/mock-search-responses.js +709 -709
  226. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  227. package/dist/test/mocks/mock-search-service.js +50 -50
  228. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  229. package/dist/test/restoration-state-handler.test.js +270 -270
  230. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  231. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  232. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  233. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  234. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  235. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  236. package/dist/test/text-overlay.test.d.ts +1 -1
  237. package/dist/test/text-overlay.test.js +48 -48
  238. package/dist/test/text-snippet-block.test.d.ts +1 -1
  239. package/dist/test/text-snippet-block.test.js +57 -57
  240. package/dist/test/tile-stats.test.d.ts +1 -1
  241. package/dist/test/tile-stats.test.js +33 -33
  242. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  243. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  244. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  245. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  246. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  247. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  248. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -0
  249. package/dist/test/tiles/grid/search-tile.test.js +67 -0
  250. package/dist/test/tiles/grid/search-tile.test.js.map +1 -0
  251. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  252. package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -258
  253. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  254. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  255. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  256. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  257. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  258. package/dist/test/tiles/list/tile-list.test.js +242 -242
  259. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  260. package/dist/test/tiles/tile-dispatcher.test.js +94 -94
  261. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  262. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  263. package/dist/test/utils/array-equals.test.d.ts +1 -1
  264. package/dist/test/utils/array-equals.test.js +26 -26
  265. package/dist/test/utils/format-count.test.d.ts +1 -1
  266. package/dist/test/utils/format-count.test.js +23 -23
  267. package/dist/test/utils/format-date.test.d.ts +1 -1
  268. package/dist/test/utils/format-date.test.js +17 -17
  269. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  270. package/dist/test/utils/format-unit-size.test.js +17 -17
  271. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  272. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  273. package/local.archive.org.cert +86 -86
  274. package/local.archive.org.key +27 -27
  275. package/package.json +4 -4
  276. package/renovate.json +6 -6
  277. package/src/assets/img/icons/mediatype/search.ts +14 -0
  278. package/src/collection-browser.ts +20 -1
  279. package/src/mediatype/mediatype-config.ts +6 -0
  280. package/src/styles/item-image-styles.ts +4 -0
  281. package/src/tiles/grid/search-tile.ts +87 -0
  282. package/src/tiles/image-block.ts +3 -1
  283. package/src/tiles/item-image.ts +31 -8
  284. package/src/tiles/list/tile-list.ts +5 -0
  285. package/src/tiles/tile-dispatcher.ts +23 -1
  286. package/test/tiles/grid/search-tile.test.ts +76 -0
  287. package/tsconfig.json +21 -21
  288. package/web-dev-server.config.mjs +30 -30
  289. package/web-test-runner.config.mjs +41 -41
@@ -1,407 +1,407 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
5
- import '../../src/sort-filter-bar/sort-filter-bar';
6
- describe('Sort selector default buttons', async () => {
7
- var _a;
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
5
+ import '../../src/sort-filter-bar/sort-filter-bar';
6
+ describe('Sort selector default buttons', async () => {
7
+ var _a;
8
8
  const el = await fixture(html `
9
9
  <sort-filter-bar> </sort-filter-bar>
10
- `);
11
- const sortSelectorContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#sort-selector-container');
12
- const desktopSortSelector = sortSelectorContainer === null || sortSelectorContainer === void 0 ? void 0 : sortSelectorContainer.querySelector('#desktop-sort-selector');
13
- before(async () => {
14
- el.resizeObserver = new SharedResizeObserver();
15
- await el.updateComplete;
16
- });
17
- it('should render basic component', async () => {
18
- expect(sortSelectorContainer).to.exist;
19
- expect(desktopSortSelector).to.exist;
20
- });
21
- it('should render sort-by label', async () => {
22
- var _a, _b;
23
- const sortByLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-by-text');
24
- expect(sortByLabel).to.exist;
25
- expect((_b = sortByLabel === null || sortByLabel === void 0 ? void 0 : sortByLabel.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Sort by:');
26
- });
27
- it('should render sort direction button', async () => {
28
- var _a;
29
- const sortDirections = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-container');
30
- expect(sortDirections).to.exist;
31
- expect(sortDirections === null || sortDirections === void 0 ? void 0 : sortDirections.querySelector('.sort-direction-icon')).to.exist;
32
- });
33
- it('should not render relevance-sort selector if showRelevance is false', async () => {
34
- var _a;
35
- el.showRelevance = false;
36
- await el.updateComplete;
37
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('button.selected');
38
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).not.to.equal('Relevance');
39
- });
40
- it('should render default relevance-sort selector', async () => {
41
- var _a;
42
- el.showRelevance = true;
43
- await el.updateComplete;
44
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('button.selected');
45
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('Relevance');
46
- });
47
- it('should render default view-sort selector', async () => {
48
- var _a, _b;
49
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
50
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Weekly views');
51
- });
52
- it('should render active view-sort selectors', async () => {
53
- var _a;
54
- el.selectedSort = 'alltimeview';
55
- await el.updateComplete;
56
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
57
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('All-time views');
58
- });
59
- it('should render default title-sort selector', async () => {
60
- var _a, _b;
61
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
62
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Title');
63
- });
64
- it('should render default date-sort selector', async () => {
65
- var _a, _b;
66
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
67
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Date published');
68
- });
69
- it('should render active date-sort selectors', async () => {
70
- var _a;
71
- el.selectedSort = 'datereviewed';
72
- await el.updateComplete;
73
- const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
74
- expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('Date reviewed');
75
- });
76
- it('should render default creator-sort selector', async () => {
77
- var _a, _b;
78
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
79
- expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Creator');
80
- });
81
- it('handles click event on view-sort selector', async () => {
82
- var _a;
83
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
84
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
85
- await el.updateComplete;
86
- expect(el.selectedSort).to.equal('weeklyview');
87
- });
88
- it('handles click event on title selector', async () => {
89
- var _a;
90
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
91
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
92
- await el.updateComplete;
93
- expect(el.selectedSort).to.equal('title');
94
- });
95
- it('handles click event on date-sort selector', async () => {
96
- var _a;
97
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
98
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
99
- await el.updateComplete;
100
- expect(el.selectedSort).to.equal('date');
101
- });
102
- it('handles click event on creator selector', async () => {
103
- var _a;
104
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
105
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
106
- await el.updateComplete;
107
- expect(el.selectedSort).to.equal('creator');
108
- });
109
- it('handles click event on relevance selector', async () => {
110
- var _a;
111
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(0)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
112
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
113
- await el.updateComplete;
114
- expect(el.selectedSort).to.equal('relevance');
115
- });
116
- it('handles return/space key event on view-sort selector', async () => {
117
- var _a;
118
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
119
- el.selectedSort = 'relevance';
120
- const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
121
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
122
- await el.updateComplete;
123
- expect(el.selectedSort).to.equal('weeklyview');
124
- el.selectedSort = 'relevance';
125
- const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
126
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
127
- await el.updateComplete;
128
- expect(el.selectedSort).to.equal('weeklyview');
129
- });
130
- it('handles return/space key event on date-sort selector', async () => {
131
- var _a;
132
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
133
- el.selectedSort = 'relevance';
134
- const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
135
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
136
- await el.updateComplete;
137
- expect(el.selectedSort).to.equal('date');
138
- el.selectedSort = 'relevance';
139
- const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
140
- defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
141
- await el.updateComplete;
142
- expect(el.selectedSort).to.equal('date');
143
- });
144
- it('handles click event on view-sort dropdown option', async () => {
145
- var _a, _b;
146
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
147
- const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
148
- expect(firstOption).to.exist;
149
- firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
150
- await el.updateComplete;
151
- expect(el.selectedSort).to.equal('weeklyview');
152
- });
153
- it('handles click event on date-sort dropdown option', async () => {
154
- var _a, _b;
155
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
156
- const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
157
- expect(firstOption).to.exist;
158
- firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
159
- await el.updateComplete;
160
- expect(el.selectedSort).to.equal('date');
161
- });
162
- it('shows view sort selector backdrop when view sort open', async () => {
163
- var _a, _b, _c, _d;
164
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
165
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
166
- expect(caret).to.exist;
167
- caret === null || caret === void 0 ? void 0 : caret.click();
168
- await el.updateComplete;
169
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
170
- expect(backdrop).to.exist;
171
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
172
- await el.updateComplete;
173
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
174
- expect(backdrop).not.to.exist;
175
- });
176
- it('shows date sort selector backdrop when date sort open', async () => {
177
- var _a, _b, _c, _d;
178
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
179
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
180
- expect(caret).to.exist;
181
- caret === null || caret === void 0 ? void 0 : caret.click();
182
- await el.updateComplete;
183
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
184
- expect(backdrop).to.exist;
185
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
186
- await el.updateComplete;
187
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
188
- expect(backdrop).not.to.exist;
189
- });
190
- it('closes dropdown by hitting escape key', async () => {
191
- var _a, _b, _c, _d;
192
- const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
193
- const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
194
- expect(caret).to.exist;
195
- caret === null || caret === void 0 ? void 0 : caret.click();
196
- await el.updateComplete;
197
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
198
- expect(backdrop).to.exist;
199
- document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
200
- await el.updateComplete;
201
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
202
- expect(backdrop).not.to.exist;
203
- });
204
- });
205
- describe('Sort direction button behavior', () => {
206
- it('should disable sort direction button when sorting by relevance', async () => {
207
- var _a;
10
+ `);
11
+ const sortSelectorContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#sort-selector-container');
12
+ const desktopSortSelector = sortSelectorContainer === null || sortSelectorContainer === void 0 ? void 0 : sortSelectorContainer.querySelector('#desktop-sort-selector');
13
+ before(async () => {
14
+ el.resizeObserver = new SharedResizeObserver();
15
+ await el.updateComplete;
16
+ });
17
+ it('should render basic component', async () => {
18
+ expect(sortSelectorContainer).to.exist;
19
+ expect(desktopSortSelector).to.exist;
20
+ });
21
+ it('should render sort-by label', async () => {
22
+ var _a, _b;
23
+ const sortByLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-by-text');
24
+ expect(sortByLabel).to.exist;
25
+ expect((_b = sortByLabel === null || sortByLabel === void 0 ? void 0 : sortByLabel.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Sort by:');
26
+ });
27
+ it('should render sort direction button', async () => {
28
+ var _a;
29
+ const sortDirections = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-container');
30
+ expect(sortDirections).to.exist;
31
+ expect(sortDirections === null || sortDirections === void 0 ? void 0 : sortDirections.querySelector('.sort-direction-icon')).to.exist;
32
+ });
33
+ it('should not render relevance-sort selector if showRelevance is false', async () => {
34
+ var _a;
35
+ el.showRelevance = false;
36
+ await el.updateComplete;
37
+ const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('button.selected');
38
+ expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).not.to.equal('Relevance');
39
+ });
40
+ it('should render default relevance-sort selector', async () => {
41
+ var _a;
42
+ el.showRelevance = true;
43
+ await el.updateComplete;
44
+ const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('button.selected');
45
+ expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('Relevance');
46
+ });
47
+ it('should render default view-sort selector', async () => {
48
+ var _a, _b;
49
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
50
+ expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Weekly views');
51
+ });
52
+ it('should render active view-sort selectors', async () => {
53
+ var _a;
54
+ el.selectedSort = 'alltimeview';
55
+ await el.updateComplete;
56
+ const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
57
+ expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('All-time views');
58
+ });
59
+ it('should render default title-sort selector', async () => {
60
+ var _a, _b;
61
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
62
+ expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Title');
63
+ });
64
+ it('should render default date-sort selector', async () => {
65
+ var _a, _b;
66
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
67
+ expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Date published');
68
+ });
69
+ it('should render active date-sort selectors', async () => {
70
+ var _a;
71
+ el.selectedSort = 'datereviewed';
72
+ await el.updateComplete;
73
+ const defaultSortSelector = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.querySelector('ia-dropdown.selected');
74
+ expect((_a = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _a === void 0 ? void 0 : _a.trim()).to.equal('Date reviewed');
75
+ });
76
+ it('should render default creator-sort selector', async () => {
77
+ var _a, _b;
78
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
79
+ expect((_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Creator');
80
+ });
81
+ it('handles click event on view-sort selector', async () => {
82
+ var _a;
83
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
84
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
85
+ await el.updateComplete;
86
+ expect(el.selectedSort).to.equal('weeklyview');
87
+ });
88
+ it('handles click event on title selector', async () => {
89
+ var _a;
90
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(2)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
91
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
92
+ await el.updateComplete;
93
+ expect(el.selectedSort).to.equal('title');
94
+ });
95
+ it('handles click event on date-sort selector', async () => {
96
+ var _a;
97
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
98
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
99
+ await el.updateComplete;
100
+ expect(el.selectedSort).to.equal('date');
101
+ });
102
+ it('handles click event on creator selector', async () => {
103
+ var _a;
104
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(4)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
105
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
106
+ await el.updateComplete;
107
+ expect(el.selectedSort).to.equal('creator');
108
+ });
109
+ it('handles click event on relevance selector', async () => {
110
+ var _a;
111
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(0)) === null || _a === void 0 ? void 0 : _a.querySelector('button');
112
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.click();
113
+ await el.updateComplete;
114
+ expect(el.selectedSort).to.equal('relevance');
115
+ });
116
+ it('handles return/space key event on view-sort selector', async () => {
117
+ var _a;
118
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
119
+ el.selectedSort = 'relevance';
120
+ const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
121
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
122
+ await el.updateComplete;
123
+ expect(el.selectedSort).to.equal('weeklyview');
124
+ el.selectedSort = 'relevance';
125
+ const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
126
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
127
+ await el.updateComplete;
128
+ expect(el.selectedSort).to.equal('weeklyview');
129
+ });
130
+ it('handles return/space key event on date-sort selector', async () => {
131
+ var _a;
132
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-label');
133
+ el.selectedSort = 'relevance';
134
+ const enterEvent = new KeyboardEvent('keydown', { key: 'Enter' });
135
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(enterEvent);
136
+ await el.updateComplete;
137
+ expect(el.selectedSort).to.equal('date');
138
+ el.selectedSort = 'relevance';
139
+ const spaceEvent = new KeyboardEvent('keydown', { key: ' ' });
140
+ defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.dispatchEvent(spaceEvent);
141
+ await el.updateComplete;
142
+ expect(el.selectedSort).to.equal('date');
143
+ });
144
+ it('handles click event on view-sort dropdown option', async () => {
145
+ var _a, _b;
146
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
147
+ const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
148
+ expect(firstOption).to.exist;
149
+ firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
150
+ await el.updateComplete;
151
+ expect(el.selectedSort).to.equal('weeklyview');
152
+ });
153
+ it('handles click event on date-sort dropdown option', async () => {
154
+ var _a, _b;
155
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
156
+ const firstOption = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button');
157
+ expect(firstOption).to.exist;
158
+ firstOption === null || firstOption === void 0 ? void 0 : firstOption.click();
159
+ await el.updateComplete;
160
+ expect(el.selectedSort).to.equal('date');
161
+ });
162
+ it('shows view sort selector backdrop when view sort open', async () => {
163
+ var _a, _b, _c, _d;
164
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(1)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
165
+ const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
166
+ expect(caret).to.exist;
167
+ caret === null || caret === void 0 ? void 0 : caret.click();
168
+ await el.updateComplete;
169
+ let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
170
+ expect(backdrop).to.exist;
171
+ backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
172
+ await el.updateComplete;
173
+ backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
174
+ expect(backdrop).not.to.exist;
175
+ });
176
+ it('shows date sort selector backdrop when date sort open', async () => {
177
+ var _a, _b, _c, _d;
178
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
179
+ const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
180
+ expect(caret).to.exist;
181
+ caret === null || caret === void 0 ? void 0 : caret.click();
182
+ await el.updateComplete;
183
+ let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
184
+ expect(backdrop).to.exist;
185
+ backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
186
+ await el.updateComplete;
187
+ backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
188
+ expect(backdrop).not.to.exist;
189
+ });
190
+ it('closes dropdown by hitting escape key', async () => {
191
+ var _a, _b, _c, _d;
192
+ const defaultSortSelector = (_a = desktopSortSelector === null || desktopSortSelector === void 0 ? void 0 : desktopSortSelector.children.item(3)) === null || _a === void 0 ? void 0 : _a.querySelector('ia-dropdown');
193
+ const caret = (_b = defaultSortSelector === null || defaultSortSelector === void 0 ? void 0 : defaultSortSelector.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
194
+ expect(caret).to.exist;
195
+ caret === null || caret === void 0 ? void 0 : caret.click();
196
+ await el.updateComplete;
197
+ let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
198
+ expect(backdrop).to.exist;
199
+ document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
200
+ await el.updateComplete;
201
+ backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
202
+ expect(backdrop).not.to.exist;
203
+ });
204
+ });
205
+ describe('Sort direction button behavior', () => {
206
+ it('should disable sort direction button when sorting by relevance', async () => {
207
+ var _a;
208
208
  const el = await fixture(html `
209
209
  <sort-filter-bar> </sort-filter-bar>
210
- `);
211
- el.selectedSort = 'relevance';
212
- await el.updateComplete;
213
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
214
- expect(sortDirectionButton).to.exist;
215
- expect(sortDirectionButton.disabled).to.be.true;
216
- });
217
- it('should enable sort direction button when not sorting by relevance', async () => {
218
- var _a;
210
+ `);
211
+ el.selectedSort = 'relevance';
212
+ await el.updateComplete;
213
+ const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
214
+ expect(sortDirectionButton).to.exist;
215
+ expect(sortDirectionButton.disabled).to.be.true;
216
+ });
217
+ it('should enable sort direction button when not sorting by relevance', async () => {
218
+ var _a;
219
219
  const el = await fixture(html `
220
220
  <sort-filter-bar> </sort-filter-bar>
221
- `);
222
- el.selectedSort = 'title';
223
- await el.updateComplete;
224
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
225
- expect(sortDirectionButton).to.exist;
226
- expect(sortDirectionButton.disabled).to.be.false;
227
- });
228
- it('should toggle sort direction when clicked', async () => {
229
- var _a;
221
+ `);
222
+ el.selectedSort = 'title';
223
+ await el.updateComplete;
224
+ const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
225
+ expect(sortDirectionButton).to.exist;
226
+ expect(sortDirectionButton.disabled).to.be.false;
227
+ });
228
+ it('should toggle sort direction when clicked', async () => {
229
+ var _a;
230
230
  const el = await fixture(html `
231
231
  <sort-filter-bar> </sort-filter-bar>
232
- `);
233
- el.selectedSort = 'title';
234
- el.sortDirection = 'asc';
235
- await el.updateComplete;
236
- const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
237
- sortDirectionButton.click();
238
- await el.updateComplete;
239
- expect(el.sortDirection).to.equal('desc');
240
- sortDirectionButton.click();
241
- await el.updateComplete;
242
- expect(el.sortDirection).to.equal('asc');
243
- });
244
- });
245
- describe('Display mode/style buttons', () => {
246
- it('should render all display mode buttons', async () => {
247
- var _a, _b, _c, _d, _e;
232
+ `);
233
+ el.selectedSort = 'title';
234
+ el.sortDirection = 'asc';
235
+ await el.updateComplete;
236
+ const sortDirectionButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.sort-direction-selector');
237
+ sortDirectionButton.click();
238
+ await el.updateComplete;
239
+ expect(el.sortDirection).to.equal('desc');
240
+ sortDirectionButton.click();
241
+ await el.updateComplete;
242
+ expect(el.sortDirection).to.equal('asc');
243
+ });
244
+ });
245
+ describe('Display mode/style buttons', () => {
246
+ it('should render all display mode buttons', async () => {
247
+ var _a, _b, _c, _d, _e;
248
248
  const el = await fixture(html `
249
249
  <sort-filter-bar> </sort-filter-bar>
250
- `);
251
- 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');
252
- const gridButton = (_c = displayModeButtonList === null || displayModeButtonList === void 0 ? void 0 : displayModeButtonList.children.item(0)) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
253
- expect(gridButton).to.exist;
254
- 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');
255
- expect(detailListButton).to.exist;
256
- 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');
257
- expect(compactListButton).to.exist;
258
- });
259
- it('should active current display mode', async () => {
260
- var _a, _b, _c;
250
+ `);
251
+ 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');
252
+ const gridButton = (_c = displayModeButtonList === null || displayModeButtonList === void 0 ? void 0 : displayModeButtonList.children.item(0)) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
253
+ expect(gridButton).to.exist;
254
+ 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');
255
+ expect(detailListButton).to.exist;
256
+ 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');
257
+ expect(compactListButton).to.exist;
258
+ });
259
+ it('should active current display mode', async () => {
260
+ var _a, _b, _c;
261
261
  const el = await fixture(html `
262
262
  <sort-filter-bar> </sort-filter-bar>
263
- `);
264
- el.displayMode = 'grid';
265
- await el.updateComplete;
266
- 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');
267
- expect(displayModeTitle).to.equal('Tile view');
268
- });
269
- it('should change displayMode prop to the one clicked', async () => {
270
- var _a, _b, _c;
263
+ `);
264
+ el.displayMode = 'grid';
265
+ await el.updateComplete;
266
+ 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');
267
+ expect(displayModeTitle).to.equal('Tile view');
268
+ });
269
+ it('should change displayMode prop to the one clicked', async () => {
270
+ var _a, _b, _c;
271
271
  const el = await fixture(html `
272
272
  <sort-filter-bar> </sort-filter-bar>
273
- `);
274
- el.displayMode = 'grid';
275
- await el.updateComplete;
276
- const extendedListButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-detail-button');
277
- extendedListButton.click();
278
- await el.updateComplete;
279
- expect(el.displayMode).to.equal('list-detail');
280
- const compactListButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#list-compact-button');
281
- compactListButton.click();
282
- await el.updateComplete;
283
- expect(el.displayMode).to.equal('list-compact');
284
- const gridModeButton = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
285
- gridModeButton.click();
286
- await el.updateComplete;
287
- expect(el.displayMode).to.equal('grid');
288
- });
289
- });
290
- describe('Sort/filter bar letter behavior', () => {
291
- it('sets the selected title letter when clicked', async () => {
292
- var _a, _b, _c;
273
+ `);
274
+ el.displayMode = 'grid';
275
+ await el.updateComplete;
276
+ const extendedListButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-detail-button');
277
+ extendedListButton.click();
278
+ await el.updateComplete;
279
+ expect(el.displayMode).to.equal('list-detail');
280
+ const compactListButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#list-compact-button');
281
+ compactListButton.click();
282
+ await el.updateComplete;
283
+ expect(el.displayMode).to.equal('list-compact');
284
+ const gridModeButton = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#grid-button');
285
+ gridModeButton.click();
286
+ await el.updateComplete;
287
+ expect(el.displayMode).to.equal('grid');
288
+ });
289
+ });
290
+ describe('Sort/filter bar letter behavior', () => {
291
+ it('sets the selected title letter when clicked', async () => {
292
+ var _a, _b, _c;
293
293
  const el = await fixture(html `
294
294
  <sort-filter-bar></sort-filter-bar>
295
- `);
296
- el.selectedSort = 'title';
297
- el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };
298
- await el.updateComplete;
299
- const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
300
- const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
301
- expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('T');
302
- letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
303
- await el.updateComplete;
304
- expect(el.selectedTitleFilter).to.equal('T');
305
- });
306
- it('sets the selected creator letter when clicked', async () => {
307
- var _a, _b, _c;
295
+ `);
296
+ el.selectedSort = 'title';
297
+ el.prefixFilterCountMap = { title: { T: 1 }, creator: {} };
298
+ await el.updateComplete;
299
+ const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
300
+ const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
301
+ expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('T');
302
+ letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
303
+ await el.updateComplete;
304
+ expect(el.selectedTitleFilter).to.equal('T');
305
+ });
306
+ it('sets the selected creator letter when clicked', async () => {
307
+ var _a, _b, _c;
308
308
  const el = await fixture(html `
309
309
  <sort-filter-bar></sort-filter-bar>
310
- `);
311
- el.selectedSort = 'creator';
312
- el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };
313
- await el.updateComplete;
314
- const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
315
- const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
316
- expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('C');
317
- letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
318
- await el.updateComplete;
319
- expect(el.selectedCreatorFilter).to.equal('C');
320
- });
321
- });
322
- describe('Sort/filter bar mobile view', () => {
323
- let origWindowSize;
324
- before(() => {
325
- origWindowSize = { width: window.innerWidth, height: window.innerHeight };
326
- window.resizeTo(500, 600);
327
- });
328
- after(() => {
329
- window.resizeTo(origWindowSize.width, origWindowSize.height);
330
- });
331
- it('renders in mobile view', async () => {
332
- var _a, _b, _c, _d;
310
+ `);
311
+ el.selectedSort = 'creator';
312
+ el.prefixFilterCountMap = { title: {}, creator: { C: 1 } };
313
+ await el.updateComplete;
314
+ const alphaBar = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('alpha-bar');
315
+ const letterLink = (_b = alphaBar === null || alphaBar === void 0 ? void 0 : alphaBar.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('li > button:not(:disabled)');
316
+ expect((_c = letterLink === null || letterLink === void 0 ? void 0 : letterLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('C');
317
+ letterLink === null || letterLink === void 0 ? void 0 : letterLink.click();
318
+ await el.updateComplete;
319
+ expect(el.selectedCreatorFilter).to.equal('C');
320
+ });
321
+ });
322
+ describe('Sort/filter bar mobile view', () => {
323
+ let origWindowSize;
324
+ before(() => {
325
+ origWindowSize = { width: window.innerWidth, height: window.innerHeight };
326
+ window.resizeTo(500, 600);
327
+ });
328
+ after(() => {
329
+ window.resizeTo(origWindowSize.width, origWindowSize.height);
330
+ });
331
+ it('renders in mobile view', async () => {
332
+ var _a, _b, _c, _d;
333
333
  const el = await fixture(html `
334
334
  <sort-filter-bar></sort-filter-bar>
335
- `);
336
- const mobileSortContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-sort-container');
337
- const desktopSortContainer = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#desktop-sort-container');
338
- expect((_c = mobileSortContainer === null || mobileSortContainer === void 0 ? void 0 : mobileSortContainer.classList) === null || _c === void 0 ? void 0 : _c.contains('visible')).to.be.true;
339
- expect((_d = desktopSortContainer === null || desktopSortContainer === void 0 ? void 0 : desktopSortContainer.classList) === null || _d === void 0 ? void 0 : _d.contains('hidden')).to.be.true;
340
- });
341
- it('changes selected sort in mobile view', async () => {
342
- var _a;
335
+ `);
336
+ const mobileSortContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-sort-container');
337
+ const desktopSortContainer = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#desktop-sort-container');
338
+ expect((_c = mobileSortContainer === null || mobileSortContainer === void 0 ? void 0 : mobileSortContainer.classList) === null || _c === void 0 ? void 0 : _c.contains('visible')).to.be.true;
339
+ expect((_d = desktopSortContainer === null || desktopSortContainer === void 0 ? void 0 : desktopSortContainer.classList) === null || _d === void 0 ? void 0 : _d.contains('hidden')).to.be.true;
340
+ });
341
+ it('changes selected sort in mobile view', async () => {
342
+ var _a;
343
343
  const el = await fixture(html `
344
344
  <sort-filter-bar></sort-filter-bar>
345
- `);
346
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
347
- expect(mobileDropdown).to.exist;
348
- mobileDropdown.selectedOption = 'title';
349
- const option = { id: 'title' };
350
- mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
351
- await el.updateComplete;
352
- expect(el.selectedSort).to.equal('title');
353
- });
354
- it('clears title filter when sort changed from title in mobile view', async () => {
355
- var _a;
345
+ `);
346
+ const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
347
+ expect(mobileDropdown).to.exist;
348
+ mobileDropdown.selectedOption = 'title';
349
+ const option = { id: 'title' };
350
+ mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
351
+ await el.updateComplete;
352
+ expect(el.selectedSort).to.equal('title');
353
+ });
354
+ it('clears title filter when sort changed from title in mobile view', async () => {
355
+ var _a;
356
356
  const el = await fixture(html `
357
357
  <sort-filter-bar></sort-filter-bar>
358
- `);
359
- el.selectedSort = 'title';
360
- el.selectedTitleFilter = 'A';
361
- await el.updateComplete;
362
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
363
- expect(mobileDropdown).to.exist;
364
- mobileDropdown.selectedOption = 'relevance';
365
- const option = { id: 'relevance' };
366
- mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
367
- await el.updateComplete;
368
- expect(el.selectedSort).to.equal('relevance');
369
- expect(el.selectedTitleFilter).to.be.null;
370
- });
371
- it('clears creator filter when sort changed from creator in mobile view', async () => {
372
- var _a;
358
+ `);
359
+ el.selectedSort = 'title';
360
+ el.selectedTitleFilter = 'A';
361
+ await el.updateComplete;
362
+ const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
363
+ expect(mobileDropdown).to.exist;
364
+ mobileDropdown.selectedOption = 'relevance';
365
+ const option = { id: 'relevance' };
366
+ mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
367
+ await el.updateComplete;
368
+ expect(el.selectedSort).to.equal('relevance');
369
+ expect(el.selectedTitleFilter).to.be.null;
370
+ });
371
+ it('clears creator filter when sort changed from creator in mobile view', async () => {
372
+ var _a;
373
373
  const el = await fixture(html `
374
374
  <sort-filter-bar></sort-filter-bar>
375
- `);
376
- el.selectedSort = 'creator';
377
- el.selectedCreatorFilter = 'A';
378
- await el.updateComplete;
379
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
380
- expect(mobileDropdown).to.exist;
381
- mobileDropdown.selectedOption = 'relevance';
382
- const option = { id: 'relevance' };
383
- mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
384
- await el.updateComplete;
385
- expect(el.selectedSort).to.equal('relevance');
386
- expect(el.selectedCreatorFilter).to.be.null;
387
- });
388
- it('shows sort selector backdrop when mobile sort open', async () => {
389
- var _a, _b, _c, _d;
375
+ `);
376
+ el.selectedSort = 'creator';
377
+ el.selectedCreatorFilter = 'A';
378
+ await el.updateComplete;
379
+ const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
380
+ expect(mobileDropdown).to.exist;
381
+ mobileDropdown.selectedOption = 'relevance';
382
+ const option = { id: 'relevance' };
383
+ mobileDropdown.dispatchEvent(new CustomEvent('optionSelected', { detail: { option } }));
384
+ await el.updateComplete;
385
+ expect(el.selectedSort).to.equal('relevance');
386
+ expect(el.selectedCreatorFilter).to.be.null;
387
+ });
388
+ it('shows sort selector backdrop when mobile sort open', async () => {
389
+ var _a, _b, _c, _d;
390
390
  const el = await fixture(html `
391
391
  <sort-filter-bar></sort-filter-bar>
392
- `);
393
- const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
394
- expect(mobileDropdown).to.exist;
395
- const caret = (_b = mobileDropdown === null || mobileDropdown === void 0 ? void 0 : mobileDropdown.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
396
- expect(caret).to.exist;
397
- caret === null || caret === void 0 ? void 0 : caret.click();
398
- await el.updateComplete;
399
- let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
400
- expect(backdrop).to.exist;
401
- backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
402
- await el.updateComplete;
403
- backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
404
- expect(backdrop).not.to.exist;
405
- });
406
- });
392
+ `);
393
+ const mobileDropdown = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#mobile-dropdown');
394
+ expect(mobileDropdown).to.exist;
395
+ const caret = (_b = mobileDropdown === null || mobileDropdown === void 0 ? void 0 : mobileDropdown.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.caret');
396
+ expect(caret).to.exist;
397
+ caret === null || caret === void 0 ? void 0 : caret.click();
398
+ await el.updateComplete;
399
+ let backdrop = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#sort-selector-backdrop');
400
+ expect(backdrop).to.exist;
401
+ backdrop === null || backdrop === void 0 ? void 0 : backdrop.click();
402
+ await el.updateComplete;
403
+ backdrop = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#sort-selector-backdrop');
404
+ expect(backdrop).not.to.exist;
405
+ });
406
+ });
407
407
  //# sourceMappingURL=sort-filter-bar.test.js.map