@internetarchive/collection-browser 1.14.17-beta.5 → 1.14.18-alpha.0

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 (352) 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 +12 -11
  6. package/dist/index.js +12 -11
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +83 -83
  9. package/dist/src/app-root.js +438 -489
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +384 -406
  72. package/dist/src/collection-browser.js +1342 -1363
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +114 -114
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  79. package/dist/src/collection-facets/facets-template.js +114 -114
  80. package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
  81. package/dist/src/collection-facets/more-facets-content.js +354 -369
  82. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +513 -510
  89. package/dist/src/collection-facets.js.map +1 -1
  90. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +217 -0
  91. package/dist/src/data-source/collection-browser-data-source-interface.js +2 -0
  92. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -0
  93. package/dist/src/data-source/collection-browser-data-source.d.ts +352 -434
  94. package/dist/src/data-source/collection-browser-data-source.js +911 -800
  95. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  96. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -0
  97. package/dist/src/data-source/collection-browser-query-state.js +2 -0
  98. package/dist/src/data-source/collection-browser-query-state.js.map +1 -0
  99. package/dist/src/data-source/models.d.ts +28 -62
  100. package/dist/src/data-source/models.js +8 -1
  101. package/dist/src/data-source/models.js.map +1 -1
  102. package/dist/src/empty-placeholder.d.ts +23 -23
  103. package/dist/src/empty-placeholder.js +74 -74
  104. package/dist/src/expanded-date-picker.d.ts +43 -43
  105. package/dist/src/expanded-date-picker.js +109 -109
  106. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  107. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  108. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  109. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  110. package/dist/src/manage/manage-bar.d.ts +26 -26
  111. package/dist/src/manage/manage-bar.js +53 -53
  112. package/dist/src/manage/manage-bar.js.map +1 -1
  113. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  114. package/dist/src/mediatype/mediatype-config.js +91 -91
  115. package/dist/src/models.d.ts +197 -180
  116. package/dist/src/models.js +380 -269
  117. package/dist/src/models.js.map +1 -1
  118. package/dist/src/restoration-state-handler.d.ts +70 -70
  119. package/dist/src/restoration-state-handler.js +355 -355
  120. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  121. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  122. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  123. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  124. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  126. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/list.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  130. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  132. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  133. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  134. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  135. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  136. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  137. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  138. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +210 -210
  139. package/dist/src/sort-filter-bar/sort-filter-bar.js +653 -652
  140. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  141. package/dist/src/styles/item-image-styles.d.ts +8 -8
  142. package/dist/src/styles/item-image-styles.js +9 -9
  143. package/dist/src/styles/sr-only.d.ts +1 -1
  144. package/dist/src/styles/sr-only.js +2 -2
  145. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  146. package/dist/src/tiles/base-tile-component.js +63 -63
  147. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  148. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  149. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  150. package/dist/src/tiles/grid/account-tile.js +72 -72
  151. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  152. package/dist/src/tiles/grid/collection-tile.js +80 -80
  153. package/dist/src/tiles/grid/item-tile.d.ts +28 -27
  154. package/dist/src/tiles/grid/item-tile.js +162 -135
  155. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  156. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  157. package/dist/src/tiles/grid/search-tile.js +51 -51
  158. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  159. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  160. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  161. package/dist/src/tiles/grid/tile-stats.js +58 -53
  162. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  163. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  164. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  165. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  166. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  167. package/dist/src/tiles/image-block.d.ts +17 -17
  168. package/dist/src/tiles/image-block.js +73 -73
  169. package/dist/src/tiles/item-image.d.ts +39 -36
  170. package/dist/src/tiles/item-image.js +155 -127
  171. package/dist/src/tiles/item-image.js.map +1 -1
  172. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  173. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  174. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  175. package/dist/src/tiles/list/tile-list-compact.js +115 -115
  176. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  177. package/dist/src/tiles/list/tile-list.d.ts +47 -46
  178. package/dist/src/tiles/list/tile-list.js +327 -296
  179. package/dist/src/tiles/list/tile-list.js.map +1 -1
  180. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  181. package/dist/src/tiles/mediatype-icon.js +47 -47
  182. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  183. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  184. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  185. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  186. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  187. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  188. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  189. package/dist/src/tiles/text-snippet-block.js +73 -73
  190. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  191. package/dist/src/tiles/tile-dispatcher.js +232 -231
  192. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  193. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -43
  194. package/dist/src/tiles/tile-display-value-provider.js +94 -80
  195. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  196. package/dist/src/utils/analytics-events.d.ts +25 -25
  197. package/dist/src/utils/analytics-events.js +27 -27
  198. package/dist/src/utils/array-equals.d.ts +4 -4
  199. package/dist/src/utils/array-equals.js +10 -10
  200. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -0
  201. package/dist/src/utils/collapse-repeated-quotes.js +14 -0
  202. package/dist/src/utils/collapse-repeated-quotes.js.map +1 -0
  203. package/dist/src/utils/format-count.d.ts +7 -7
  204. package/dist/src/utils/format-count.js +76 -76
  205. package/dist/src/utils/format-date.d.ts +2 -2
  206. package/dist/src/utils/format-date.js +25 -25
  207. package/dist/src/utils/format-unit-size.d.ts +2 -2
  208. package/dist/src/utils/format-unit-size.js +33 -33
  209. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  210. package/dist/src/utils/local-date-from-utc.js +15 -15
  211. package/dist/src/utils/log.d.ts +7 -0
  212. package/dist/src/utils/log.js +16 -0
  213. package/dist/src/utils/log.js.map +1 -0
  214. package/dist/src/utils/resolve-mediatype.d.ts +8 -0
  215. package/dist/src/utils/resolve-mediatype.js +24 -0
  216. package/dist/src/utils/resolve-mediatype.js.map +1 -0
  217. package/dist/src/utils/sha1.d.ts +2 -2
  218. package/dist/src/utils/sha1.js +8 -8
  219. package/dist/test/collection-browser.test.d.ts +1 -1
  220. package/dist/test/collection-browser.test.js +1211 -1149
  221. package/dist/test/collection-browser.test.js.map +1 -1
  222. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  223. package/dist/test/collection-facets/facet-row.test.js +203 -203
  224. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  225. package/dist/test/collection-facets/facets-template.test.js +105 -105
  226. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  227. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  228. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  229. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  230. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  231. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  232. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  233. package/dist/test/collection-facets.test.d.ts +2 -2
  234. package/dist/test/collection-facets.test.js +653 -648
  235. package/dist/test/collection-facets.test.js.map +1 -1
  236. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -0
  237. package/dist/test/data-source/collection-browser-data-source.test.js +80 -0
  238. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -0
  239. package/dist/test/empty-placeholder.test.d.ts +1 -1
  240. package/dist/test/empty-placeholder.test.js +63 -63
  241. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  242. package/dist/test/expanded-date-picker.test.js +95 -95
  243. package/dist/test/icon-overlay.test.d.ts +1 -1
  244. package/dist/test/icon-overlay.test.js +24 -24
  245. package/dist/test/image-block.test.d.ts +1 -1
  246. package/dist/test/image-block.test.js +48 -48
  247. package/dist/test/item-image.test.d.ts +1 -1
  248. package/dist/test/item-image.test.js +85 -86
  249. package/dist/test/item-image.test.js.map +1 -1
  250. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  251. package/dist/test/manage/manage-bar.test.js +72 -72
  252. package/dist/test/mediatype-config.test.d.ts +1 -1
  253. package/dist/test/mediatype-config.test.js +16 -16
  254. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  255. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  256. package/dist/test/mocks/mock-search-responses.d.ts +24 -21
  257. package/dist/test/mocks/mock-search-responses.js +840 -709
  258. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  259. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  260. package/dist/test/mocks/mock-search-service.js +53 -50
  261. package/dist/test/mocks/mock-search-service.js.map +1 -1
  262. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  263. package/dist/test/restoration-state-handler.test.js +270 -270
  264. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  265. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  266. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  267. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  268. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  269. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +418 -418
  270. package/dist/test/text-overlay.test.d.ts +1 -1
  271. package/dist/test/text-overlay.test.js +48 -48
  272. package/dist/test/text-snippet-block.test.d.ts +1 -1
  273. package/dist/test/text-snippet-block.test.js +57 -57
  274. package/dist/test/tile-stats.test.d.ts +1 -1
  275. package/dist/test/tile-stats.test.js +95 -33
  276. package/dist/test/tile-stats.test.js.map +1 -1
  277. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  278. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  279. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  280. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  281. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  282. package/dist/test/tiles/grid/item-tile.test.js +298 -254
  283. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  284. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  285. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  286. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  287. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -258
  288. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  289. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  290. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  291. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  292. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  293. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  294. package/dist/test/tiles/list/tile-list.test.js +283 -239
  295. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  296. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  297. package/dist/test/tiles/tile-dispatcher.test.js +106 -94
  298. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  299. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  300. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  301. package/dist/test/utils/array-equals.test.d.ts +1 -1
  302. package/dist/test/utils/array-equals.test.js +26 -26
  303. package/dist/test/utils/format-count.test.d.ts +1 -1
  304. package/dist/test/utils/format-count.test.js +23 -23
  305. package/dist/test/utils/format-date.test.d.ts +1 -1
  306. package/dist/test/utils/format-date.test.js +17 -17
  307. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  308. package/dist/test/utils/format-unit-size.test.js +17 -17
  309. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  310. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  311. package/index.ts +3 -5
  312. package/local.archive.org.cert +86 -86
  313. package/local.archive.org.key +27 -27
  314. package/package.json +3 -4
  315. package/renovate.json +6 -6
  316. package/src/app-root.ts +30 -85
  317. package/src/collection-browser.ts +112 -139
  318. package/src/collection-facets/more-facets-content.ts +0 -19
  319. package/src/collection-facets.ts +6 -4
  320. package/src/data-source/collection-browser-data-source-interface.ts +272 -0
  321. package/src/data-source/collection-browser-data-source.ts +314 -379
  322. package/src/data-source/collection-browser-query-state.ts +54 -0
  323. package/src/data-source/models.ts +8 -45
  324. package/src/manage/manage-bar.ts +1 -1
  325. package/src/models.ts +164 -3
  326. package/src/sort-filter-bar/sort-filter-bar.ts +2 -1
  327. package/src/tiles/grid/item-tile.ts +36 -1
  328. package/src/tiles/grid/tile-stats.ts +12 -7
  329. package/src/tiles/item-image.ts +28 -0
  330. package/src/tiles/list/tile-list-compact.ts +1 -1
  331. package/src/tiles/list/tile-list.ts +43 -5
  332. package/src/tiles/tile-dispatcher.ts +2 -1
  333. package/src/tiles/tile-display-value-provider.ts +20 -2
  334. package/src/utils/collapse-repeated-quotes.ts +13 -0
  335. package/src/utils/log.ts +16 -0
  336. package/src/utils/resolve-mediatype.ts +26 -0
  337. package/test/collection-browser.test.ts +161 -50
  338. package/test/collection-facets/more-facets-content.test.ts +4 -2
  339. package/test/collection-facets.test.ts +5 -0
  340. package/test/data-source/collection-browser-data-source.test.ts +103 -0
  341. package/test/item-image.test.ts +34 -36
  342. package/test/mocks/mock-search-responses.ts +144 -0
  343. package/test/mocks/mock-search-service.ts +6 -0
  344. package/test/tile-stats.test.ts +104 -0
  345. package/test/tiles/grid/item-tile.test.ts +55 -0
  346. package/test/tiles/hover/hover-pane-controller.test.ts +19 -17
  347. package/test/tiles/list/tile-list.test.ts +55 -0
  348. package/test/tiles/tile-dispatcher.test.ts +13 -0
  349. package/tsconfig.json +21 -21
  350. package/web-dev-server.config.mjs +30 -30
  351. package/web-test-runner.config.mjs +41 -41
  352. package/types/sentry.d.ts +0 -1
