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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +88 -84
  8. package/dist/src/app-root.js +487 -452
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  31. package/dist/src/assets/img/icons/login-required.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  60. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  61. package/dist/src/assets/img/icons/null-result.js +2 -2
  62. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  63. package/dist/src/assets/img/icons/restricted.js +2 -2
  64. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  65. package/dist/src/assets/img/icons/reviews.js +2 -2
  66. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  67. package/dist/src/assets/img/icons/upload.js +2 -2
  68. package/dist/src/assets/img/icons/views.d.ts +1 -1
  69. package/dist/src/assets/img/icons/views.js +2 -2
  70. package/dist/src/circular-activity-indicator.d.ts +5 -5
  71. package/dist/src/circular-activity-indicator.js +17 -17
  72. package/dist/src/collection-browser.d.ts +395 -394
  73. package/dist/src/collection-browser.js +1363 -1356
  74. package/dist/src/collection-browser.js.map +1 -1
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +114 -114
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  80. package/dist/src/collection-facets/facets-template.js +114 -114
  81. package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
  82. package/dist/src/collection-facets/more-facets-content.js +354 -354
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +509 -509
  89. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +232 -232
  90. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  91. package/dist/src/data-source/collection-browser-data-source.d.ts +360 -360
  92. package/dist/src/data-source/collection-browser-data-source.js +930 -930
  93. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  94. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  95. package/dist/src/data-source/models.d.ts +28 -28
  96. package/dist/src/data-source/models.js +8 -8
  97. package/dist/src/empty-placeholder.d.ts +23 -23
  98. package/dist/src/empty-placeholder.js +74 -74
  99. package/dist/src/expanded-date-picker.d.ts +43 -43
  100. package/dist/src/expanded-date-picker.js +109 -109
  101. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  102. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  103. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  104. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  105. package/dist/src/manage/manage-bar.d.ts +26 -26
  106. package/dist/src/manage/manage-bar.js +53 -53
  107. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  108. package/dist/src/mediatype/mediatype-config.js +91 -91
  109. package/dist/src/models.d.ts +198 -198
  110. package/dist/src/models.js +381 -381
  111. package/dist/src/restoration-state-handler.d.ts +70 -70
  112. package/dist/src/restoration-state-handler.js +357 -357
  113. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  114. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  115. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  116. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  117. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  118. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  119. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/list.js +2 -2
  121. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  127. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  129. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  130. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  131. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +221 -219
  132. package/dist/src/sort-filter-bar/sort-filter-bar.js +695 -685
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  134. package/dist/src/styles/item-image-styles.d.ts +8 -8
  135. package/dist/src/styles/item-image-styles.js +9 -9
  136. package/dist/src/styles/sr-only.d.ts +1 -1
  137. package/dist/src/styles/sr-only.js +2 -2
  138. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  139. package/dist/src/tiles/base-tile-component.js +63 -63
  140. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  141. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  142. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  143. package/dist/src/tiles/grid/account-tile.js +72 -72
  144. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  145. package/dist/src/tiles/grid/collection-tile.js +80 -80
  146. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  147. package/dist/src/tiles/grid/item-tile.js +149 -149
  148. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  149. package/dist/src/tiles/grid/search-tile.js +51 -51
  150. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  151. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  152. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  153. package/dist/src/tiles/grid/tile-stats.js +53 -53
  154. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  155. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  156. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  157. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  158. package/dist/src/tiles/image-block.d.ts +17 -17
  159. package/dist/src/tiles/image-block.js +73 -73
  160. package/dist/src/tiles/item-image.d.ts +39 -39
  161. package/dist/src/tiles/item-image.js +154 -154
  162. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  163. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  164. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  165. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  166. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  167. package/dist/src/tiles/list/tile-list.js +315 -315
  168. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  169. package/dist/src/tiles/mediatype-icon.js +47 -47
  170. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  171. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  172. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  173. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  174. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  175. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  176. package/dist/src/tiles/review-block.d.ts +12 -12
  177. package/dist/src/tiles/review-block.js +56 -56
  178. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  179. package/dist/src/tiles/text-snippet-block.js +73 -73
  180. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  181. package/dist/src/tiles/tile-dispatcher.js +232 -232
  182. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  183. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  184. package/dist/src/utils/analytics-events.d.ts +25 -25
  185. package/dist/src/utils/analytics-events.js +27 -27
  186. package/dist/src/utils/array-equals.d.ts +4 -4
  187. package/dist/src/utils/array-equals.js +10 -10
  188. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  189. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  190. package/dist/src/utils/format-count.d.ts +7 -7
  191. package/dist/src/utils/format-count.js +76 -76
  192. package/dist/src/utils/format-date.d.ts +2 -2
  193. package/dist/src/utils/format-date.js +25 -25
  194. package/dist/src/utils/format-unit-size.d.ts +2 -2
  195. package/dist/src/utils/format-unit-size.js +33 -33
  196. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  197. package/dist/src/utils/local-date-from-utc.js +15 -15
  198. package/dist/src/utils/log.d.ts +7 -7
  199. package/dist/src/utils/log.js +15 -15
  200. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  201. package/dist/src/utils/resolve-mediatype.js +23 -23
  202. package/dist/src/utils/sha1.d.ts +2 -2
  203. package/dist/src/utils/sha1.js +8 -8
  204. package/dist/test/collection-browser.test.d.ts +1 -1
  205. package/dist/test/collection-browser.test.js +1215 -1215
  206. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  207. package/dist/test/collection-facets/facet-row.test.js +203 -203
  208. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  209. package/dist/test/collection-facets/facets-template.test.js +105 -105
  210. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  211. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  212. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  213. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  214. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  215. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  216. package/dist/test/collection-facets.test.d.ts +2 -2
  217. package/dist/test/collection-facets.test.js +652 -652
  218. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  219. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  220. package/dist/test/empty-placeholder.test.d.ts +1 -1
  221. package/dist/test/empty-placeholder.test.js +63 -63
  222. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  223. package/dist/test/expanded-date-picker.test.js +95 -95
  224. package/dist/test/icon-overlay.test.d.ts +1 -1
  225. package/dist/test/icon-overlay.test.js +24 -24
  226. package/dist/test/image-block.test.d.ts +1 -1
  227. package/dist/test/image-block.test.js +48 -48
  228. package/dist/test/item-image.test.d.ts +1 -1
  229. package/dist/test/item-image.test.js +85 -85
  230. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  231. package/dist/test/manage/manage-bar.test.js +72 -72
  232. package/dist/test/mediatype-config.test.d.ts +1 -1
  233. package/dist/test/mediatype-config.test.js +16 -16
  234. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  235. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  236. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  237. package/dist/test/mocks/mock-search-responses.js +840 -840
  238. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  239. package/dist/test/mocks/mock-search-service.js +53 -53
  240. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  241. package/dist/test/restoration-state-handler.test.js +270 -270
  242. package/dist/test/review-block.test.d.ts +1 -1
  243. package/dist/test/review-block.test.js +44 -44
  244. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  245. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  246. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  247. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  248. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +420 -420
  250. package/dist/test/text-overlay.test.d.ts +1 -1
  251. package/dist/test/text-overlay.test.js +48 -48
  252. package/dist/test/text-snippet-block.test.d.ts +1 -1
  253. package/dist/test/text-snippet-block.test.js +57 -57
  254. package/dist/test/tile-stats.test.d.ts +1 -1
  255. package/dist/test/tile-stats.test.js +81 -81
  256. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  257. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  258. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  259. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  260. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  261. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  262. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  263. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  264. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  265. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  266. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  267. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  268. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  269. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  270. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  271. package/dist/test/tiles/list/tile-list.test.js +297 -297
  272. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  273. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  274. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  275. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  276. package/dist/test/utils/array-equals.test.d.ts +1 -1
  277. package/dist/test/utils/array-equals.test.js +26 -26
  278. package/dist/test/utils/format-count.test.d.ts +1 -1
  279. package/dist/test/utils/format-count.test.js +23 -23
  280. package/dist/test/utils/format-date.test.d.ts +1 -1
  281. package/dist/test/utils/format-date.test.js +17 -17
  282. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  283. package/dist/test/utils/format-unit-size.test.js +17 -17
  284. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  285. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  286. package/local.archive.org.cert +86 -86
  287. package/local.archive.org.key +27 -27
  288. package/package.json +1 -1
  289. package/renovate.json +6 -6
  290. package/src/app-root.ts +59 -23
  291. package/src/collection-browser.ts +6 -1
  292. package/src/sort-filter-bar/sort-filter-bar.ts +10 -1
  293. package/tsconfig.json +21 -21
  294. package/web-dev-server.config.mjs +30 -30
  295. package/web-test-runner.config.mjs +41 -41
  296. package/types/sentry.d.ts +0 -1
@@ -1 +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';