@internetarchive/collection-browser 2.7.12 → 2.7.13-alpha2

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