@internetarchive/collection-browser 2.7.12 → 2.7.13

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 (318) 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 +1677 -1677
  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 +1004 -1001
  113. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  114. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  115. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  116. package/dist/src/data-source/models.d.ts +28 -28
  117. package/dist/src/data-source/models.js +8 -8
  118. package/dist/src/empty-placeholder.d.ts +23 -23
  119. package/dist/src/empty-placeholder.js +79 -79
  120. package/dist/src/expanded-date-picker.d.ts +43 -43
  121. package/dist/src/expanded-date-picker.js +109 -109
  122. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  123. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  124. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  125. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  126. package/dist/src/manage/manage-bar.d.ts +58 -58
  127. package/dist/src/manage/manage-bar.js +159 -159
  128. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  129. package/dist/src/manage/remove-items-modal-content.js +34 -34
  130. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  131. package/dist/src/mediatype/mediatype-config.js +91 -91
  132. package/dist/src/models.d.ts +228 -228
  133. package/dist/src/models.js +401 -401
  134. package/dist/src/restoration-state-handler.d.ts +70 -70
  135. package/dist/src/restoration-state-handler.js +363 -363
  136. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  137. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  138. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  139. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  140. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  141. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  142. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  143. package/dist/src/sort-filter-bar/img/list.js +2 -2
  144. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  145. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  146. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  147. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  148. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  149. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  150. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  151. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  152. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  153. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  154. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  155. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  156. package/dist/src/styles/ia-button.d.ts +2 -2
  157. package/dist/src/styles/ia-button.js +17 -17
  158. package/dist/src/styles/item-image-styles.d.ts +8 -8
  159. package/dist/src/styles/item-image-styles.js +9 -9
  160. package/dist/src/styles/sr-only.d.ts +1 -1
  161. package/dist/src/styles/sr-only.js +2 -2
  162. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  163. package/dist/src/tiles/base-tile-component.js +64 -64
  164. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  165. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  166. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  167. package/dist/src/tiles/grid/account-tile.js +72 -72
  168. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  169. package/dist/src/tiles/grid/collection-tile.js +80 -80
  170. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  171. package/dist/src/tiles/grid/item-tile.js +158 -158
  172. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  173. package/dist/src/tiles/grid/search-tile.js +51 -51
  174. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  175. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  176. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  177. package/dist/src/tiles/grid/tile-stats.js +53 -53
  178. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  179. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  180. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  181. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  182. package/dist/src/tiles/image-block.d.ts +18 -18
  183. package/dist/src/tiles/image-block.js +89 -89
  184. package/dist/src/tiles/item-image.d.ts +39 -39
  185. package/dist/src/tiles/item-image.js +154 -154
  186. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  187. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  188. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  189. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  190. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  191. package/dist/src/tiles/list/tile-list.js +323 -323
  192. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  193. package/dist/src/tiles/mediatype-icon.js +47 -47
  194. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  195. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  196. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  197. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  198. package/dist/src/tiles/review-block.d.ts +12 -12
  199. package/dist/src/tiles/review-block.js +56 -56
  200. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  201. package/dist/src/tiles/text-snippet-block.js +73 -73
  202. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  203. package/dist/src/tiles/tile-dispatcher.js +230 -230
  204. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  205. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  206. package/dist/src/utils/analytics-events.d.ts +28 -28
  207. package/dist/src/utils/analytics-events.js +30 -30
  208. package/dist/src/utils/array-equals.d.ts +4 -4
  209. package/dist/src/utils/array-equals.js +10 -10
  210. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  211. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  212. package/dist/src/utils/facet-utils.d.ts +83 -83
  213. package/dist/src/utils/facet-utils.js +145 -145
  214. package/dist/src/utils/format-count.d.ts +7 -7
  215. package/dist/src/utils/format-count.js +76 -76
  216. package/dist/src/utils/format-date.d.ts +2 -2
  217. package/dist/src/utils/format-date.js +27 -27
  218. package/dist/src/utils/format-unit-size.d.ts +2 -2
  219. package/dist/src/utils/format-unit-size.js +33 -33
  220. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  221. package/dist/src/utils/local-date-from-utc.js +15 -15
  222. package/dist/src/utils/log.d.ts +7 -7
  223. package/dist/src/utils/log.js +15 -15
  224. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  225. package/dist/src/utils/resolve-mediatype.js +23 -23
  226. package/dist/src/utils/sha1.d.ts +2 -2
  227. package/dist/src/utils/sha1.js +8 -8
  228. package/dist/test/collection-browser.test.d.ts +1 -1
  229. package/dist/test/collection-browser.test.js +1308 -1308
  230. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  231. package/dist/test/collection-facets/facet-row.test.js +227 -227
  232. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  233. package/dist/test/collection-facets/facets-template.test.js +91 -91
  234. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  235. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  236. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  237. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  238. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  239. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  240. package/dist/test/collection-facets.test.d.ts +2 -2
  241. package/dist/test/collection-facets.test.js +690 -690
  242. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  243. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  244. package/dist/test/empty-placeholder.test.d.ts +1 -1
  245. package/dist/test/empty-placeholder.test.js +63 -63
  246. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  247. package/dist/test/expanded-date-picker.test.js +95 -95
  248. package/dist/test/icon-overlay.test.d.ts +1 -1
  249. package/dist/test/icon-overlay.test.js +24 -24
  250. package/dist/test/image-block.test.d.ts +1 -1
  251. package/dist/test/image-block.test.js +107 -107
  252. package/dist/test/item-image.test.d.ts +1 -1
  253. package/dist/test/item-image.test.js +85 -85
  254. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  255. package/dist/test/manage/manage-bar.test.js +100 -100
  256. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  257. package/dist/test/manage/remove-items-modal-content.test.js +45 -45
  258. package/dist/test/mediatype-config.test.d.ts +1 -1
  259. package/dist/test/mediatype-config.test.js +16 -16
  260. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  261. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  262. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  263. package/dist/test/mocks/mock-search-responses.js +942 -942
  264. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  265. package/dist/test/mocks/mock-search-service.js +54 -54
  266. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  267. package/dist/test/restoration-state-handler.test.js +270 -270
  268. package/dist/test/review-block.test.d.ts +1 -1
  269. package/dist/test/review-block.test.js +44 -44
  270. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  271. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  272. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  273. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  274. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  275. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  276. package/dist/test/text-overlay.test.d.ts +1 -1
  277. package/dist/test/text-overlay.test.js +38 -38
  278. package/dist/test/text-snippet-block.test.d.ts +1 -1
  279. package/dist/test/text-snippet-block.test.js +57 -57
  280. package/dist/test/tile-stats.test.d.ts +1 -1
  281. package/dist/test/tile-stats.test.js +81 -81
  282. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  283. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  284. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  285. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  286. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  287. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  288. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  289. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  290. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  291. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  292. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  293. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  294. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  295. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  296. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  297. package/dist/test/tiles/list/tile-list.test.js +297 -297
  298. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  299. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  300. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  301. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  302. package/dist/test/utils/array-equals.test.d.ts +1 -1
  303. package/dist/test/utils/array-equals.test.js +26 -26
  304. package/dist/test/utils/format-count.test.d.ts +1 -1
  305. package/dist/test/utils/format-count.test.js +23 -23
  306. package/dist/test/utils/format-date.test.d.ts +1 -1
  307. package/dist/test/utils/format-date.test.js +30 -30
  308. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  309. package/dist/test/utils/format-unit-size.test.js +17 -17
  310. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  311. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  312. package/local.archive.org.cert +86 -86
  313. package/local.archive.org.key +27 -27
  314. package/package.json +1 -1
  315. package/renovate.json +6 -6
  316. package/src/data-source/collection-browser-data-source.ts +5 -1
  317. package/web-dev-server.config.mjs +30 -30
  318. 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';