@internetarchive/collection-browser 2.1.8-alpha2 → 2.1.8

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 (303) 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 -88
  8. package/dist/src/app-root.js +475 -475
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +446 -446
  72. package/dist/src/collection-browser.js +1409 -1411
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +114 -114
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  79. package/dist/src/collection-facets/facets-template.js +114 -114
  80. package/dist/src/collection-facets/more-facets-content.d.ts +74 -70
  81. package/dist/src/collection-facets/more-facets-content.js +360 -354
  82. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  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 +511 -510
  89. package/dist/src/collection-facets.js.map +1 -1
  90. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +236 -236
  91. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  92. package/dist/src/data-source/collection-browser-data-source.d.ts +364 -364
  93. package/dist/src/data-source/collection-browser-data-source.js +946 -946
  94. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  95. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  96. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  97. package/dist/src/data-source/models.d.ts +28 -28
  98. package/dist/src/data-source/models.js +8 -8
  99. package/dist/src/empty-placeholder.d.ts +23 -23
  100. package/dist/src/empty-placeholder.js +74 -74
  101. package/dist/src/expanded-date-picker.d.ts +43 -43
  102. package/dist/src/expanded-date-picker.js +109 -109
  103. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  104. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  105. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  106. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  107. package/dist/src/manage/manage-bar.d.ts +30 -30
  108. package/dist/src/manage/manage-bar.js +61 -61
  109. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  110. package/dist/src/mediatype/mediatype-config.js +91 -91
  111. package/dist/src/models.d.ts +198 -198
  112. package/dist/src/models.js +381 -381
  113. package/dist/src/restoration-state-handler.d.ts +70 -70
  114. package/dist/src/restoration-state-handler.js +357 -357
  115. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  116. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  117. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  118. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  119. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  121. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/list.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  127. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  129. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  130. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  131. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  132. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  133. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +221 -221
  134. package/dist/src/sort-filter-bar/sort-filter-bar.js +691 -691
  135. package/dist/src/styles/ia-button.d.ts +2 -2
  136. package/dist/src/styles/ia-button.js +16 -16
  137. package/dist/src/styles/item-image-styles.d.ts +8 -8
  138. package/dist/src/styles/item-image-styles.js +9 -9
  139. package/dist/src/styles/sr-only.d.ts +1 -1
  140. package/dist/src/styles/sr-only.js +2 -2
  141. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  142. package/dist/src/tiles/base-tile-component.js +63 -63
  143. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  144. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  145. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  146. package/dist/src/tiles/grid/account-tile.js +72 -72
  147. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  148. package/dist/src/tiles/grid/collection-tile.js +80 -80
  149. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  150. package/dist/src/tiles/grid/item-tile.js +149 -149
  151. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  152. package/dist/src/tiles/grid/search-tile.js +51 -51
  153. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  154. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  155. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  156. package/dist/src/tiles/grid/tile-stats.js +53 -53
  157. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  158. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  159. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  160. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  161. package/dist/src/tiles/image-block.d.ts +17 -17
  162. package/dist/src/tiles/image-block.js +73 -73
  163. package/dist/src/tiles/item-image.d.ts +39 -39
  164. package/dist/src/tiles/item-image.js +154 -154
  165. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  166. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  167. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  168. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  169. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  170. package/dist/src/tiles/list/tile-list.js +315 -315
  171. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  172. package/dist/src/tiles/mediatype-icon.js +47 -47
  173. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  174. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  175. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  176. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  177. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  178. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  179. package/dist/src/tiles/review-block.d.ts +12 -12
  180. package/dist/src/tiles/review-block.js +56 -56
  181. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  182. package/dist/src/tiles/text-snippet-block.js +73 -73
  183. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  184. package/dist/src/tiles/tile-dispatcher.js +229 -229
  185. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  186. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  187. package/dist/src/utils/analytics-events.d.ts +26 -26
  188. package/dist/src/utils/analytics-events.js +28 -28
  189. package/dist/src/utils/array-equals.d.ts +4 -4
  190. package/dist/src/utils/array-equals.js +10 -10
  191. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  192. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  193. package/dist/src/utils/format-count.d.ts +7 -7
  194. package/dist/src/utils/format-count.js +76 -76
  195. package/dist/src/utils/format-date.d.ts +2 -2
  196. package/dist/src/utils/format-date.js +25 -25
  197. package/dist/src/utils/format-unit-size.d.ts +2 -2
  198. package/dist/src/utils/format-unit-size.js +33 -33
  199. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  200. package/dist/src/utils/local-date-from-utc.js +15 -15
  201. package/dist/src/utils/log.d.ts +7 -7
  202. package/dist/src/utils/log.js +15 -15
  203. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  204. package/dist/src/utils/resolve-mediatype.js +23 -23
  205. package/dist/src/utils/sha1.d.ts +2 -2
  206. package/dist/src/utils/sha1.js +8 -8
  207. package/dist/test/collection-browser.test.d.ts +1 -1
  208. package/dist/test/collection-browser.test.js +1283 -1283
  209. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  210. package/dist/test/collection-facets/facet-row.test.js +203 -203
  211. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  212. package/dist/test/collection-facets/facets-template.test.js +105 -105
  213. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  214. package/dist/test/collection-facets/more-facets-content.test.js +141 -135
  215. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  216. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  217. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  218. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  219. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  220. package/dist/test/collection-facets.test.d.ts +2 -2
  221. package/dist/test/collection-facets.test.js +652 -654
  222. package/dist/test/collection-facets.test.js.map +1 -1
  223. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  224. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  225. package/dist/test/empty-placeholder.test.d.ts +1 -1
  226. package/dist/test/empty-placeholder.test.js +63 -63
  227. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  228. package/dist/test/expanded-date-picker.test.js +95 -95
  229. package/dist/test/icon-overlay.test.d.ts +1 -1
  230. package/dist/test/icon-overlay.test.js +24 -24
  231. package/dist/test/image-block.test.d.ts +1 -1
  232. package/dist/test/image-block.test.js +48 -48
  233. package/dist/test/item-image.test.d.ts +1 -1
  234. package/dist/test/item-image.test.js +85 -85
  235. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  236. package/dist/test/manage/manage-bar.test.js +81 -81
  237. package/dist/test/mediatype-config.test.d.ts +1 -1
  238. package/dist/test/mediatype-config.test.js +16 -16
  239. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  240. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  241. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  242. package/dist/test/mocks/mock-search-responses.js +860 -860
  243. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  244. package/dist/test/mocks/mock-search-service.js +53 -53
  245. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  246. package/dist/test/restoration-state-handler.test.js +270 -270
  247. package/dist/test/review-block.test.d.ts +1 -1
  248. package/dist/test/review-block.test.js +44 -44
  249. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  250. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  251. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  252. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  253. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  254. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  255. package/dist/test/text-overlay.test.d.ts +1 -1
  256. package/dist/test/text-overlay.test.js +48 -48
  257. package/dist/test/text-snippet-block.test.d.ts +1 -1
  258. package/dist/test/text-snippet-block.test.js +57 -57
  259. package/dist/test/tile-stats.test.d.ts +1 -1
  260. package/dist/test/tile-stats.test.js +81 -81
  261. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  262. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  263. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  264. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  265. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  266. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  267. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  268. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  269. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  270. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  271. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  272. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  273. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  275. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  276. package/dist/test/tiles/list/tile-list.test.js +297 -297
  277. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  279. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  280. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  281. package/dist/test/utils/array-equals.test.d.ts +1 -1
  282. package/dist/test/utils/array-equals.test.js +26 -26
  283. package/dist/test/utils/format-count.test.d.ts +1 -1
  284. package/dist/test/utils/format-count.test.js +23 -23
  285. package/dist/test/utils/format-date.test.d.ts +1 -1
  286. package/dist/test/utils/format-date.test.js +17 -17
  287. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  288. package/dist/test/utils/format-unit-size.test.js +17 -17
  289. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  290. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  291. package/local.archive.org.cert +86 -86
  292. package/local.archive.org.key +27 -27
  293. package/package.json +1 -1
  294. package/renovate.json +6 -6
  295. package/src/collection-browser.ts +2 -3
  296. package/src/collection-facets/more-facets-content.ts +21 -13
  297. package/src/collection-facets.ts +7 -5
  298. package/src/data-source/collection-browser-data-source.ts +1 -1
  299. package/test/collection-facets/more-facets-content.test.ts +8 -2
  300. package/test/collection-facets.test.ts +3 -5
  301. package/tsconfig.json +21 -21
  302. package/web-dev-server.config.mjs +30 -30
  303. package/web-test-runner.config.mjs +41 -41
