@internetarchive/collection-browser 2.7.9-alpha-webdev7310.0 → 2.7.9

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 +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 -591
  74. package/dist/src/collection-browser.js +1672 -1639
  75. package/dist/src/collection-browser.js.map +1 -1
  76. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  77. package/dist/src/collection-facets/facet-row.js +118 -118
  78. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  79. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  80. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  81. package/dist/src/collection-facets/facets-template.js +44 -44
  82. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  83. package/dist/src/collection-facets/more-facets-content.js +407 -407
  84. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  85. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  86. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  87. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  88. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  89. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  90. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  91. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  92. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  93. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  94. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  95. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  96. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  97. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  98. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  99. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  100. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  101. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  102. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  103. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  104. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  105. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  106. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  107. package/dist/src/collection-facets/toggle-switch.js +94 -94
  108. package/dist/src/collection-facets.d.ts +103 -103
  109. package/dist/src/collection-facets.js +522 -522
  110. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -241
  111. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  112. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  113. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -373
  114. package/dist/src/data-source/collection-browser-data-source.js +995 -982
  115. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  116. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -43
  117. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  118. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  119. package/dist/src/data-source/models.d.ts +28 -28
  120. package/dist/src/data-source/models.js +8 -8
  121. package/dist/src/empty-placeholder.d.ts +23 -23
  122. package/dist/src/empty-placeholder.js +79 -79
  123. package/dist/src/expanded-date-picker.d.ts +43 -43
  124. package/dist/src/expanded-date-picker.js +109 -109
  125. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  126. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  127. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  128. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  129. package/dist/src/manage/manage-bar.d.ts +58 -58
  130. package/dist/src/manage/manage-bar.js +161 -161
  131. package/dist/src/manage/manage-bar.js.map +1 -1
  132. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  133. package/dist/src/manage/remove-items-modal-content.js +34 -34
  134. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  135. package/dist/src/mediatype/mediatype-config.js +91 -91
  136. package/dist/src/models.d.ts +228 -228
  137. package/dist/src/models.js +401 -401
  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 +17 -17
  162. package/dist/src/styles/item-image-styles.d.ts +8 -8
  163. package/dist/src/styles/item-image-styles.js +9 -9
  164. package/dist/src/styles/sr-only.d.ts +1 -1
  165. package/dist/src/styles/sr-only.js +2 -2
  166. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  167. package/dist/src/tiles/base-tile-component.js +64 -64
  168. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  169. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  170. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  171. package/dist/src/tiles/grid/account-tile.js +72 -72
  172. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  173. package/dist/src/tiles/grid/collection-tile.js +80 -80
  174. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  175. package/dist/src/tiles/grid/item-tile.js +158 -158
  176. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  177. package/dist/src/tiles/grid/search-tile.js +51 -51
  178. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  179. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  180. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  181. package/dist/src/tiles/grid/tile-stats.js +53 -53
  182. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  183. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  184. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  185. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  186. package/dist/src/tiles/image-block.d.ts +18 -18
  187. package/dist/src/tiles/image-block.js +89 -89
  188. package/dist/src/tiles/item-image.d.ts +39 -39
  189. package/dist/src/tiles/item-image.js +154 -154
  190. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  191. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  192. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  193. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  194. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  195. package/dist/src/tiles/list/tile-list.js +323 -323
  196. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  197. package/dist/src/tiles/mediatype-icon.js +47 -47
  198. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  199. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  200. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  201. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  202. package/dist/src/tiles/review-block.d.ts +12 -12
  203. package/dist/src/tiles/review-block.js +56 -56
  204. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  205. package/dist/src/tiles/text-snippet-block.js +73 -73
  206. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  207. package/dist/src/tiles/tile-dispatcher.js +230 -230
  208. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  209. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  210. package/dist/src/utils/analytics-events.d.ts +28 -28
  211. package/dist/src/utils/analytics-events.js +30 -30
  212. package/dist/src/utils/array-equals.d.ts +4 -4
  213. package/dist/src/utils/array-equals.js +10 -10
  214. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  215. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  216. package/dist/src/utils/facet-utils.d.ts +83 -83
  217. package/dist/src/utils/facet-utils.js +145 -145
  218. package/dist/src/utils/format-count.d.ts +7 -7
  219. package/dist/src/utils/format-count.js +76 -76
  220. package/dist/src/utils/format-date.d.ts +2 -2
  221. package/dist/src/utils/format-date.js +27 -27
  222. package/dist/src/utils/format-unit-size.d.ts +2 -2
  223. package/dist/src/utils/format-unit-size.js +33 -33
  224. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  225. package/dist/src/utils/local-date-from-utc.js +15 -15
  226. package/dist/src/utils/log.d.ts +7 -7
  227. package/dist/src/utils/log.js +15 -15
  228. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  229. package/dist/src/utils/resolve-mediatype.js +23 -23
  230. package/dist/src/utils/sha1.d.ts +2 -2
  231. package/dist/src/utils/sha1.js +8 -8
  232. package/dist/test/collection-browser.test.d.ts +1 -1
  233. package/dist/test/collection-browser.test.js +1309 -1293
  234. package/dist/test/collection-browser.test.js.map +1 -1
  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 +2 -2
  260. package/dist/test/manage/manage-bar.test.js +100 -100
  261. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  262. package/dist/test/manage/remove-items-modal-content.test.js +45 -45
  263. package/dist/test/mediatype-config.test.d.ts +1 -1
  264. package/dist/test/mediatype-config.test.js +16 -16
  265. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  266. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  267. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  268. package/dist/test/mocks/mock-search-responses.js +942 -942
  269. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  270. package/dist/test/mocks/mock-search-service.js +54 -54
  271. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  272. package/dist/test/restoration-state-handler.test.js +270 -270
  273. package/dist/test/review-block.test.d.ts +1 -1
  274. package/dist/test/review-block.test.js +44 -44
  275. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  276. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  277. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  278. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  279. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  280. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  281. package/dist/test/text-overlay.test.d.ts +1 -1
  282. package/dist/test/text-overlay.test.js +38 -38
  283. package/dist/test/text-snippet-block.test.d.ts +1 -1
  284. package/dist/test/text-snippet-block.test.js +57 -57
  285. package/dist/test/tile-stats.test.d.ts +1 -1
  286. package/dist/test/tile-stats.test.js +81 -81
  287. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  288. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  289. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  290. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  291. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  292. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  293. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  294. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  295. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  296. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  297. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  298. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  299. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  300. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  301. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  302. package/dist/test/tiles/list/tile-list.test.js +297 -297
  303. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  304. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  305. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  306. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  307. package/dist/test/utils/array-equals.test.d.ts +1 -1
  308. package/dist/test/utils/array-equals.test.js +26 -26
  309. package/dist/test/utils/format-count.test.d.ts +1 -1
  310. package/dist/test/utils/format-count.test.js +23 -23
  311. package/dist/test/utils/format-date.test.d.ts +1 -1
  312. package/dist/test/utils/format-date.test.js +30 -30
  313. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  314. package/dist/test/utils/format-unit-size.test.js +17 -17
  315. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  316. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  317. package/local.archive.org.cert +86 -86
  318. package/local.archive.org.key +27 -27
  319. package/package.json +2 -2
  320. package/renovate.json +6 -6
  321. package/src/collection-browser.ts +33 -1
  322. package/src/data-source/collection-browser-data-source-interface.ts +5 -0
  323. package/src/data-source/collection-browser-data-source.ts +14 -0
  324. package/src/data-source/collection-browser-query-state.ts +1 -0
  325. package/src/manage/manage-bar.ts +2 -2
  326. package/test/collection-browser.test.ts +23 -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';