@internetarchive/collection-browser 2.7.5 → 2.7.6-alpha1

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