@@ -1 +1 @@
1
- import '../../src/collection-facets/facet-row';
1
+ import '../../src/collection-facets/facet-row';
@@ -1,224 +1,224 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import sinon from 'sinon';
3
- import { html } from 'lit';
4
- import '../../src/collection-facets/facet-row';
5
- describe('Facet row', () => {
6
- it('renders nothing if no bucket provided', async () => {
7
- var _a;
8
- const el = await fixture(html `<facet-row .facetType=${'subject'}></facet-row>`);
9
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
10
- });
11
- it('renders nothing if no facet type provided', async () => {
12
- var _a;
13
- const bucket = {
14
- key: 'foo',
15
- state: 'none',
16
- count: 5,
17
- };
18
- const el = await fixture(html `<facet-row .bucket=${bucket}></facet-row>`);
19
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
20
- });
21
- it('renders provided bucket as facet row', async () => {
22
- var _a, _b, _c, _d, _e;
23
- const bucket = {
24
- key: 'foo',
25
- state: 'none',
26
- count: 5,
27
- };
28
- const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
29
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).to.exist;
30
- expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('input[type="checkbox"]')).to.have.length(2);
31
- expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('label')).to.have.length(2);
32
- expect((_e = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.match(/^foo\s*5$/);
33
- });
34
- it('renders locale-appropriate facet count', async () => {
35
- var _a;
36
- const bucket = {
37
- key: 'foo',
38
- state: 'none',
39
- count: 54321,
40
- };
41
- const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
42
- const facetCount = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-count');
43
- expect(facetCount === null || facetCount === void 0 ? void 0 : facetCount.textContent).to.equal('54,321');
44
- });
45
- it('renders selected facets with checked checkbox', async () => {
46
- var _a, _b, _c;
47
- const bucket = {
48
- key: 'foo',
49
- state: 'selected',
50
- count: 5,
51
- };
52
- const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
53
- // "Positive" checkbox is checked; "Negative" checkbox is not checked
54
- const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
55
- const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
56
- expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.true;
57
- expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.false;
58
- // Eye icon is not in its active state
59
- expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => !icon.classList.contains('active'));
60
- });
61
- it('renders hidden facets with closed eye icon', async () => {
62
- var _a, _b, _c;
63
- const bucket = {
64
- key: 'foo',
65
- state: 'hidden',
66
- count: 5,
67
- };
68
- const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
69
- // "Positive" checkbox is not checked; "Negative" checkbox is checked
70
- const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
71
- const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
72
- expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.false;
73
- expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.true;
74
- // Eye icon is in its "active" state
75
- expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => icon.classList.contains('active'));
76
- });
77
- it('renders collection facets as links', async () => {
78
- var _a;
79
- const bucket = {
80
- key: 'foo',
81
- state: 'none',
82
- count: 5,
83
- };
84
- const el = await fixture(html `<facet-row .facetType=${'collection'} .bucket=${bucket}></facet-row>`);
85
- const collectionName = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-title > a:link');
86
- expect(collectionName).to.exist;
87
- expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.getAttribute('href')).to.equal('/details/foo');
88
- });
89
- it('does not render non-collection facets as links', async () => {
90
- var _a;
91
- const bucket = {
92
- key: 'foo',
93
- state: 'none',
94
- count: 5,
95
- };
96
- const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
97
- expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a:link')).not.to.exist;
98
- });
99
- it('emits event when facet checkbox is clicked', async () => {
100
- var _a, _b;
101
- const facetClickSpy = sinon.spy();
102
- const bucket = {
103
- key: 'foo',
104
- state: 'none',
105
- count: 5,
106
- };
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import sinon from 'sinon';
3
+ import { html } from 'lit';
4
+ import '../../src/collection-facets/facet-row';
5
+ describe('Facet row', () => {
6
+ it('renders nothing if no bucket provided', async () => {
7
+ var _a;
8
+ const el = await fixture(html `<facet-row .facetType=${'subject'}></facet-row>`);
9
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
10
+ });
11
+ it('renders nothing if no facet type provided', async () => {
12
+ var _a;
13
+ const bucket = {
14
+ key: 'foo',
15
+ state: 'none',
16
+ count: 5,
17
+ };
18
+ const el = await fixture(html `<facet-row .bucket=${bucket}></facet-row>`);
19
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).not.to.exist;
20
+ });
21
+ it('renders provided bucket as facet row', async () => {
22
+ var _a, _b, _c, _d, _e;
23
+ const bucket = {
24
+ key: 'foo',
25
+ state: 'none',
26
+ count: 5,
27
+ };
28
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
29
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-row-container')).to.exist;
30
+ expect((_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('input[type="checkbox"]')).to.have.length(2);
31
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('label')).to.have.length(2);
32
+ expect((_e = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.match(/^foo\s*5$/);
33
+ });
34
+ it('renders locale-appropriate facet count', async () => {
35
+ var _a;
36
+ const bucket = {
37
+ key: 'foo',
38
+ state: 'none',
39
+ count: 54321,
40
+ };
41
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
42
+ const facetCount = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-count');
43
+ expect(facetCount === null || facetCount === void 0 ? void 0 : facetCount.textContent).to.equal('54,321');
44
+ });
45
+ it('renders selected facets with checked checkbox', async () => {
46
+ var _a, _b, _c;
47
+ const bucket = {
48
+ key: 'foo',
49
+ state: 'selected',
50
+ count: 5,
51
+ };
52
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
53
+ // "Positive" checkbox is checked; "Negative" checkbox is not checked
54
+ const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
55
+ const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
56
+ expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.true;
57
+ expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.false;
58
+ // Eye icon is not in its active state
59
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => !icon.classList.contains('active'));
60
+ });
61
+ it('renders hidden facets with closed eye icon', async () => {
62
+ var _a, _b, _c;
63
+ const bucket = {
64
+ key: 'foo',
65
+ state: 'hidden',
66
+ count: 5,
67
+ };
68
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
69
+ // "Positive" checkbox is not checked; "Negative" checkbox is checked
70
+ const selectCheckbox = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
71
+ const hideCheckbox = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.hide-facet-checkbox');
72
+ expect(selectCheckbox === null || selectCheckbox === void 0 ? void 0 : selectCheckbox.checked).to.be.false;
73
+ expect(hideCheckbox === null || hideCheckbox === void 0 ? void 0 : hideCheckbox.checked).to.be.true;
74
+ // Eye icon is in its "active" state
75
+ expect((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.hide-facet-icon')).to.exist.and.satisfy((icon) => icon.classList.contains('active'));
76
+ });
77
+ it('renders collection facets as links', async () => {
78
+ var _a;
79
+ const bucket = {
80
+ key: 'foo',
81
+ state: 'none',
82
+ count: 5,
83
+ };
84
+ const el = await fixture(html `<facet-row .facetType=${'collection'} .bucket=${bucket}></facet-row>`);
85
+ const collectionName = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-title > a:link');
86
+ expect(collectionName).to.exist;
87
+ expect(collectionName === null || collectionName === void 0 ? void 0 : collectionName.getAttribute('href')).to.equal('/details/foo');
88
+ });
89
+ it('does not render non-collection facets as links', async () => {
90
+ var _a;
91
+ const bucket = {
92
+ key: 'foo',
93
+ state: 'none',
94
+ count: 5,
95
+ };
96
+ const el = await fixture(html `<facet-row .facetType=${'subject'} .bucket=${bucket}></facet-row>`);
97
+ expect((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a:link')).not.to.exist;
98
+ });
99
+ it('emits event when facet checkbox is clicked', async () => {
100
+ var _a, _b;
101
+ const facetClickSpy = sinon.spy();
102
+ const bucket = {
103
+ key: 'foo',
104
+ state: 'none',
105
+ count: 5,
106
+ };
107
107
  const el = await fixture(html `<facet-row
108
108
  .facetType=${'subject'}
109
109
  .bucket=${bucket}
110
110
  @facetClick=${facetClickSpy}
111
- ></facet-row>`);
112
- const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
113
- expect(positiveFacetCheck).to.exist;
114
- positiveFacetCheck.click();
115
- expect(facetClickSpy.callCount).to.equal(1);
116
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
117
- facetType: 'subject',
118
- bucket,
119
- negative: false,
120
- });
121
- });
122
- it('emits event when facet checkbox is unchecked', async () => {
123
- var _a, _b;
124
- const facetClickSpy = sinon.spy();
125
- const bucket = {
126
- key: 'foo',
127
- state: 'selected',
128
- count: 5,
129
- };
111
+ ></facet-row>`);
112
+ const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
113
+ expect(positiveFacetCheck).to.exist;
114
+ positiveFacetCheck.click();
115
+ expect(facetClickSpy.callCount).to.equal(1);
116
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
117
+ facetType: 'subject',
118
+ bucket,
119
+ negative: false,
120
+ });
121
+ });
122
+ it('emits event when facet checkbox is unchecked', async () => {
123
+ var _a, _b;
124
+ const facetClickSpy = sinon.spy();
125
+ const bucket = {
126
+ key: 'foo',
127
+ state: 'selected',
128
+ count: 5,
129
+ };
130
130
  const el = await fixture(html `<facet-row
131
131
  .facetType=${'subject'}
132
132
  .bucket=${bucket}
133
133
  @facetClick=${facetClickSpy}
134
- ></facet-row>`);
135
- const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
136
- expect(positiveFacetCheck).to.exist;
137
- positiveFacetCheck.click();
138
- expect(facetClickSpy.callCount).to.equal(1);
139
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
140
- facetType: 'subject',
141
- bucket,
142
- negative: false,
143
- });
144
- });
145
- it('emits event when facet negative icon is clicked', async () => {
146
- var _a, _b;
147
- const facetClickSpy = sinon.spy();
148
- const bucket = {
149
- key: 'foo',
150
- state: 'none',
151
- count: 5,
152
- };
134
+ ></facet-row>`);
135
+ const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
136
+ expect(positiveFacetCheck).to.exist;
137
+ positiveFacetCheck.click();
138
+ expect(facetClickSpy.callCount).to.equal(1);
139
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
140
+ facetType: 'subject',
141
+ bucket,
142
+ negative: false,
143
+ });
144
+ });
145
+ it('emits event when facet negative icon is clicked', async () => {
146
+ var _a, _b;
147
+ const facetClickSpy = sinon.spy();
148
+ const bucket = {
149
+ key: 'foo',
150
+ state: 'none',
151
+ count: 5,
152
+ };
153
153
  const el = await fixture(html `<facet-row
154
154
  .facetType=${'subject'}
155
155
  .bucket=${bucket}
156
156
  @facetClick=${facetClickSpy}
157
- ></facet-row>`);
158
- const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
159
- expect(negativeFacetIcon).to.exist;
160
- negativeFacetIcon.click();
161
- expect(facetClickSpy.callCount).to.equal(1);
162
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
163
- facetType: 'subject',
164
- bucket,
165
- negative: true,
166
- });
167
- });
168
- it('emits event when facet negative icon is unchecked', async () => {
169
- var _a, _b;
170
- const facetClickSpy = sinon.spy();
171
- const bucket = {
172
- key: 'foo',
173
- state: 'hidden',
174
- count: 5,
175
- };
157
+ ></facet-row>`);
158
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
159
+ expect(negativeFacetIcon).to.exist;
160
+ negativeFacetIcon.click();
161
+ expect(facetClickSpy.callCount).to.equal(1);
162
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
163
+ facetType: 'subject',
164
+ bucket,
165
+ negative: true,
166
+ });
167
+ });
168
+ it('emits event when facet negative icon is unchecked', async () => {
169
+ var _a, _b;
170
+ const facetClickSpy = sinon.spy();
171
+ const bucket = {
172
+ key: 'foo',
173
+ state: 'hidden',
174
+ count: 5,
175
+ };
176
176
  const el = await fixture(html `<facet-row
177
177
  .facetType=${'subject'}
178
178
  .bucket=${bucket}
179
179
  @facetClick=${facetClickSpy}
180
- ></facet-row>`);
181
- const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
182
- expect(negativeFacetIcon).to.exist;
183
- negativeFacetIcon.click();
184
- expect(facetClickSpy.callCount).to.equal(1);
185
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
186
- facetType: 'subject',
187
- bucket,
188
- negative: true,
189
- });
190
- });
191
- it('selects/deselects facet when label is clicked', async () => {
192
- var _a, _b, _c;
193
- const facetClickSpy = sinon.spy();
194
- const bucket = {
195
- key: 'foo',
196
- state: 'none',
197
- count: 5,
198
- };
180
+ ></facet-row>`);
181
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
182
+ expect(negativeFacetIcon).to.exist;
183
+ negativeFacetIcon.click();
184
+ expect(facetClickSpy.callCount).to.equal(1);
185
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
186
+ facetType: 'subject',
187
+ bucket,
188
+ negative: true,
189
+ });
190
+ });
191
+ it('selects/deselects facet when label is clicked', async () => {
192
+ var _a, _b, _c;
193
+ const facetClickSpy = sinon.spy();
194
+ const bucket = {
195
+ key: 'foo',
196
+ state: 'none',
197
+ count: 5,
198
+ };
199
199
  const el = await fixture(html `<facet-row
200
200
  .facetType=${'subject'}
201
201
  .bucket=${bucket}
202
202
  @facetClick=${facetClickSpy}
203
- ></facet-row>`);
204
- const facetLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
205
- expect(facetLabel).to.exist;
206
- // Select facet by clicking label
207
- facetLabel.click();
208
- expect(facetClickSpy.callCount).to.equal(1);
209
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
210
- facetType: 'subject',
211
- bucket,
212
- negative: false,
213
- });
214
- // Deselect facet by clicking label
215
- facetLabel.click();
216
- expect(facetClickSpy.callCount).to.equal(2);
217
- expect((_c = facetClickSpy.lastCall.args[0]) === null || _c === void 0 ? void 0 : _c.detail).to.deep.equal({
218
- facetType: 'subject',
219
- bucket,
220
- negative: false,
221
- });
222
- });
223
- });
203
+ ></facet-row>`);
204
+ const facetLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
205
+ expect(facetLabel).to.exist;
206
+ // Select facet by clicking label
207
+ facetLabel.click();
208
+ expect(facetClickSpy.callCount).to.equal(1);
209
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
210
+ facetType: 'subject',
211
+ bucket,
212
+ negative: false,
213
+ });
214
+ // Deselect facet by clicking label
215
+ facetLabel.click();
216
+ expect(facetClickSpy.callCount).to.equal(2);
217
+ expect((_c = facetClickSpy.lastCall.args[0]) === null || _c === void 0 ? void 0 : _c.detail).to.deep.equal({
218
+ facetType: 'subject',
219
+ bucket,
220
+ negative: false,
221
+ });
222
+ });
223
+ });
224
224
  //# sourceMappingURL=facet-row.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/facets-template';
1
+ import '../../src/collection-facets/facets-template';