@internetarchive/collection-browser 2.1.3 → 2.1.4-alpha.0

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