@internetarchive/collection-browser 2.7.7 → 2.7.8-alpha2

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 (338) 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 -99
  8. package/dist/src/app-root.js +539 -505
  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 +606 -582
  75. package/dist/src/collection-browser.js +1677 -1629
  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 +245 -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-interface.js.map +1 -1
  114. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -373
  115. package/dist/src/data-source/collection-browser-data-source.js +995 -982
  116. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  117. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -43
  118. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  119. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  120. package/dist/src/data-source/models.d.ts +28 -28
  121. package/dist/src/data-source/models.js +8 -8
  122. package/dist/src/empty-placeholder.d.ts +23 -23
  123. package/dist/src/empty-placeholder.js +79 -79
  124. package/dist/src/expanded-date-picker.d.ts +43 -43
  125. package/dist/src/expanded-date-picker.js +109 -109
  126. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  127. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  128. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  129. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  130. package/dist/src/manage/manage-bar.d.ts +58 -35
  131. package/dist/src/manage/manage-bar.js +174 -80
  132. package/dist/src/manage/manage-bar.js.map +1 -1
  133. package/dist/src/manage/remove-items-modal-content.d.ts +9 -0
  134. package/dist/src/manage/remove-items-modal-content.js +104 -0
  135. package/dist/src/manage/remove-items-modal-content.js.map +1 -0
  136. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  137. package/dist/src/mediatype/mediatype-config.js +91 -91
  138. package/dist/src/models.d.ts +228 -219
  139. package/dist/src/models.js +401 -401
  140. package/dist/src/models.js.map +1 -1
  141. package/dist/src/restoration-state-handler.d.ts +70 -70
  142. package/dist/src/restoration-state-handler.js +363 -363
  143. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  144. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  145. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  146. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  147. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  148. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  149. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  150. package/dist/src/sort-filter-bar/img/list.js +2 -2
  151. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  152. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  153. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  154. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  155. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  156. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  157. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  158. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  159. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  160. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  161. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  162. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  163. package/dist/src/styles/ia-button.d.ts +2 -2
  164. package/dist/src/styles/ia-button.js +17 -17
  165. package/dist/src/styles/item-image-styles.d.ts +8 -8
  166. package/dist/src/styles/item-image-styles.js +9 -9
  167. package/dist/src/styles/sr-only.d.ts +1 -1
  168. package/dist/src/styles/sr-only.js +2 -2
  169. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  170. package/dist/src/tiles/base-tile-component.js +64 -64
  171. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  172. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  173. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  174. package/dist/src/tiles/grid/account-tile.js +72 -72
  175. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  176. package/dist/src/tiles/grid/collection-tile.js +80 -80
  177. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  178. package/dist/src/tiles/grid/item-tile.js +158 -158
  179. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  180. package/dist/src/tiles/grid/search-tile.js +51 -51
  181. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  182. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  183. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  184. package/dist/src/tiles/grid/tile-stats.js +53 -53
  185. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  186. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  187. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  188. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  189. package/dist/src/tiles/image-block.d.ts +18 -18
  190. package/dist/src/tiles/image-block.js +89 -89
  191. package/dist/src/tiles/item-image.d.ts +39 -39
  192. package/dist/src/tiles/item-image.js +154 -154
  193. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  194. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  195. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  196. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  197. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  198. package/dist/src/tiles/list/tile-list.js +323 -323
  199. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  200. package/dist/src/tiles/mediatype-icon.js +47 -47
  201. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  202. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  203. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  204. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  205. package/dist/src/tiles/review-block.d.ts +12 -12
  206. package/dist/src/tiles/review-block.js +56 -56
  207. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  208. package/dist/src/tiles/text-snippet-block.js +73 -73
  209. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  210. package/dist/src/tiles/tile-dispatcher.js +230 -230
  211. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  212. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  213. package/dist/src/utils/analytics-events.d.ts +28 -28
  214. package/dist/src/utils/analytics-events.js +30 -30
  215. package/dist/src/utils/array-equals.d.ts +4 -4
  216. package/dist/src/utils/array-equals.js +10 -10
  217. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  218. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  219. package/dist/src/utils/facet-utils.d.ts +83 -83
  220. package/dist/src/utils/facet-utils.js +145 -145
  221. package/dist/src/utils/format-count.d.ts +7 -7
  222. package/dist/src/utils/format-count.js +76 -76
  223. package/dist/src/utils/format-date.d.ts +2 -2
  224. package/dist/src/utils/format-date.js +27 -27
  225. package/dist/src/utils/format-unit-size.d.ts +2 -2
  226. package/dist/src/utils/format-unit-size.js +33 -33
  227. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  228. package/dist/src/utils/local-date-from-utc.js +15 -15
  229. package/dist/src/utils/log.d.ts +7 -7
  230. package/dist/src/utils/log.js +15 -15
  231. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  232. package/dist/src/utils/resolve-mediatype.js +23 -23
  233. package/dist/src/utils/sha1.d.ts +2 -2
  234. package/dist/src/utils/sha1.js +8 -8
  235. package/dist/test/collection-browser.test.d.ts +1 -1
  236. package/dist/test/collection-browser.test.js +1309 -1293
  237. package/dist/test/collection-browser.test.js.map +1 -1
  238. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  239. package/dist/test/collection-facets/facet-row.test.js +227 -227
  240. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  241. package/dist/test/collection-facets/facets-template.test.js +91 -91
  242. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  243. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  244. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  245. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  246. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  247. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  248. package/dist/test/collection-facets.test.d.ts +2 -2
  249. package/dist/test/collection-facets.test.js +690 -690
  250. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  251. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  252. package/dist/test/empty-placeholder.test.d.ts +1 -1
  253. package/dist/test/empty-placeholder.test.js +63 -63
  254. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  255. package/dist/test/expanded-date-picker.test.js +95 -95
  256. package/dist/test/icon-overlay.test.d.ts +1 -1
  257. package/dist/test/icon-overlay.test.js +24 -24
  258. package/dist/test/image-block.test.d.ts +1 -1
  259. package/dist/test/image-block.test.js +107 -107
  260. package/dist/test/item-image.test.d.ts +1 -1
  261. package/dist/test/item-image.test.js +85 -85
  262. package/dist/test/manage/manage-bar.test.d.ts +2 -1
  263. package/dist/test/manage/manage-bar.test.js +106 -91
  264. package/dist/test/manage/manage-bar.test.js.map +1 -1
  265. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -0
  266. package/dist/test/manage/remove-items-modal-content.test.js +66 -0
  267. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -0
  268. package/dist/test/mediatype-config.test.d.ts +1 -1
  269. package/dist/test/mediatype-config.test.js +16 -16
  270. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  271. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  272. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  273. package/dist/test/mocks/mock-search-responses.js +942 -942
  274. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  275. package/dist/test/mocks/mock-search-service.js +54 -54
  276. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  277. package/dist/test/restoration-state-handler.test.js +270 -270
  278. package/dist/test/review-block.test.d.ts +1 -1
  279. package/dist/test/review-block.test.js +44 -44
  280. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  281. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  282. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  283. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  284. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  285. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  286. package/dist/test/text-overlay.test.d.ts +1 -1
  287. package/dist/test/text-overlay.test.js +38 -38
  288. package/dist/test/text-snippet-block.test.d.ts +1 -1
  289. package/dist/test/text-snippet-block.test.js +57 -57
  290. package/dist/test/tile-stats.test.d.ts +1 -1
  291. package/dist/test/tile-stats.test.js +81 -81
  292. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  293. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  294. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  295. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  296. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  297. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  298. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  299. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  300. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  301. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  302. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  303. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  304. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  305. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  306. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  307. package/dist/test/tiles/list/tile-list.test.js +297 -297
  308. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  309. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  310. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  311. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  312. package/dist/test/utils/array-equals.test.d.ts +1 -1
  313. package/dist/test/utils/array-equals.test.js +26 -26
  314. package/dist/test/utils/format-count.test.d.ts +1 -1
  315. package/dist/test/utils/format-count.test.js +23 -23
  316. package/dist/test/utils/format-date.test.d.ts +1 -1
  317. package/dist/test/utils/format-date.test.js +30 -30
  318. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  319. package/dist/test/utils/format-unit-size.test.js +17 -17
  320. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  321. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  322. package/local.archive.org.cert +86 -86
  323. package/local.archive.org.key +27 -27
  324. package/package.json +1 -1
  325. package/renovate.json +6 -6
  326. package/src/app-root.ts +38 -4
  327. package/src/collection-browser.ts +69 -17
  328. package/src/data-source/collection-browser-data-source-interface.ts +5 -0
  329. package/src/data-source/collection-browser-data-source.ts +14 -0
  330. package/src/data-source/collection-browser-query-state.ts +1 -0
  331. package/src/manage/manage-bar.ts +120 -24
  332. package/src/manage/remove-items-modal-content.ts +102 -0
  333. package/src/models.ts +10 -0
  334. package/test/collection-browser.test.ts +23 -0
  335. package/test/manage/manage-bar.test.ts +41 -18
  336. package/test/manage/remove-items-modal-content.test.ts +82 -0
  337. package/web-dev-server.config.mjs +30 -30
  338. package/web-test-runner.config.mjs +41 -41