@@ -1,30 +1,30 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { msg } from '@lit/localize';
5
- import { BaseTileComponent } from '../base-tile-component';
6
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
7
- import '../image-block';
8
- import './tile-stats';
9
- let AccountTile = class AccountTile extends BaseTileComponent {
10
- constructor() {
11
- /*
12
- * Reactive properties inherited from BaseTileComponent:
13
- * - model?: TileModel;
14
- * - currentWidth?: number;
15
- * - currentHeight?: number;
16
- * - baseNavigationUrl?: string;
17
- * - baseImageUrl?: string;
18
- * - collectionPagePath?: string;
19
- * - sortParam: SortParam | null = null;
20
- * - creatorFilter?: string;
21
- * - mobileBreakpoint?: number;
22
- * - loggedIn = false;
23
- */
24
- super(...arguments);
25
- this.showInfoButton = false;
26
- }
27
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, nothing } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { msg } from '@lit/localize';
5
+ import { BaseTileComponent } from '../base-tile-component';
6
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
7
+ import '../image-block';
8
+ import './tile-stats';
9
+ let AccountTile = class AccountTile extends BaseTileComponent {
10
+ constructor() {
11
+ /*
12
+ * Reactive properties inherited from BaseTileComponent:
13
+ * - model?: TileModel;
14
+ * - currentWidth?: number;
15
+ * - currentHeight?: number;
16
+ * - baseNavigationUrl?: string;
17
+ * - baseImageUrl?: string;
18
+ * - collectionPagePath?: string;
19
+ * - sortParam: SortParam | null = null;
20
+ * - creatorFilter?: string;
21
+ * - mobileBreakpoint?: number;
22
+ * - loggedIn = false;
23
+ */
24
+ super(...arguments);
25
+ this.showInfoButton = false;
26
+ }
27
+ render() {
28
28
  return html `
29
29
  <div class="container">
30
30
  ${this.infoButtonTemplate}
@@ -36,9 +36,9 @@ let AccountTile = class AccountTile extends BaseTileComponent {
36
36
  ${this.getTileStatsTemplate}
37
37
  </div>
38
38
  </div>
39
- `;
40
- }
41
- get getAvatarTemplate() {
39
+ `;
40
+ }
41
+ get getAvatarTemplate() {
42
42
  return html `
43
43
  <image-block
44
44
  .model=${this.model}
@@ -46,63 +46,63 @@ let AccountTile = class AccountTile extends BaseTileComponent {
46
46
  .viewSize=${'grid'}
47
47
  >
48
48
  </image-block>
49
- `;
50
- }
51
- get getTitleTemplate() {
52
- var _a;
49
+ `;
50
+ }
51
+ get getTitleTemplate() {
52
+ var _a;
53
53
  return html `<div id="title">
54
54
  <h4 class="truncated">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}</h4>
55
- </div>`;
56
- }
57
- get getArchivistTemplate() {
55
+ </div>`;
56
+ }
57
+ get getArchivistTemplate() {
58
58
  return html `<div class="archivist-since">
59
59
  <span>${this.displayValueProvider.accountLabel}</span>
60
- </div>`;
61
- }
62
- get getTileStatsTemplate() {
63
- var _a, _b, _c, _d;
60
+ </div>`;
61
+ }
62
+ get getTileStatsTemplate() {
63
+ var _a, _b, _c, _d;
64
64
  return html `<tile-stats
65
65
  .mediatype=${(_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype}
66
66
  .itemCount=${(_b = this.model) === null || _b === void 0 ? void 0 : _b.itemCount}
67
67
  .favCount=${(_c = this.model) === null || _c === void 0 ? void 0 : _c.favCount}
68
68
  .commentCount=${(_d = this.model) === null || _d === void 0 ? void 0 : _d.commentCount}
69
69
  >
70
- </tile-stats>`;
71
- }
72
- get infoButtonTemplate() {
73
- // &#9432; is an information icon
74
- return this.showInfoButton
70
+ </tile-stats>`;
71
+ }
72
+ get infoButtonTemplate() {
73
+ // &#9432; is an information icon
74
+ return this.showInfoButton
75
75
  ? html `<button class="info-button" @click=${this.infoButtonPressed}>
76
76
  &#9432;
77
77
  <span class="sr-only">${msg('More info')}</span>
78
- </button>`
79
- : nothing;
80
- }
81
- infoButtonPressed(e) {
82
- e.preventDefault();
83
- const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
84
- this.dispatchEvent(event);
85
- }
86
- /**
87
- * CSS
88
- */
89
- static get styles() {
90
- const tileBorderColor = css `var(--tileBorderColor, #dddddd)`;
91
- return [
92
- baseTileStyles,
78
+ </button>`
79
+ : nothing;
80
+ }
81
+ infoButtonPressed(e) {
82
+ e.preventDefault();
83
+ const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
84
+ this.dispatchEvent(event);
85
+ }
86
+ /**
87
+ * CSS
88
+ */
89
+ static get styles() {
90
+ const tileBorderColor = css `var(--tileBorderColor, #dddddd)`;
91
+ return [
92
+ baseTileStyles,
93
93
  css `
94
94
  .container {
95
95
  border: 1px solid ${tileBorderColor};
96
96
  }
97
- `,
98
- ];
99
- }
100
- };
101
- __decorate([
102
- property({ type: Boolean })
103
- ], AccountTile.prototype, "showInfoButton", void 0);
104
- AccountTile = __decorate([
105
- customElement('account-tile')
106
- ], AccountTile);
107
- export { AccountTile };
97
+ `,
98
+ ];
99
+ }
100
+ };
101
+ __decorate([
102
+ property({ type: Boolean })
103
+ ], AccountTile.prototype, "showInfoButton", void 0);
104
+ AccountTile = __decorate([
105
+ customElement('account-tile')
106
+ ], AccountTile);
107
+ export { AccountTile };
108
108
  //# sourceMappingURL=account-tile.js.map
@@ -1,15 +1,15 @@
1
- import { CSSResultGroup, TemplateResult } from 'lit';
2
- import { BaseTileComponent } from '../base-tile-component';
3
- import '../image-block';
4
- export declare class CollectionTile extends BaseTileComponent {
5
- showInfoButton: boolean;
6
- render(): TemplateResult<1>;
7
- private get getImageBlockTemplate();
8
- private get getTitleTemplate();
9
- private get getTileStatsTemplate();
10
- private get getItemsTemplate();
11
- private get getSizeTemplate();
12
- private get infoButtonTemplate();
13
- private infoButtonPressed;
14
- static get styles(): CSSResultGroup;
15
- }
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { BaseTileComponent } from '../base-tile-component';
3
+ import '../image-block';
4
+ export declare class CollectionTile extends BaseTileComponent {
5
+ showInfoButton: boolean;
6
+ render(): TemplateResult<1>;
7
+ private get getImageBlockTemplate();
8
+ private get getTitleTemplate();
9
+ private get getTileStatsTemplate();
10
+ private get getItemsTemplate();
11
+ private get getSizeTemplate();
12
+ private get infoButtonTemplate();
13
+ private infoButtonPressed;
14
+ static get styles(): CSSResultGroup;
15
+ }
@@ -1,31 +1,31 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { msg } from '@lit/localize';
5
- import { collectionIcon } from '../../assets/img/icons/mediatype/collection';
6
- import { formatUnitSize } from '../../utils/format-unit-size';
7
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
8
- import { BaseTileComponent } from '../base-tile-component';
9
- import '../image-block';
10
- let CollectionTile = class CollectionTile extends BaseTileComponent {
11
- constructor() {
12
- /*
13
- * Reactive properties inherited from BaseTileComponent:
14
- * - model?: TileModel;
15
- * - currentWidth?: number;
16
- * - currentHeight?: number;
17
- * - baseNavigationUrl?: string;
18
- * - baseImageUrl?: string;
19
- * - collectionPagePath?: string;
20
- * - sortParam: SortParam | null = null;
21
- * - creatorFilter?: string;
22
- * - mobileBreakpoint?: number;
23
- * - loggedIn = false;
24
- */
25
- super(...arguments);
26
- this.showInfoButton = false;
27
- }
28
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, nothing } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { msg } from '@lit/localize';
5
+ import { collectionIcon } from '../../assets/img/icons/mediatype/collection';
6
+ import { formatUnitSize } from '../../utils/format-unit-size';
7
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
8
+ import { BaseTileComponent } from '../base-tile-component';
9
+ import '../image-block';
10
+ let CollectionTile = class CollectionTile extends BaseTileComponent {
11
+ constructor() {
12
+ /*
13
+ * Reactive properties inherited from BaseTileComponent:
14
+ * - model?: TileModel;
15
+ * - currentWidth?: number;
16
+ * - currentHeight?: number;
17
+ * - baseNavigationUrl?: string;
18
+ * - baseImageUrl?: string;
19
+ * - collectionPagePath?: string;
20
+ * - sortParam: SortParam | null = null;
21
+ * - creatorFilter?: string;
22
+ * - mobileBreakpoint?: number;
23
+ * - loggedIn = false;
24
+ */
25
+ super(...arguments);
26
+ this.showInfoButton = false;
27
+ }
28
+ render() {
29
29
  return html `
30
30
  <div class="container">
31
31
  ${this.infoButtonTemplate}
@@ -37,9 +37,9 @@ let CollectionTile = class CollectionTile extends BaseTileComponent {
37
37
 
38
38
  ${this.getTileStatsTemplate}
39
39
  </div>
40
- `;
41
- }
42
- get getImageBlockTemplate() {
40
+ `;
41
+ }
42
+ get getImageBlockTemplate() {
43
43
  return html `
44
44
  <image-block
45
45
  .model=${this.model}
@@ -47,15 +47,15 @@ let CollectionTile = class CollectionTile extends BaseTileComponent {
47
47
  .viewSize=${'grid'}
48
48
  >
49
49
  </image-block>
50
- `;
51
- }
52
- get getTitleTemplate() {
53
- var _a;
50
+ `;
51
+ }
52
+ get getTitleTemplate() {
53
+ var _a;
54
54
  return html `<div id="title">
55
55
  <h4 class="truncated">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.title}</h4>
56
- </div>`;
57
- }
58
- get getTileStatsTemplate() {
56
+ </div>`;
57
+ }
58
+ get getTileStatsTemplate() {
59
59
  return html `
60
60
  <div id="item-stats">
61
61
  <div id="item-mediatype">${collectionIcon}</div>
@@ -64,42 +64,42 @@ let CollectionTile = class CollectionTile extends BaseTileComponent {
64
64
  ${this.getItemsTemplate} ${this.getSizeTemplate}
65
65
  </div>
66
66
  </div>
67
- `;
68
- }
69
- get getItemsTemplate() {
70
- var _a, _b;
71
- const collectionItems = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.itemCount) === null || _b === void 0 ? void 0 : _b.toLocaleString();
67
+ `;
68
+ }
69
+ get getItemsTemplate() {
70
+ var _a, _b;
71
+ const collectionItems = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.itemCount) === null || _b === void 0 ? void 0 : _b.toLocaleString();
72
72
  return html `<span id="item-count"
73
73
  >${collectionItems} item${Number(collectionItems) !== 1 ? 's' : ''}</span
74
- >`;
75
- }
76
- get getSizeTemplate() {
77
- var _a, _b;
78
- const collectionSize = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.collectionSize) !== null && _b !== void 0 ? _b : 0;
79
- return collectionSize
80
- ? html `<span id="item-size">${formatUnitSize(collectionSize, 1)}</span>`
81
- : ``;
82
- }
83
- get infoButtonTemplate() {
84
- // &#9432; is an information icon
85
- return this.showInfoButton
74
+ >`;
75
+ }
76
+ get getSizeTemplate() {
77
+ var _a, _b;
78
+ const collectionSize = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.collectionSize) !== null && _b !== void 0 ? _b : 0;
79
+ return collectionSize
80
+ ? html `<span id="item-size">${formatUnitSize(collectionSize, 1)}</span>`
81
+ : ``;
82
+ }
83
+ get infoButtonTemplate() {
84
+ // &#9432; is an information icon
85
+ return this.showInfoButton
86
86
  ? html `<button class="info-button" @click=${this.infoButtonPressed}>
87
87
  &#9432;
88
88
  <span class="sr-only">${msg('More info')}</span>
89
- </button>`
90
- : nothing;
91
- }
92
- infoButtonPressed(e) {
93
- e.preventDefault();
94
- const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
95
- this.dispatchEvent(event);
96
- }
97
- static get styles() {
98
- const tileBorderColor = css `var(--tileBorderColor, #555555)`;
99
- const tileBackgroundColor = css `var(--tileBackgroundColor, #666666)`;
100
- const whiteColor = css `#fff`;
101
- return [
102
- baseTileStyles,
89
+ </button>`
90
+ : nothing;
91
+ }
92
+ infoButtonPressed(e) {
93
+ e.preventDefault();
94
+ const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
95
+ this.dispatchEvent(event);
96
+ }
97
+ static get styles() {
98
+ const tileBorderColor = css `var(--tileBorderColor, #555555)`;
99
+ const tileBackgroundColor = css `var(--tileBackgroundColor, #666666)`;
100
+ const whiteColor = css `#fff`;
101
+ return [
102
+ baseTileStyles,
103
103
  css `
104
104
  .container {
105
105
  background-color: ${tileBackgroundColor};
@@ -142,15 +142,15 @@ let CollectionTile = class CollectionTile extends BaseTileComponent {
142
142
  flex-direction: column;
143
143
  margin-left: 10px;
144
144
  }
145
- `,
146
- ];
147
- }
148
- };
149
- __decorate([
150
- property({ type: Boolean })
151
- ], CollectionTile.prototype, "showInfoButton", void 0);
152
- CollectionTile = __decorate([
153
- customElement('collection-tile')
154
- ], CollectionTile);
155
- export { CollectionTile };
145
+ `,
146
+ ];
147
+ }
148
+ };
149
+ __decorate([
150
+ property({ type: Boolean })
151
+ ], CollectionTile.prototype, "showInfoButton", void 0);
152
+ CollectionTile = __decorate([
153
+ customElement('collection-tile')
154
+ ], CollectionTile);
155
+ export { CollectionTile };
156
156
  //# sourceMappingURL=collection-tile.js.map
@@ -1,27 +1,28 @@
1
- import { CSSResultGroup, TemplateResult } from 'lit';
2
- import { BaseTileComponent } from '../base-tile-component';
3
- import '../image-block';
4
- import '../text-snippet-block';
5
- import '../item-image';
6
- import '../mediatype-icon';
7
- import './tile-stats';
8
- export declare class ItemTile extends BaseTileComponent {
9
- showInfoButton: boolean;
10
- render(): TemplateResult<1>;
11
- /**
12
- * Templates
13
- */
14
- private get creatorTemplate();
15
- private get imageBlockTemplate();
16
- private get sortedDateInfoTemplate();
17
- private get infoButtonTemplate();
18
- private get textSnippetsTemplate();
19
- private get volumeIssueTemplate();
20
- private get isSortedByDate();
21
- private get hasSnippets();
22
- private infoButtonPressed;
23
- /**
24
- * CSS
25
- */
26
- static get styles(): CSSResultGroup;
27
- }
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { BaseTileComponent } from '../base-tile-component';
3
+ import '../image-block';
4
+ import '../text-snippet-block';
5
+ import '../item-image';
6
+ import '../mediatype-icon';
7
+ import './tile-stats';
8
+ export declare class ItemTile extends BaseTileComponent {
9
+ showInfoButton: boolean;
10
+ render(): TemplateResult<1>;
11
+ /**
12
+ * Templates
13
+ */
14
+ private get creatorTemplate();
15
+ private get imageBlockTemplate();
16
+ private get sortedDateInfoTemplate();
17
+ private get infoButtonTemplate();
18
+ private get textSnippetsTemplate();
19
+ private get volumeIssueTemplate();
20
+ private get webArchivesCaptureDatesTemplate();
21
+ private get isSortedByDate();
22
+ private get hasSnippets();
23
+ private infoButtonPressed;
24
+ /**
25
+ * CSS
26
+ */
27
+ static get styles(): CSSResultGroup;
28
+ }