@internetarchive/collection-browser 2.7.9 → 2.7.10

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 (316) 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 +13 -13
  6. package/dist/index.js +13 -13
  7. package/dist/src/app-root.d.ts +107 -107
  8. package/dist/src/app-root.js +531 -531
  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/filter.d.ts +2 -2
  30. package/dist/src/assets/img/icons/filter.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  61. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  62. package/dist/src/assets/img/icons/null-result.js +2 -2
  63. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  64. package/dist/src/assets/img/icons/restricted.js +2 -2
  65. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  66. package/dist/src/assets/img/icons/reviews.js +2 -2
  67. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  68. package/dist/src/assets/img/icons/upload.js +2 -2
  69. package/dist/src/assets/img/icons/views.d.ts +1 -1
  70. package/dist/src/assets/img/icons/views.js +2 -2
  71. package/dist/src/circular-activity-indicator.d.ts +5 -5
  72. package/dist/src/circular-activity-indicator.js +17 -17
  73. package/dist/src/collection-browser.d.ts +606 -606
  74. package/dist/src/collection-browser.js +1672 -1672
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +118 -118
  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 +13 -13
  80. package/dist/src/collection-facets/facets-template.js +44 -44
  81. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  82. package/dist/src/collection-facets/more-facets-content.js +407 -407
  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/smart-facets/dedupe.d.ts +10 -10
  86. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  87. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  88. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  89. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  90. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  91. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  92. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  93. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  94. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  95. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  96. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  97. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  98. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  99. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  100. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  101. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  102. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  103. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  105. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  106. package/dist/src/collection-facets/toggle-switch.js +94 -94
  107. package/dist/src/collection-facets.d.ts +103 -103
  108. package/dist/src/collection-facets.js +522 -522
  109. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  110. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  111. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  112. package/dist/src/data-source/collection-browser-data-source.js +995 -995
  113. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  114. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  115. package/dist/src/data-source/models.d.ts +28 -28
  116. package/dist/src/data-source/models.js +8 -8
  117. package/dist/src/empty-placeholder.d.ts +23 -23
  118. package/dist/src/empty-placeholder.js +79 -79
  119. package/dist/src/expanded-date-picker.d.ts +43 -43
  120. package/dist/src/expanded-date-picker.js +109 -109
  121. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  122. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  123. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  124. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  125. package/dist/src/manage/manage-bar.d.ts +58 -58
  126. package/dist/src/manage/manage-bar.js +159 -159
  127. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  128. package/dist/src/manage/remove-items-modal-content.js +34 -34
  129. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  130. package/dist/src/mediatype/mediatype-config.js +91 -91
  131. package/dist/src/models.d.ts +228 -228
  132. package/dist/src/models.js +401 -401
  133. package/dist/src/restoration-state-handler.d.ts +70 -70
  134. package/dist/src/restoration-state-handler.js +363 -363
  135. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  136. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  137. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  138. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  139. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  140. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  141. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  142. package/dist/src/sort-filter-bar/img/list.js +2 -2
  143. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  144. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  145. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  146. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  147. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  148. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  149. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  150. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  151. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  152. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  153. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  154. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  155. package/dist/src/styles/ia-button.d.ts +2 -2
  156. package/dist/src/styles/ia-button.js +17 -17
  157. package/dist/src/styles/item-image-styles.d.ts +8 -8
  158. package/dist/src/styles/item-image-styles.js +9 -9
  159. package/dist/src/styles/sr-only.d.ts +1 -1
  160. package/dist/src/styles/sr-only.js +2 -2
  161. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  162. package/dist/src/tiles/base-tile-component.js +64 -64
  163. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  164. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  165. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  166. package/dist/src/tiles/grid/account-tile.js +72 -72
  167. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  168. package/dist/src/tiles/grid/collection-tile.js +80 -80
  169. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  170. package/dist/src/tiles/grid/item-tile.js +158 -158
  171. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  172. package/dist/src/tiles/grid/search-tile.js +51 -51
  173. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  174. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  175. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  176. package/dist/src/tiles/grid/tile-stats.js +53 -53
  177. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  178. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  179. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  180. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  181. package/dist/src/tiles/image-block.d.ts +18 -18
  182. package/dist/src/tiles/image-block.js +89 -89
  183. package/dist/src/tiles/item-image.d.ts +39 -39
  184. package/dist/src/tiles/item-image.js +154 -154
  185. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  186. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  187. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  188. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  189. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  190. package/dist/src/tiles/list/tile-list.js +323 -323
  191. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  192. package/dist/src/tiles/mediatype-icon.js +47 -47
  193. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  194. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  195. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  196. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  197. package/dist/src/tiles/review-block.d.ts +12 -12
  198. package/dist/src/tiles/review-block.js +56 -56
  199. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  200. package/dist/src/tiles/text-snippet-block.js +73 -73
  201. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  202. package/dist/src/tiles/tile-dispatcher.js +230 -230
  203. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  204. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  205. package/dist/src/utils/analytics-events.d.ts +28 -28
  206. package/dist/src/utils/analytics-events.js +30 -30
  207. package/dist/src/utils/array-equals.d.ts +4 -4
  208. package/dist/src/utils/array-equals.js +10 -10
  209. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  210. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  211. package/dist/src/utils/facet-utils.d.ts +83 -83
  212. package/dist/src/utils/facet-utils.js +145 -145
  213. package/dist/src/utils/format-count.d.ts +7 -7
  214. package/dist/src/utils/format-count.js +76 -76
  215. package/dist/src/utils/format-date.d.ts +2 -2
  216. package/dist/src/utils/format-date.js +27 -27
  217. package/dist/src/utils/format-unit-size.d.ts +2 -2
  218. package/dist/src/utils/format-unit-size.js +33 -33
  219. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  220. package/dist/src/utils/local-date-from-utc.js +15 -15
  221. package/dist/src/utils/log.d.ts +7 -7
  222. package/dist/src/utils/log.js +15 -15
  223. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  224. package/dist/src/utils/resolve-mediatype.js +23 -23
  225. package/dist/src/utils/sha1.d.ts +2 -2
  226. package/dist/src/utils/sha1.js +8 -8
  227. package/dist/test/collection-browser.test.d.ts +1 -1
  228. package/dist/test/collection-browser.test.js +1308 -1308
  229. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  230. package/dist/test/collection-facets/facet-row.test.js +227 -227
  231. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  232. package/dist/test/collection-facets/facets-template.test.js +91 -91
  233. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  234. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  235. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  236. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  237. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  238. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  239. package/dist/test/collection-facets.test.d.ts +2 -2
  240. package/dist/test/collection-facets.test.js +690 -690
  241. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  242. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  243. package/dist/test/empty-placeholder.test.d.ts +1 -1
  244. package/dist/test/empty-placeholder.test.js +63 -63
  245. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  246. package/dist/test/expanded-date-picker.test.js +95 -95
  247. package/dist/test/icon-overlay.test.d.ts +1 -1
  248. package/dist/test/icon-overlay.test.js +24 -24
  249. package/dist/test/image-block.test.d.ts +1 -1
  250. package/dist/test/image-block.test.js +107 -107
  251. package/dist/test/item-image.test.d.ts +1 -1
  252. package/dist/test/item-image.test.js +85 -85
  253. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  254. package/dist/test/manage/manage-bar.test.js +100 -100
  255. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  256. package/dist/test/manage/remove-items-modal-content.test.js +45 -45
  257. package/dist/test/mediatype-config.test.d.ts +1 -1
  258. package/dist/test/mediatype-config.test.js +16 -16
  259. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  260. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  261. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  262. package/dist/test/mocks/mock-search-responses.js +942 -942
  263. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  264. package/dist/test/mocks/mock-search-service.js +54 -54
  265. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  266. package/dist/test/restoration-state-handler.test.js +270 -270
  267. package/dist/test/review-block.test.d.ts +1 -1
  268. package/dist/test/review-block.test.js +44 -44
  269. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  270. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  271. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  272. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  273. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  274. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  275. package/dist/test/text-overlay.test.d.ts +1 -1
  276. package/dist/test/text-overlay.test.js +38 -38
  277. package/dist/test/text-snippet-block.test.d.ts +1 -1
  278. package/dist/test/text-snippet-block.test.js +57 -57
  279. package/dist/test/tile-stats.test.d.ts +1 -1
  280. package/dist/test/tile-stats.test.js +81 -81
  281. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  282. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  283. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  284. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  285. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  286. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  287. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  288. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  289. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  290. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  291. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  292. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  293. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  294. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  295. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  296. package/dist/test/tiles/list/tile-list.test.js +297 -297
  297. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  298. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  299. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  300. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  301. package/dist/test/utils/array-equals.test.d.ts +1 -1
  302. package/dist/test/utils/array-equals.test.js +26 -26
  303. package/dist/test/utils/format-count.test.d.ts +1 -1
  304. package/dist/test/utils/format-count.test.js +23 -23
  305. package/dist/test/utils/format-date.test.d.ts +1 -1
  306. package/dist/test/utils/format-date.test.js +30 -30
  307. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  308. package/dist/test/utils/format-unit-size.test.js +17 -17
  309. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  310. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  311. package/local.archive.org.cert +86 -86
  312. package/local.archive.org.key +27 -27
  313. package/package.json +2 -2
  314. package/renovate.json +6 -6
  315. package/web-dev-server.config.mjs +30 -30
  316. 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,248 +1,248 @@
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
- key: 'foo',
120
- state: 'selected',
121
- count: 5,
122
- },
123
- negative: false,
124
- });
125
- });
126
- it('emits event when facet checkbox is unchecked', async () => {
127
- var _a, _b;
128
- const facetClickSpy = sinon.spy();
129
- const bucket = {
130
- key: 'foo',
131
- state: 'selected',
132
- count: 5,
133
- };
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
+ key: 'foo',
120
+ state: 'selected',
121
+ count: 5,
122
+ },
123
+ negative: false,
124
+ });
125
+ });
126
+ it('emits event when facet checkbox is unchecked', async () => {
127
+ var _a, _b;
128
+ const facetClickSpy = sinon.spy();
129
+ const bucket = {
130
+ key: 'foo',
131
+ state: 'selected',
132
+ count: 5,
133
+ };
134
134
  const el = await fixture(html `<facet-row
135
135
  .facetType=${'subject'}
136
136
  .bucket=${bucket}
137
137
  @facetClick=${facetClickSpy}
138
- ></facet-row>`);
139
- const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
140
- expect(positiveFacetCheck).to.exist;
141
- positiveFacetCheck.click();
142
- expect(facetClickSpy.callCount).to.equal(1);
143
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
144
- facetType: 'subject',
145
- bucket: {
146
- key: 'foo',
147
- state: 'none',
148
- count: 5,
149
- },
150
- negative: false,
151
- });
152
- });
153
- it('emits event when facet negative icon is clicked', async () => {
154
- var _a, _b;
155
- const facetClickSpy = sinon.spy();
156
- const bucket = {
157
- key: 'foo',
158
- state: 'none',
159
- count: 5,
160
- };
138
+ ></facet-row>`);
139
+ const positiveFacetCheck = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select-facet-checkbox');
140
+ expect(positiveFacetCheck).to.exist;
141
+ positiveFacetCheck.click();
142
+ expect(facetClickSpy.callCount).to.equal(1);
143
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
144
+ facetType: 'subject',
145
+ bucket: {
146
+ key: 'foo',
147
+ state: 'none',
148
+ count: 5,
149
+ },
150
+ negative: false,
151
+ });
152
+ });
153
+ it('emits event when facet negative icon is clicked', async () => {
154
+ var _a, _b;
155
+ const facetClickSpy = sinon.spy();
156
+ const bucket = {
157
+ key: 'foo',
158
+ state: 'none',
159
+ count: 5,
160
+ };
161
161
  const el = await fixture(html `<facet-row
162
162
  .facetType=${'subject'}
163
163
  .bucket=${bucket}
164
164
  @facetClick=${facetClickSpy}
165
- ></facet-row>`);
166
- const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
167
- expect(negativeFacetIcon).to.exist;
168
- negativeFacetIcon.click();
169
- expect(facetClickSpy.callCount).to.equal(1);
170
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
171
- facetType: 'subject',
172
- bucket: {
173
- key: 'foo',
174
- state: 'hidden',
175
- count: 5,
176
- },
177
- negative: true,
178
- });
179
- });
180
- it('emits event when facet negative icon is unchecked', async () => {
181
- var _a, _b;
182
- const facetClickSpy = sinon.spy();
183
- const bucket = {
184
- key: 'foo',
185
- state: 'hidden',
186
- count: 5,
187
- };
165
+ ></facet-row>`);
166
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
167
+ expect(negativeFacetIcon).to.exist;
168
+ negativeFacetIcon.click();
169
+ expect(facetClickSpy.callCount).to.equal(1);
170
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
171
+ facetType: 'subject',
172
+ bucket: {
173
+ key: 'foo',
174
+ state: 'hidden',
175
+ count: 5,
176
+ },
177
+ negative: true,
178
+ });
179
+ });
180
+ it('emits event when facet negative icon is unchecked', async () => {
181
+ var _a, _b;
182
+ const facetClickSpy = sinon.spy();
183
+ const bucket = {
184
+ key: 'foo',
185
+ state: 'hidden',
186
+ count: 5,
187
+ };
188
188
  const el = await fixture(html `<facet-row
189
189
  .facetType=${'subject'}
190
190
  .bucket=${bucket}
191
191
  @facetClick=${facetClickSpy}
192
- ></facet-row>`);
193
- const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
194
- expect(negativeFacetIcon).to.exist;
195
- negativeFacetIcon.click();
196
- expect(facetClickSpy.callCount).to.equal(1);
197
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
198
- facetType: 'subject',
199
- bucket: {
200
- key: 'foo',
201
- state: 'none',
202
- count: 5,
203
- },
204
- negative: true,
205
- });
206
- });
207
- it('selects/deselects facet when label is clicked', async () => {
208
- var _a, _b, _c;
209
- const facetClickSpy = sinon.spy();
210
- const bucket = {
211
- key: 'foo',
212
- state: 'none',
213
- count: 5,
214
- };
192
+ ></facet-row>`);
193
+ const negativeFacetIcon = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.hide-facet-icon');
194
+ expect(negativeFacetIcon).to.exist;
195
+ negativeFacetIcon.click();
196
+ expect(facetClickSpy.callCount).to.equal(1);
197
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
198
+ facetType: 'subject',
199
+ bucket: {
200
+ key: 'foo',
201
+ state: 'none',
202
+ count: 5,
203
+ },
204
+ negative: true,
205
+ });
206
+ });
207
+ it('selects/deselects facet when label is clicked', async () => {
208
+ var _a, _b, _c;
209
+ const facetClickSpy = sinon.spy();
210
+ const bucket = {
211
+ key: 'foo',
212
+ state: 'none',
213
+ count: 5,
214
+ };
215
215
  const el = await fixture(html `<facet-row
216
216
  .facetType=${'subject'}
217
217
  .bucket=${bucket}
218
218
  @facetClick=${facetClickSpy}
219
- ></facet-row>`);
220
- const facetLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
221
- expect(facetLabel).to.exist;
222
- // Select facet by clicking label
223
- facetLabel.click();
224
- expect(facetClickSpy.callCount).to.equal(1);
225
- expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
226
- facetType: 'subject',
227
- bucket: {
228
- key: 'foo',
229
- state: 'selected',
230
- count: 5,
231
- },
232
- negative: false,
233
- });
234
- // Deselect facet by clicking label
235
- facetLabel.click();
236
- expect(facetClickSpy.callCount).to.equal(2);
237
- expect((_c = facetClickSpy.lastCall.args[0]) === null || _c === void 0 ? void 0 : _c.detail).to.deep.equal({
238
- facetType: 'subject',
239
- bucket: {
240
- key: 'foo',
241
- state: 'none',
242
- count: 5,
243
- },
244
- negative: false,
245
- });
246
- });
247
- });
219
+ ></facet-row>`);
220
+ const facetLabel = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.facet-info-display');
221
+ expect(facetLabel).to.exist;
222
+ // Select facet by clicking label
223
+ facetLabel.click();
224
+ expect(facetClickSpy.callCount).to.equal(1);
225
+ expect((_b = facetClickSpy.lastCall.args[0]) === null || _b === void 0 ? void 0 : _b.detail).to.deep.equal({
226
+ facetType: 'subject',
227
+ bucket: {
228
+ key: 'foo',
229
+ state: 'selected',
230
+ count: 5,
231
+ },
232
+ negative: false,
233
+ });
234
+ // Deselect facet by clicking label
235
+ facetLabel.click();
236
+ expect(facetClickSpy.callCount).to.equal(2);
237
+ expect((_c = facetClickSpy.lastCall.args[0]) === null || _c === void 0 ? void 0 : _c.detail).to.deep.equal({
238
+ facetType: 'subject',
239
+ bucket: {
240
+ key: 'foo',
241
+ state: 'none',
242
+ count: 5,
243
+ },
244
+ negative: false,
245
+ });
246
+ });
247
+ });
248
248
  //# sourceMappingURL=facet-row.test.js.map
@@ -1 +1 @@
1
- import '../../src/collection-facets/facets-template';
1
+ import '../../src/collection-facets/facets-template';