@@ -1,25 +1,25 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property, query } from 'lit/decorators.js';
4
- import { srOnlyStyle } from '../styles/sr-only';
5
- let ToggleSwitch = class ToggleSwitch extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- /**
9
- * The value this switch should have when toggled to the left.
10
- */
11
- this.leftValue = '';
12
- /**
13
- * The value this switch should have when toggled to the right.
14
- */
15
- this.rightValue = '';
16
- /**
17
- * Which side of the switch is selected (`'left'` or `'right'`).
18
- */
19
- this.side = 'left';
20
- }
21
- render() {
22
- var _a, _b;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property, query } from 'lit/decorators.js';
4
+ import { srOnlyStyle } from '../styles/sr-only';
5
+ let ToggleSwitch = class ToggleSwitch extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ /**
9
+ * The value this switch should have when toggled to the left.
10
+ */
11
+ this.leftValue = '';
12
+ /**
13
+ * The value this switch should have when toggled to the right.
14
+ */
15
+ this.rightValue = '';
16
+ /**
17
+ * Which side of the switch is selected (`'left'` or `'right'`).
18
+ */
19
+ this.side = 'left';
20
+ }
21
+ render() {
22
+ var _a, _b;
23
23
  return html `
24
24
  <div id="container">
25
25
  <label for="switch-left">${(_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue}</label>
@@ -51,52 +51,52 @@ let ToggleSwitch = class ToggleSwitch extends LitElement {
51
51
  </button>
52
52
  <label for="switch-right">${(_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue}</label>
53
53
  </div>
54
- `;
55
- }
56
- /**
57
- * The currently selected value of this switch.
58
- */
59
- get value() {
60
- return this.side === 'left' ? this.leftValue : this.rightValue;
61
- }
62
- /**
63
- * The label for the currently selected value of this switch.
64
- * Falls back to the current value if its label is not defined.
65
- */
66
- get selectedLabel() {
67
- var _a, _b;
68
- return this.side === 'left'
69
- ? (_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue
70
- : (_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue;
71
- }
72
- handleClick() {
73
- this.side = this.side === 'left' ? 'right' : 'left';
74
- this.emitChangeEvent();
75
- }
76
- handleRadioChange() {
77
- this.side = this.leftRadio.checked ? 'left' : 'right';
78
- this.emitChangeEvent();
79
- }
80
- emitChangeEvent() {
81
- const event = new CustomEvent('change', {
82
- detail: this.value,
83
- });
84
- this.dispatchEvent(event);
85
- }
86
- static get styles() {
87
- const switchWidth = css `var(--switchWidth, 30px)`;
88
- const switchHeight = css `var(--switchHeight, 14px)`;
89
- const switchMarginLeft = css `var(--switchMarginLeft, 5px)`;
90
- const switchMarginRight = css `var(--switchMarginRight, 5px)`;
91
- const switchBorderWidth = css `var(--switchBorderWidth, 3px)`;
92
- const switchBgColor = css `var(--switchBgColor, #194880)`;
93
- const switchBorderColor = css `var(--switchBorderColor, #194880)`;
94
- const labelFontSize = css `var(--labelFontSize, 1.3rem)`;
95
- const knobColor = css `var(--knobColor, white)`;
96
- const knobTransitionDuration = css `var(--knobTransitionDuration, 0.25s)`;
97
- const knobTransitionFn = css `var(--knobTransitionFn, ease)`;
98
- return [
99
- srOnlyStyle,
54
+ `;
55
+ }
56
+ /**
57
+ * The currently selected value of this switch.
58
+ */
59
+ get value() {
60
+ return this.side === 'left' ? this.leftValue : this.rightValue;
61
+ }
62
+ /**
63
+ * The label for the currently selected value of this switch.
64
+ * Falls back to the current value if its label is not defined.
65
+ */
66
+ get selectedLabel() {
67
+ var _a, _b;
68
+ return this.side === 'left'
69
+ ? (_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue
70
+ : (_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue;
71
+ }
72
+ handleClick() {
73
+ this.side = this.side === 'left' ? 'right' : 'left';
74
+ this.emitChangeEvent();
75
+ }
76
+ handleRadioChange() {
77
+ this.side = this.leftRadio.checked ? 'left' : 'right';
78
+ this.emitChangeEvent();
79
+ }
80
+ emitChangeEvent() {
81
+ const event = new CustomEvent('change', {
82
+ detail: this.value,
83
+ });
84
+ this.dispatchEvent(event);
85
+ }
86
+ static get styles() {
87
+ const switchWidth = css `var(--switchWidth, 30px)`;
88
+ const switchHeight = css `var(--switchHeight, 14px)`;
89
+ const switchMarginLeft = css `var(--switchMarginLeft, 5px)`;
90
+ const switchMarginRight = css `var(--switchMarginRight, 5px)`;
91
+ const switchBorderWidth = css `var(--switchBorderWidth, 3px)`;
92
+ const switchBgColor = css `var(--switchBgColor, #194880)`;
93
+ const switchBorderColor = css `var(--switchBorderColor, #194880)`;
94
+ const labelFontSize = css `var(--labelFontSize, 1.3rem)`;
95
+ const knobColor = css `var(--knobColor, white)`;
96
+ const knobTransitionDuration = css `var(--knobTransitionDuration, 0.25s)`;
97
+ const knobTransitionFn = css `var(--knobTransitionFn, ease)`;
98
+ return [
99
+ srOnlyStyle,
100
100
  css `
101
101
  #container {
102
102
  display: inline-flex;
@@ -145,30 +145,30 @@ let ToggleSwitch = class ToggleSwitch extends LitElement {
145
145
  transition-duration: 0.001s !important; /* Imperceptibly fast */
146
146
  }
147
147
  }
148
- `,
149
- ];
150
- }
151
- };
152
- __decorate([
153
- property({ type: String, attribute: true })
154
- ], ToggleSwitch.prototype, "leftValue", void 0);
155
- __decorate([
156
- property({ type: String, attribute: true })
157
- ], ToggleSwitch.prototype, "leftLabel", void 0);
158
- __decorate([
159
- property({ type: String, attribute: true })
160
- ], ToggleSwitch.prototype, "rightValue", void 0);
161
- __decorate([
162
- property({ type: String, attribute: true })
163
- ], ToggleSwitch.prototype, "rightLabel", void 0);
164
- __decorate([
165
- property({ type: String, attribute: true })
166
- ], ToggleSwitch.prototype, "side", void 0);
167
- __decorate([
168
- query('#switch-left')
169
- ], ToggleSwitch.prototype, "leftRadio", void 0);
170
- ToggleSwitch = __decorate([
171
- customElement('toggle-switch')
172
- ], ToggleSwitch);
173
- export { ToggleSwitch };
148
+ `,
149
+ ];
150
+ }
151
+ };
152
+ __decorate([
153
+ property({ type: String, attribute: true })
154
+ ], ToggleSwitch.prototype, "leftValue", void 0);
155
+ __decorate([
156
+ property({ type: String, attribute: true })
157
+ ], ToggleSwitch.prototype, "leftLabel", void 0);
158
+ __decorate([
159
+ property({ type: String, attribute: true })
160
+ ], ToggleSwitch.prototype, "rightValue", void 0);
161
+ __decorate([
162
+ property({ type: String, attribute: true })
163
+ ], ToggleSwitch.prototype, "rightLabel", void 0);
164
+ __decorate([
165
+ property({ type: String, attribute: true })
166
+ ], ToggleSwitch.prototype, "side", void 0);
167
+ __decorate([
168
+ query('#switch-left')
169
+ ], ToggleSwitch.prototype, "leftRadio", void 0);
170
+ ToggleSwitch = __decorate([
171
+ customElement('toggle-switch')
172
+ ], ToggleSwitch);
173
+ export { ToggleSwitch };
174
174
  //# sourceMappingURL=toggle-switch.js.map
@@ -1,103 +1,103 @@
1
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import type { Aggregation, AggregationSortType, FilterMap, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
- import '@internetarchive/histogram-date-range';
4
- import '@internetarchive/feature-feedback';
5
- import { ModalManagerInterface } from '@internetarchive/modal-manager';
6
- import type { FeatureFeedbackServiceInterface } from '@internetarchive/feature-feedback';
7
- import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
8
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
9
- import type { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
10
- import { FacetOption, SelectedFacets, FacetGroup } from './models';
11
- import type { CollectionTitles, PageSpecifierParams } from './data-source/models';
12
- import './collection-facets/more-facets-content';
13
- import './collection-facets/facets-template';
14
- import './collection-facets/facet-tombstone-row';
15
- import './expanded-date-picker';
16
- export declare class CollectionFacets extends LitElement {
17
- searchService?: SearchServiceInterface;
18
- searchType?: SearchType;
19
- aggregations?: Record<string, Aggregation>;
20
- fullYearsHistogramAggregation?: Aggregation;
21
- minSelectedDate?: string;
22
- maxSelectedDate?: string;
23
- moreLinksVisible: boolean;
24
- facetsLoading: boolean;
25
- fullYearAggregationLoading: boolean;
26
- selectedFacets?: SelectedFacets;
27
- collapsableFacets: boolean;
28
- contentWidth?: number;
29
- showHistogramDatePicker: boolean;
30
- allowExpandingDatePicker: boolean;
31
- query?: string;
32
- pageSpecifierParams?: PageSpecifierParams;
33
- parentCollections: string[];
34
- filterMap?: FilterMap;
35
- baseNavigationUrl?: string;
36
- collectionPagePath: string;
37
- isManageView: boolean;
38
- modalManager?: ModalManagerInterface;
39
- resizeObserver?: SharedResizeObserverInterface;
40
- featureFeedbackService?: FeatureFeedbackServiceInterface;
41
- recaptchaManager?: RecaptchaManagerInterface;
42
- analyticsHandler?: AnalyticsManagerInterface;
43
- collectionTitles?: CollectionTitles;
44
- openFacets: Record<FacetOption, boolean>;
45
- /**
46
- * Maximum # of facet buckets to render per facet group
47
- */
48
- private allowedFacetCount;
49
- render(): TemplateResult<1>;
50
- private get collectionPartOfTemplate();
51
- private partOfCollectionClicked;
52
- /**
53
- * Opens a modal dialog containing an enlarged version of the date picker.
54
- */
55
- private showDatePickerModal;
56
- private handleExpandedDatePickerClosed;
57
- updated(changed: PropertyValues): void;
58
- private dispatchFacetsChangedEvent;
59
- /**
60
- * Template for the "Expand" button to show the date picker modal, or
61
- * `nothing` if that button should currently not be shown.
62
- */
63
- private get expandDatePickerBtnTemplate();
64
- private get histogramTemplate();
65
- /**
66
- * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
67
- * input event.
68
- *
69
- * Arrow function to ensure `this` is always bound to the current component.
70
- */
71
- private histogramDateRangeUpdated;
72
- /**
73
- * Combines the selected facets with the aggregations to create a single list of facets
74
- */
75
- private get mergedFacets();
76
- /**
77
- * Converts the selected facets to a `FacetGroup` array,
78
- * which is easier to work with
79
- */
80
- private get selectedFacetGroups();
81
- /**
82
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
83
- */
84
- private get aggregationFacetGroups();
85
- /**
86
- * Generate the template for a facet group with a header and the collapsible
87
- * chevron for the mobile view
88
- */
89
- private getFacetGroupTemplate;
90
- private getTombstoneFacetGroupTemplate;
91
- /**
92
- * Generate the More... link button just below the facets group
93
- *
94
- * TODO: want to fire analytics?
95
- */
96
- private searchMoreFacetsLink;
97
- showMoreFacetsModal(facetGroup: FacetGroup, sortedBy: AggregationSortType): Promise<void>;
98
- /**
99
- * Generate the list template for each bucket in a facet group
100
- */
101
- private getFacetTemplate;
102
- static get styles(): import("lit").CSSResult[];
103
- }
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import type { Aggregation, AggregationSortType, FilterMap, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
+ import '@internetarchive/histogram-date-range';
4
+ import '@internetarchive/feature-feedback';
5
+ import { ModalManagerInterface } from '@internetarchive/modal-manager';
6
+ import type { FeatureFeedbackServiceInterface } from '@internetarchive/feature-feedback';
7
+ import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
8
+ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
9
+ import type { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
10
+ import { FacetOption, SelectedFacets, FacetGroup } from './models';
11
+ import type { CollectionTitles, PageSpecifierParams } from './data-source/models';
12
+ import './collection-facets/more-facets-content';
13
+ import './collection-facets/facets-template';
14
+ import './collection-facets/facet-tombstone-row';
15
+ import './expanded-date-picker';
16
+ export declare class CollectionFacets extends LitElement {
17
+ searchService?: SearchServiceInterface;
18
+ searchType?: SearchType;
19
+ aggregations?: Record<string, Aggregation>;
20
+ fullYearsHistogramAggregation?: Aggregation;
21
+ minSelectedDate?: string;
22
+ maxSelectedDate?: string;
23
+ moreLinksVisible: boolean;
24
+ facetsLoading: boolean;
25
+ fullYearAggregationLoading: boolean;
26
+ selectedFacets?: SelectedFacets;
27
+ collapsableFacets: boolean;
28
+ contentWidth?: number;
29
+ showHistogramDatePicker: boolean;
30
+ allowExpandingDatePicker: boolean;
31
+ query?: string;
32
+ pageSpecifierParams?: PageSpecifierParams;
33
+ parentCollections: string[];
34
+ filterMap?: FilterMap;
35
+ baseNavigationUrl?: string;
36
+ collectionPagePath: string;
37
+ isManageView: boolean;
38
+ modalManager?: ModalManagerInterface;
39
+ resizeObserver?: SharedResizeObserverInterface;
40
+ featureFeedbackService?: FeatureFeedbackServiceInterface;
41
+ recaptchaManager?: RecaptchaManagerInterface;
42
+ analyticsHandler?: AnalyticsManagerInterface;
43
+ collectionTitles?: CollectionTitles;
44
+ openFacets: Record<FacetOption, boolean>;
45
+ /**
46
+ * Maximum # of facet buckets to render per facet group
47
+ */
48
+ private allowedFacetCount;
49
+ render(): TemplateResult<1>;
50
+ private get collectionPartOfTemplate();
51
+ private partOfCollectionClicked;
52
+ /**
53
+ * Opens a modal dialog containing an enlarged version of the date picker.
54
+ */
55
+ private showDatePickerModal;
56
+ private handleExpandedDatePickerClosed;
57
+ updated(changed: PropertyValues): void;
58
+ private dispatchFacetsChangedEvent;
59
+ /**
60
+ * Template for the "Expand" button to show the date picker modal, or
61
+ * `nothing` if that button should currently not be shown.
62
+ */
63
+ private get expandDatePickerBtnTemplate();
64
+ private get histogramTemplate();
65
+ /**
66
+ * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
67
+ * input event.
68
+ *
69
+ * Arrow function to ensure `this` is always bound to the current component.
70
+ */
71
+ private histogramDateRangeUpdated;
72
+ /**
73
+ * Combines the selected facets with the aggregations to create a single list of facets
74
+ */
75
+ private get mergedFacets();
76
+ /**
77
+ * Converts the selected facets to a `FacetGroup` array,
78
+ * which is easier to work with
79
+ */
80
+ private get selectedFacetGroups();
81
+ /**
82
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
83
+ */
84
+ private get aggregationFacetGroups();
85
+ /**
86
+ * Generate the template for a facet group with a header and the collapsible
87
+ * chevron for the mobile view
88
+ */
89
+ private getFacetGroupTemplate;
90
+ private getTombstoneFacetGroupTemplate;
91
+ /**
92
+ * Generate the More... link button just below the facets group
93
+ *
94
+ * TODO: want to fire analytics?
95
+ */
96
+ private searchMoreFacetsLink;
97
+ showMoreFacetsModal(facetGroup: FacetGroup, sortedBy: AggregationSortType): Promise<void>;
98
+ /**
99
+ * Generate the list template for each bucket in a facet group
100
+ */
101
+ private getFacetTemplate;
102
+ static get styles(): import("lit").CSSResult[];
103
+ }