@internetarchive/collection-browser 4.7.1-alpha-webdev9189.0 → 4.8.1-alpha-webdev9189.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 (351) hide show
  1. package/dist/src/app-root.js +0 -2
  2. package/dist/src/app-root.js.map +1 -1
  3. package/dist/src/assets/img/icons/check.d.ts +2 -0
  4. package/dist/src/assets/img/icons/check.js +5 -0
  5. package/dist/src/assets/img/icons/check.js.map +1 -0
  6. package/dist/src/collection-facets/facet-row-template.d.ts +38 -0
  7. package/dist/src/collection-facets/facet-row-template.js +200 -0
  8. package/dist/src/collection-facets/facet-row-template.js.map +1 -0
  9. package/dist/src/collection-facets/facet-row.js +11 -186
  10. package/dist/src/collection-facets/facet-row.js.map +1 -1
  11. package/dist/src/collection-facets/models.d.ts +7 -2
  12. package/dist/src/collection-facets/models.js +7 -2
  13. package/dist/src/collection-facets/models.js.map +1 -1
  14. package/dist/src/collection-facets/more-facets-content.d.ts +87 -21
  15. package/dist/src/collection-facets/more-facets-content.js +477 -200
  16. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  17. package/dist/src/collection-facets/more-facets-scroller.d.ts +85 -0
  18. package/dist/src/collection-facets/more-facets-scroller.js +428 -0
  19. package/dist/src/collection-facets/more-facets-scroller.js.map +1 -0
  20. package/dist/src/collection-facets/page-window.d.ts +73 -0
  21. package/dist/src/collection-facets/page-window.js +202 -0
  22. package/dist/src/collection-facets/page-window.js.map +1 -0
  23. package/dist/src/collection-facets/toggle-switch.js +1 -0
  24. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  25. package/dist/src/models.d.ts +4 -0
  26. package/dist/src/models.js +16 -0
  27. package/dist/src/models.js.map +1 -1
  28. package/dist/src/utils/normalize-filter-text.d.ts +28 -0
  29. package/dist/src/utils/normalize-filter-text.js +35 -0
  30. package/dist/src/utils/normalize-filter-text.js.map +1 -0
  31. package/package.json +7 -1
  32. package/.editorconfig +0 -29
  33. package/.github/workflows/ci.yml +0 -29
  34. package/.github/workflows/gh-pages-main.yml +0 -41
  35. package/.github/workflows/npm-publish.yml +0 -42
  36. package/.github/workflows/pr-preview.yml +0 -40
  37. package/.husky/pre-commit +0 -1
  38. package/.prettierignore +0 -1
  39. package/dist/src/collection-facets/more-facets-pagination.d.ts +0 -36
  40. package/dist/src/collection-facets/more-facets-pagination.js +0 -260
  41. package/dist/src/collection-facets/more-facets-pagination.js.map +0 -1
  42. package/dist/test/collection-browser.test.d.ts +0 -1
  43. package/dist/test/collection-browser.test.js +0 -1849
  44. package/dist/test/collection-browser.test.js.map +0 -1
  45. package/dist/test/collection-facets/facet-row.test.d.ts +0 -1
  46. package/dist/test/collection-facets/facet-row.test.js +0 -291
  47. package/dist/test/collection-facets/facet-row.test.js.map +0 -1
  48. package/dist/test/collection-facets/facets-template.test.d.ts +0 -1
  49. package/dist/test/collection-facets/facets-template.test.js +0 -95
  50. package/dist/test/collection-facets/facets-template.test.js.map +0 -1
  51. package/dist/test/collection-facets/more-facets-content.test.d.ts +0 -1
  52. package/dist/test/collection-facets/more-facets-content.test.js +0 -159
  53. package/dist/test/collection-facets/more-facets-content.test.js.map +0 -1
  54. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +0 -1
  55. package/dist/test/collection-facets/more-facets-pagination.test.js +0 -126
  56. package/dist/test/collection-facets/more-facets-pagination.test.js.map +0 -1
  57. package/dist/test/collection-facets/toggle-switch.test.d.ts +0 -1
  58. package/dist/test/collection-facets/toggle-switch.test.js +0 -99
  59. package/dist/test/collection-facets/toggle-switch.test.js.map +0 -1
  60. package/dist/test/collection-facets.test.d.ts +0 -2
  61. package/dist/test/collection-facets.test.js +0 -728
  62. package/dist/test/collection-facets.test.js.map +0 -1
  63. package/dist/test/data-source/collection-browser-data-source.test.d.ts +0 -1
  64. package/dist/test/data-source/collection-browser-data-source.test.js +0 -154
  65. package/dist/test/data-source/collection-browser-data-source.test.js.map +0 -1
  66. package/dist/test/empty-placeholder.test.d.ts +0 -1
  67. package/dist/test/empty-placeholder.test.js +0 -57
  68. package/dist/test/empty-placeholder.test.js.map +0 -1
  69. package/dist/test/expanded-date-picker.test.d.ts +0 -1
  70. package/dist/test/expanded-date-picker.test.js +0 -124
  71. package/dist/test/expanded-date-picker.test.js.map +0 -1
  72. package/dist/test/icon-overlay.test.d.ts +0 -1
  73. package/dist/test/icon-overlay.test.js +0 -31
  74. package/dist/test/icon-overlay.test.js.map +0 -1
  75. package/dist/test/image-block.test.d.ts +0 -1
  76. package/dist/test/image-block.test.js +0 -208
  77. package/dist/test/image-block.test.js.map +0 -1
  78. package/dist/test/item-image.test.d.ts +0 -1
  79. package/dist/test/item-image.test.js +0 -187
  80. package/dist/test/item-image.test.js.map +0 -1
  81. package/dist/test/manage/manage-bar.test.d.ts +0 -3
  82. package/dist/test/manage/manage-bar.test.js +0 -216
  83. package/dist/test/manage/manage-bar.test.js.map +0 -1
  84. package/dist/test/manage/remove-items-modal-content.test.d.ts +0 -1
  85. package/dist/test/manage/remove-items-modal-content.test.js +0 -60
  86. package/dist/test/manage/remove-items-modal-content.test.js.map +0 -1
  87. package/dist/test/mediatype-config.test.d.ts +0 -1
  88. package/dist/test/mediatype-config.test.js +0 -11
  89. package/dist/test/mediatype-config.test.js.map +0 -1
  90. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -10
  91. package/dist/test/mocks/mock-analytics-handler.js +0 -16
  92. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
  93. package/dist/test/mocks/mock-search-responses.d.ts +0 -31
  94. package/dist/test/mocks/mock-search-responses.js +0 -1241
  95. package/dist/test/mocks/mock-search-responses.js.map +0 -1
  96. package/dist/test/mocks/mock-search-service.d.ts +0 -16
  97. package/dist/test/mocks/mock-search-service.js +0 -64
  98. package/dist/test/mocks/mock-search-service.js.map +0 -1
  99. package/dist/test/restoration-state-handler.test.d.ts +0 -1
  100. package/dist/test/restoration-state-handler.test.js +0 -335
  101. package/dist/test/restoration-state-handler.test.js.map +0 -1
  102. package/dist/test/review-block.test.d.ts +0 -1
  103. package/dist/test/review-block.test.js +0 -46
  104. package/dist/test/review-block.test.js.map +0 -1
  105. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +0 -1
  106. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +0 -12
  107. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +0 -1
  108. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +0 -1
  109. package/dist/test/sort-filter-bar/alpha-bar.test.js +0 -68
  110. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +0 -1
  111. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +0 -1
  112. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +0 -326
  113. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +0 -1
  114. package/dist/test/text-overlay.test.d.ts +0 -1
  115. package/dist/test/text-overlay.test.js +0 -43
  116. package/dist/test/text-overlay.test.js.map +0 -1
  117. package/dist/test/text-snippet-block.test.d.ts +0 -1
  118. package/dist/test/text-snippet-block.test.js +0 -58
  119. package/dist/test/text-snippet-block.test.js.map +0 -1
  120. package/dist/test/tile-stats.test.d.ts +0 -1
  121. package/dist/test/tile-stats.test.js +0 -167
  122. package/dist/test/tile-stats.test.js.map +0 -1
  123. package/dist/test/tiles/grid/account-tile.test.d.ts +0 -1
  124. package/dist/test/tiles/grid/account-tile.test.js +0 -96
  125. package/dist/test/tiles/grid/account-tile.test.js.map +0 -1
  126. package/dist/test/tiles/grid/collection-tile.test.d.ts +0 -1
  127. package/dist/test/tiles/grid/collection-tile.test.js +0 -90
  128. package/dist/test/tiles/grid/collection-tile.test.js.map +0 -1
  129. package/dist/test/tiles/grid/item-tile.test.d.ts +0 -1
  130. package/dist/test/tiles/grid/item-tile.test.js +0 -400
  131. package/dist/test/tiles/grid/item-tile.test.js.map +0 -1
  132. package/dist/test/tiles/grid/search-tile.test.d.ts +0 -1
  133. package/dist/test/tiles/grid/search-tile.test.js +0 -62
  134. package/dist/test/tiles/grid/search-tile.test.js.map +0 -1
  135. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +0 -1
  136. package/dist/test/tiles/hover/hover-pane-controller.test.js +0 -351
  137. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +0 -1
  138. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +0 -1
  139. package/dist/test/tiles/hover/tile-hover-pane.test.js +0 -53
  140. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +0 -1
  141. package/dist/test/tiles/list/tile-list-compact-header.test.d.ts +0 -1
  142. package/dist/test/tiles/list/tile-list-compact-header.test.js +0 -36
  143. package/dist/test/tiles/list/tile-list-compact-header.test.js.map +0 -1
  144. package/dist/test/tiles/list/tile-list-compact.test.d.ts +0 -1
  145. package/dist/test/tiles/list/tile-list-compact.test.js +0 -237
  146. package/dist/test/tiles/list/tile-list-compact.test.js.map +0 -1
  147. package/dist/test/tiles/list/tile-list.test.d.ts +0 -1
  148. package/dist/test/tiles/list/tile-list.test.js +0 -460
  149. package/dist/test/tiles/list/tile-list.test.js.map +0 -1
  150. package/dist/test/tiles/tile-dispatcher.test.d.ts +0 -1
  151. package/dist/test/tiles/tile-dispatcher.test.js +0 -246
  152. package/dist/test/tiles/tile-dispatcher.test.js.map +0 -1
  153. package/dist/test/tiles/tile-display-value-provider.test.d.ts +0 -1
  154. package/dist/test/tiles/tile-display-value-provider.test.js +0 -142
  155. package/dist/test/tiles/tile-display-value-provider.test.js.map +0 -1
  156. package/dist/test/tiles/tile-mediatype-icon.test.d.ts +0 -1
  157. package/dist/test/tiles/tile-mediatype-icon.test.js +0 -133
  158. package/dist/test/tiles/tile-mediatype-icon.test.js.map +0 -1
  159. package/dist/test/utils/array-equals.test.d.ts +0 -1
  160. package/dist/test/utils/array-equals.test.js +0 -27
  161. package/dist/test/utils/array-equals.test.js.map +0 -1
  162. package/dist/test/utils/format-count.test.d.ts +0 -1
  163. package/dist/test/utils/format-count.test.js +0 -24
  164. package/dist/test/utils/format-count.test.js.map +0 -1
  165. package/dist/test/utils/format-date.test.d.ts +0 -1
  166. package/dist/test/utils/format-date.test.js +0 -61
  167. package/dist/test/utils/format-date.test.js.map +0 -1
  168. package/dist/test/utils/format-unit-size.test.d.ts +0 -1
  169. package/dist/test/utils/format-unit-size.test.js +0 -18
  170. package/dist/test/utils/format-unit-size.test.js.map +0 -1
  171. package/dist/test/utils/local-date-from-utc.test.d.ts +0 -1
  172. package/dist/test/utils/local-date-from-utc.test.js +0 -27
  173. package/dist/test/utils/local-date-from-utc.test.js.map +0 -1
  174. package/eslint.config.mjs +0 -53
  175. package/index.html +0 -24
  176. package/index.ts +0 -29
  177. package/local.archive.org.cert +0 -86
  178. package/local.archive.org.key +0 -27
  179. package/pnpm-workspace.yaml +0 -30
  180. package/renovate.json +0 -6
  181. package/src/app-root.ts +0 -1284
  182. package/src/assets/img/icons/arrow-left.ts +0 -10
  183. package/src/assets/img/icons/arrow-right.ts +0 -10
  184. package/src/assets/img/icons/chevron.ts +0 -4
  185. package/src/assets/img/icons/close-circle-dark.ts +0 -5
  186. package/src/assets/img/icons/contract.ts +0 -9
  187. package/src/assets/img/icons/empty-query.ts +0 -5
  188. package/src/assets/img/icons/expand.ts +0 -9
  189. package/src/assets/img/icons/eye-closed.ts +0 -5
  190. package/src/assets/img/icons/eye.ts +0 -5
  191. package/src/assets/img/icons/favorite-filled.ts +0 -10
  192. package/src/assets/img/icons/favorite-unfilled.ts +0 -9
  193. package/src/assets/img/icons/filter.ts +0 -10
  194. package/src/assets/img/icons/login-required.ts +0 -18
  195. package/src/assets/img/icons/mediatype/account.ts +0 -14
  196. package/src/assets/img/icons/mediatype/audio.ts +0 -14
  197. package/src/assets/img/icons/mediatype/collection.ts +0 -12
  198. package/src/assets/img/icons/mediatype/data.ts +0 -15
  199. package/src/assets/img/icons/mediatype/etree.ts +0 -14
  200. package/src/assets/img/icons/mediatype/film.ts +0 -14
  201. package/src/assets/img/icons/mediatype/images.ts +0 -13
  202. package/src/assets/img/icons/mediatype/radio.ts +0 -15
  203. package/src/assets/img/icons/mediatype/search.ts +0 -14
  204. package/src/assets/img/icons/mediatype/software.ts +0 -13
  205. package/src/assets/img/icons/mediatype/texts.ts +0 -13
  206. package/src/assets/img/icons/mediatype/tv-commercial.ts +0 -12
  207. package/src/assets/img/icons/mediatype/tv-fact-check.ts +0 -12
  208. package/src/assets/img/icons/mediatype/tv-quote.ts +0 -12
  209. package/src/assets/img/icons/mediatype/tv.ts +0 -14
  210. package/src/assets/img/icons/mediatype/video.ts +0 -14
  211. package/src/assets/img/icons/mediatype/web.ts +0 -13
  212. package/src/assets/img/icons/null-result.ts +0 -5
  213. package/src/assets/img/icons/quote.ts +0 -7
  214. package/src/assets/img/icons/restricted.ts +0 -13
  215. package/src/assets/img/icons/reviews.ts +0 -11
  216. package/src/assets/img/icons/upload.ts +0 -12
  217. package/src/assets/img/icons/views.ts +0 -11
  218. package/src/circular-activity-indicator.ts +0 -64
  219. package/src/collection-browser.ts +0 -3187
  220. package/src/collection-facets/facet-row.ts +0 -309
  221. package/src/collection-facets/facet-tombstone-row.ts +0 -40
  222. package/src/collection-facets/facets-template.ts +0 -85
  223. package/src/collection-facets/models.ts +0 -10
  224. package/src/collection-facets/more-facets-content.ts +0 -644
  225. package/src/collection-facets/more-facets-pagination.ts +0 -294
  226. package/src/collection-facets/smart-facets/dedupe.ts +0 -44
  227. package/src/collection-facets/smart-facets/heuristics/browser-language/browser-language-heuristic.ts +0 -27
  228. package/src/collection-facets/smart-facets/heuristics/index.ts +0 -3
  229. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-heuristic.ts +0 -17
  230. package/src/collection-facets/smart-facets/heuristics/query-keywords/query-keywords-map.ts +0 -70
  231. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-entity-map.ts +0 -79
  232. package/src/collection-facets/smart-facets/heuristics/wikidata/wikidata-heuristic.ts +0 -93
  233. package/src/collection-facets/smart-facets/models.ts +0 -36
  234. package/src/collection-facets/smart-facets/smart-facet-bar.ts +0 -437
  235. package/src/collection-facets/smart-facets/smart-facet-button.ts +0 -145
  236. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +0 -185
  237. package/src/collection-facets/smart-facets/smart-facet-equals.ts +0 -16
  238. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +0 -26
  239. package/src/collection-facets/toggle-switch.ts +0 -174
  240. package/src/collection-facets.ts +0 -1013
  241. package/src/data-source/collection-browser-data-source-interface.ts +0 -351
  242. package/src/data-source/collection-browser-data-source.ts +0 -1474
  243. package/src/data-source/collection-browser-query-state.ts +0 -60
  244. package/src/data-source/models.ts +0 -56
  245. package/src/empty-placeholder.ts +0 -192
  246. package/src/expanded-date-picker.ts +0 -191
  247. package/src/language-code-handler/language-code-handler.ts +0 -64
  248. package/src/language-code-handler/language-code-mapping.ts +0 -564
  249. package/src/manage/manage-bar.ts +0 -276
  250. package/src/manage/remove-items-modal-content.ts +0 -102
  251. package/src/mediatype/mediatype-config.ts +0 -146
  252. package/src/models.ts +0 -895
  253. package/src/restoration-state-handler.ts +0 -550
  254. package/src/sort-filter-bar/alpha-bar-tooltip.ts +0 -53
  255. package/src/sort-filter-bar/alpha-bar.ts +0 -252
  256. package/src/sort-filter-bar/img/compact.ts +0 -5
  257. package/src/sort-filter-bar/img/list.ts +0 -5
  258. package/src/sort-filter-bar/img/sort-toggle-disabled.ts +0 -15
  259. package/src/sort-filter-bar/img/sort-toggle-down.ts +0 -17
  260. package/src/sort-filter-bar/img/sort-toggle-up.ts +0 -17
  261. package/src/sort-filter-bar/img/sort-triangle.ts +0 -5
  262. package/src/sort-filter-bar/img/tile.ts +0 -5
  263. package/src/sort-filter-bar/sort-filter-bar.ts +0 -734
  264. package/src/styles/ia-button.ts +0 -139
  265. package/src/styles/item-image-styles.ts +0 -124
  266. package/src/styles/sr-only.ts +0 -18
  267. package/src/styles/tile-action-styles.ts +0 -59
  268. package/src/tiles/base-tile-component.ts +0 -124
  269. package/src/tiles/collection-browser-loading-tile.ts +0 -26
  270. package/src/tiles/grid/account-tile.ts +0 -113
  271. package/src/tiles/grid/collection-tile.ts +0 -184
  272. package/src/tiles/grid/item-tile.ts +0 -347
  273. package/src/tiles/grid/search-tile.ts +0 -90
  274. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +0 -130
  275. package/src/tiles/grid/tile-stats.ts +0 -211
  276. package/src/tiles/hover/hover-pane-controller.ts +0 -638
  277. package/src/tiles/hover/tile-hover-pane.ts +0 -184
  278. package/src/tiles/image-block.ts +0 -162
  279. package/src/tiles/item-image.ts +0 -214
  280. package/src/tiles/list/tile-list-compact-header.ts +0 -112
  281. package/src/tiles/list/tile-list-compact.ts +0 -278
  282. package/src/tiles/list/tile-list.ts +0 -718
  283. package/src/tiles/models.ts +0 -21
  284. package/src/tiles/overlay/icon-overlay.ts +0 -57
  285. package/src/tiles/overlay/text-overlay.ts +0 -79
  286. package/src/tiles/review-block.ts +0 -130
  287. package/src/tiles/text-snippet-block.ts +0 -132
  288. package/src/tiles/tile-dispatcher.ts +0 -637
  289. package/src/tiles/tile-display-value-provider.ts +0 -133
  290. package/src/tiles/tile-mediatype-icon.ts +0 -133
  291. package/src/utils/analytics-events.ts +0 -29
  292. package/src/utils/array-equals.ts +0 -8
  293. package/src/utils/collapse-repeated-quotes.ts +0 -13
  294. package/src/utils/date-filter-field.ts +0 -11
  295. package/src/utils/facet-utils.ts +0 -183
  296. package/src/utils/format-count.ts +0 -95
  297. package/src/utils/format-date.ts +0 -62
  298. package/src/utils/format-unit-size.ts +0 -43
  299. package/src/utils/local-date-from-utc.ts +0 -15
  300. package/src/utils/log.ts +0 -14
  301. package/src/utils/resolve-mediatype.ts +0 -26
  302. package/src/utils/sha1.ts +0 -9
  303. package/test/collection-browser.test.ts +0 -2694
  304. package/test/collection-facets/facet-row.test.ts +0 -421
  305. package/test/collection-facets/facets-template.test.ts +0 -139
  306. package/test/collection-facets/more-facets-content.test.ts +0 -231
  307. package/test/collection-facets/more-facets-pagination.test.ts +0 -201
  308. package/test/collection-facets/toggle-switch.test.ts +0 -164
  309. package/test/collection-facets.test.ts +0 -928
  310. package/test/data-source/collection-browser-data-source.test.ts +0 -193
  311. package/test/empty-placeholder.test.ts +0 -88
  312. package/test/expanded-date-picker.test.ts +0 -201
  313. package/test/icon-overlay.test.ts +0 -38
  314. package/test/image-block.test.ts +0 -247
  315. package/test/item-image.test.ts +0 -220
  316. package/test/manage/manage-bar.test.ts +0 -347
  317. package/test/manage/remove-items-modal-content.test.ts +0 -81
  318. package/test/mediatype-config.test.ts +0 -11
  319. package/test/mocks/mock-analytics-handler.ts +0 -30
  320. package/test/mocks/mock-search-responses.ts +0 -1364
  321. package/test/mocks/mock-search-service.ts +0 -134
  322. package/test/restoration-state-handler.test.ts +0 -480
  323. package/test/review-block.test.ts +0 -62
  324. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +0 -17
  325. package/test/sort-filter-bar/alpha-bar.test.ts +0 -101
  326. package/test/sort-filter-bar/sort-filter-bar.test.ts +0 -472
  327. package/test/text-overlay.test.ts +0 -55
  328. package/test/text-snippet-block.test.ts +0 -85
  329. package/test/tile-stats.test.ts +0 -191
  330. package/test/tiles/grid/account-tile.test.ts +0 -121
  331. package/test/tiles/grid/collection-tile.test.ts +0 -114
  332. package/test/tiles/grid/item-tile.test.ts +0 -520
  333. package/test/tiles/grid/search-tile.test.ts +0 -75
  334. package/test/tiles/hover/hover-pane-controller.test.ts +0 -482
  335. package/test/tiles/hover/tile-hover-pane.test.ts +0 -80
  336. package/test/tiles/list/tile-list-compact-header.test.ts +0 -43
  337. package/test/tiles/list/tile-list-compact.test.ts +0 -282
  338. package/test/tiles/list/tile-list.test.ts +0 -576
  339. package/test/tiles/tile-dispatcher.test.ts +0 -320
  340. package/test/tiles/tile-display-value-provider.test.ts +0 -172
  341. package/test/tiles/tile-mediatype-icon.test.ts +0 -160
  342. package/test/utils/array-equals.test.ts +0 -31
  343. package/test/utils/format-count.test.ts +0 -32
  344. package/test/utils/format-date.test.ts +0 -89
  345. package/test/utils/format-unit-size.test.ts +0 -21
  346. package/test/utils/local-date-from-utc.test.ts +0 -37
  347. package/tsconfig.json +0 -25
  348. package/types/dompurify.d.ts +0 -1
  349. package/vite.config.ts +0 -29
  350. package/web-dev-server.config.mjs +0 -30
  351. package/web-test-runner.config.mjs +0 -52
@@ -1,247 +0,0 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import { html } from 'lit';
3
- import type { ImageBlock } from '../src/tiles/image-block';
4
- import type { TextOverlay } from '../src/tiles/overlay/text-overlay';
5
-
6
- import '../src/tiles/image-block';
7
-
8
- describe('Image block component', () => {
9
- it('should render component grid display mode', async () => {
10
- const el = await fixture<ImageBlock>(html`
11
- <image-block
12
- .model=${{
13
- loginRequired: true,
14
- contentWarning: true,
15
- identifier: 'goody',
16
- }}
17
- .baseImageUrl=${'https://archive.org'}
18
- .isCompactTile=${false}
19
- .isListTile=${false}
20
- .viewSize=${'grid'}
21
- .loggedIn=${false}
22
- >
23
- </image-block>
24
- `);
25
-
26
- const viewSize = el.shadowRoot?.querySelector('.grid');
27
- const itemImage = el.shadowRoot?.querySelector('item-image');
28
- const textOverlay = el.shadowRoot?.querySelector('text-overlay');
29
-
30
- expect(viewSize).to.exist;
31
- expect(itemImage).to.exist;
32
- expect(textOverlay).to.exist;
33
- });
34
-
35
- it('should render component list display mode', async () => {
36
- const el = await fixture<ImageBlock>(html`
37
- <image-block
38
- .model=${{
39
- loginRequired: true,
40
- contentWarning: true,
41
- identifier: 'goody',
42
- }}
43
- .baseImageUrl=${'https://archive.org'}
44
- .isCompactTile=${false}
45
- .isListTile=${true}
46
- .viewSize=${'desktop'}
47
- .loggedIn=${false}
48
- >
49
- </image-block>
50
- `);
51
-
52
- const viewSize = el.shadowRoot?.querySelector('.list.desktop');
53
- const itemImage = el.shadowRoot?.querySelector('item-image');
54
- const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');
55
-
56
- expect(viewSize).to.exist;
57
- expect(itemImage).to.exist;
58
- expect(iconOverlay).to.exist;
59
- });
60
-
61
- it('should render component compact display mode', async () => {
62
- const el = await fixture<ImageBlock>(html`
63
- <image-block
64
- .model=${{
65
- loginRequired: true,
66
- contentWarning: true,
67
- identifier: 'goody',
68
- }}
69
- .baseImageUrl=${'https://archive.org'}
70
- .isCompactTile=${true}
71
- .isListTile=${true}
72
- .viewSize=${'desktop'}
73
- .loggedIn=${false}
74
- >
75
- </image-block>
76
- `);
77
-
78
- const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');
79
- const itemImage = el.shadowRoot?.querySelector('item-image');
80
- const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');
81
-
82
- expect(viewSize).to.exist;
83
- expect(itemImage).to.exist;
84
- expect(iconOverlay).to.exist;
85
- });
86
-
87
- it('should render a login-required overlay if model requires it and not logged in', async () => {
88
- const el = await fixture<ImageBlock>(html`
89
- <image-block
90
- .model=${{
91
- loginRequired: true,
92
- identifier: 'goody',
93
- }}
94
- .baseImageUrl=${'https://archive.org'}
95
- .isCompactTile=${false}
96
- .isListTile=${false}
97
- .viewSize=${'desktop'}
98
- .loggedIn=${false}
99
- >
100
- </image-block>
101
- `);
102
-
103
- const textOverlay = el.shadowRoot?.querySelector(
104
- 'text-overlay',
105
- ) as TextOverlay;
106
- expect(textOverlay).to.exist;
107
- expect(textOverlay.type).to.equal('login-required');
108
- });
109
-
110
- it('should render no overlay if logged in and model only requires login', async () => {
111
- const el = await fixture<ImageBlock>(html`
112
- <image-block
113
- .model=${{
114
- loginRequired: true,
115
- identifier: 'goody',
116
- }}
117
- .baseImageUrl=${'https://archive.org'}
118
- .isCompactTile=${false}
119
- .isListTile=${false}
120
- .viewSize=${'desktop'}
121
- .loggedIn=${true}
122
- >
123
- </image-block>
124
- `);
125
-
126
- const textOverlay = el.shadowRoot?.querySelector(
127
- 'text-overlay',
128
- ) as TextOverlay;
129
- expect(textOverlay).not.to.exist;
130
- });
131
-
132
- it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {
133
- const el = await fixture<ImageBlock>(html`
134
- <image-block
135
- .model=${{
136
- contentWarning: true,
137
- identifier: 'goody',
138
- }}
139
- .baseImageUrl=${'https://archive.org'}
140
- .isCompactTile=${false}
141
- .isListTile=${false}
142
- .viewSize=${'desktop'}
143
- .loggedIn=${false}
144
- >
145
- </image-block>
146
- `);
147
-
148
- const textOverlay = el.shadowRoot?.querySelector(
149
- 'text-overlay',
150
- ) as TextOverlay;
151
- expect(textOverlay).to.exist;
152
- expect(textOverlay.type).to.equal('content-warning');
153
- });
154
-
155
- it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {
156
- const el = await fixture<ImageBlock>(html`
157
- <image-block
158
- .model=${{
159
- loginRequired: true,
160
- contentWarning: true,
161
- identifier: 'goody',
162
- }}
163
- .baseImageUrl=${'https://archive.org'}
164
- .isCompactTile=${false}
165
- .isListTile=${false}
166
- .viewSize=${'desktop'}
167
- .loggedIn=${false}
168
- >
169
- </image-block>
170
- `);
171
-
172
- const textOverlay = el.shadowRoot?.querySelector(
173
- 'text-overlay',
174
- ) as TextOverlay;
175
- expect(textOverlay).to.exist;
176
- expect(textOverlay.type).to.equal('login-required');
177
- });
178
-
179
- it('should show content-warning overlay if both types required and logged in', async () => {
180
- const el = await fixture<ImageBlock>(html`
181
- <image-block
182
- .model=${{
183
- loginRequired: true,
184
- contentWarning: true,
185
- identifier: 'goody',
186
- }}
187
- .baseImageUrl=${'https://archive.org'}
188
- .isCompactTile=${false}
189
- .isListTile=${false}
190
- .viewSize=${'desktop'}
191
- .loggedIn=${true}
192
- >
193
- </image-block>
194
- `);
195
-
196
- const textOverlay = el.shadowRoot?.querySelector(
197
- 'text-overlay',
198
- ) as TextOverlay;
199
- expect(textOverlay).to.exist;
200
- expect(textOverlay.type).to.equal('content-warning');
201
- });
202
-
203
- it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {
204
- const el = await fixture<ImageBlock>(html`
205
- <image-block
206
- .model=${{
207
- identifier: 'goody',
208
- }}
209
- .baseImageUrl=${'https://archive.org'}
210
- .isCompactTile=${false}
211
- .isListTile=${false}
212
- .viewSize=${'desktop'}
213
- .loggedIn=${false}
214
- >
215
- </image-block>
216
- `);
217
-
218
- const textOverlay = el.shadowRoot?.querySelector(
219
- 'text-overlay',
220
- ) as TextOverlay;
221
- expect(textOverlay).not.to.exist;
222
- });
223
-
224
- it('should render no overlay if blurring is suppressed', async () => {
225
- const el = await fixture<ImageBlock>(html`
226
- <image-block
227
- .model=${{
228
- loginRequired: true,
229
- contentWarning: true,
230
- identifier: 'goody',
231
- }}
232
- .baseImageUrl=${'https://archive.org'}
233
- .isCompactTile=${false}
234
- .isListTile=${false}
235
- .viewSize=${'desktop'}
236
- .loggedIn=${true}
237
- suppressBlurring
238
- >
239
- </image-block>
240
- `);
241
-
242
- const textOverlay = el.shadowRoot?.querySelector(
243
- 'text-overlay',
244
- ) as TextOverlay;
245
- expect(textOverlay).not.to.exist;
246
- });
247
- });
@@ -1,220 +0,0 @@
1
- import { expect, fixture } from '@open-wc/testing';
2
- import { html } from 'lit';
3
-
4
- import { TileModel } from '../src/models';
5
- import type { ItemImage } from '../src/tiles/item-image';
6
-
7
- import '../src/tiles/item-image';
8
- import { MediaType } from '@internetarchive/field-parsers';
9
-
10
- const baseImageUrl = 'https://archive.org';
11
- const testBookModel: TileModel = new TileModel({});
12
- testBookModel.checked = false;
13
- testBookModel.collections = [];
14
- testBookModel.commentCount = 0;
15
- testBookModel.creators = [];
16
- testBookModel.favCount = 0;
17
- testBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';
18
- testBookModel.itemCount = 0;
19
- testBookModel.mediatype = 'texts';
20
- testBookModel.subjects = [];
21
- testBookModel.title = 'Sample Waveform';
22
- testBookModel.viewCount = 0;
23
- testBookModel.loginRequired = false;
24
- testBookModel.contentWarning = false;
25
- testBookModel.collectionFilesCount = 0;
26
- testBookModel.collectionSize = 0;
27
-
28
- const testAudioModel: TileModel = new TileModel({});
29
- testAudioModel.checked = false;
30
- testAudioModel.collections = [];
31
- testAudioModel.commentCount = 0;
32
- testAudioModel.creators = [];
33
- testAudioModel.favCount = 0;
34
- testAudioModel.identifier = 'dwd2015-01-24';
35
- testAudioModel.itemCount = 0;
36
- testAudioModel.mediatype = 'audio';
37
- testAudioModel.subjects = [];
38
- testAudioModel.title = 'Sample Waveform';
39
- testAudioModel.viewCount = 0;
40
- testAudioModel.loginRequired = false;
41
- testAudioModel.contentWarning = false;
42
- testAudioModel.collectionFilesCount = 0;
43
- testAudioModel.collectionSize = 0;
44
-
45
- describe('ItemImage component', () => {
46
- it('should render initial component', async () => {
47
- const el = await fixture<ItemImage>(html`
48
- <item-image
49
- .isListTile=${false}
50
- .isCompactTile=${false}
51
- .model=${testBookModel}
52
- .baseImageUrl=${baseImageUrl}
53
- >
54
- </item-image>
55
- `);
56
-
57
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
58
- const imgClassName = dropShadow?.querySelector('img')?.className;
59
-
60
- expect(dropShadow).to.exist;
61
- expect(imgClassName).to.eql(' contain ');
62
- });
63
-
64
- it('should render component if mediatype is waveform', async () => {
65
- const el = await fixture<ItemImage>(html`
66
- <item-image
67
- .isListTile=${false}
68
- .isCompactTile=${false}
69
- .model=${testAudioModel}
70
- .baseImageUrl=${baseImageUrl}
71
- >
72
- </item-image>
73
- `);
74
-
75
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
76
- const image = dropShadow?.querySelector('img');
77
- expect(dropShadow).to.exist;
78
- expect(image).to.exist;
79
-
80
- // simulate image onLoad event check if image className is waveform
81
- setTimeout(() => {
82
- const imgClassName = image?.className;
83
- expect(imgClassName).to.eql(' waveform ');
84
- }, 1000);
85
- });
86
-
87
- it('should not fetch image with undefined base url', async () => {
88
- const el = await fixture<ItemImage>(html`
89
- <item-image
90
- .isListTile=${false}
91
- .isCompactTile=${false}
92
- .model=${testBookModel}
93
- >
94
- </item-image>
95
- `);
96
-
97
- // Doesn't set the image src if base url is undefined
98
- const img = el.shadowRoot?.querySelector('img');
99
- expect(img).to.exist;
100
- expect(img?.getAttribute('src')).not.to.exist;
101
- });
102
-
103
- it('should not fetch image with undefined model', async () => {
104
- const el = await fixture<ItemImage>(html`
105
- <item-image
106
- .isListTile=${false}
107
- .isCompactTile=${false}
108
- .baseImageUrl=${baseImageUrl}
109
- >
110
- </item-image>
111
- `);
112
-
113
- // Doesn't set the image src if model is not present
114
- const img = el.shadowRoot?.querySelector('img');
115
- expect(img).to.exist;
116
- expect(img?.getAttribute('src')).not.to.exist;
117
- });
118
-
119
- it('should not fetch image with undefined identifier', async () => {
120
- const el = await fixture<ItemImage>(html`
121
- <item-image
122
- .isListTile=${false}
123
- .isCompactTile=${false}
124
- .model=${{}}
125
- .baseImageUrl=${baseImageUrl}
126
- >
127
- </item-image>
128
- `);
129
-
130
- // Doesn't set the image src if identifier is not present
131
- const img = el.shadowRoot?.querySelector('img');
132
- expect(img).to.exist;
133
- expect(img?.getAttribute('src')).not.to.exist;
134
- });
135
-
136
- it('should blur image if login required flag set', async () => {
137
- const model = new TileModel({ identifier: 'foo' });
138
- model.loginRequired = true;
139
-
140
- const el = await fixture<ItemImage>(html`
141
- <item-image
142
- .isListTile=${false}
143
- .isCompactTile=${false}
144
- .model=${model}
145
- .baseImageUrl=${baseImageUrl}
146
- >
147
- </item-image>
148
- `);
149
-
150
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
151
- expect(dropShadow).to.exist;
152
-
153
- const imgClasses = dropShadow?.querySelector('img')?.classList;
154
- expect(imgClasses?.contains('blur')).to.be.true;
155
- });
156
-
157
- it('should blur image if content warning flag set', async () => {
158
- const model = new TileModel({ identifier: 'foo' });
159
- model.contentWarning = true;
160
-
161
- const el = await fixture<ItemImage>(html`
162
- <item-image
163
- .isListTile=${false}
164
- .isCompactTile=${false}
165
- .model=${model}
166
- .baseImageUrl=${baseImageUrl}
167
- >
168
- </item-image>
169
- `);
170
-
171
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
172
- expect(dropShadow).to.exist;
173
-
174
- const imgClasses = dropShadow?.querySelector('img')?.classList;
175
- expect(imgClasses?.contains('blur')).to.be.true;
176
- });
177
-
178
- it('should not blur image if no login required nor content warning', async () => {
179
- const model = new TileModel({ identifier: 'foo' });
180
-
181
- const el = await fixture<ItemImage>(html`
182
- <item-image
183
- .isListTile=${false}
184
- .isCompactTile=${false}
185
- .model=${model}
186
- .baseImageUrl=${baseImageUrl}
187
- >
188
- </item-image>
189
- `);
190
-
191
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
192
- expect(dropShadow).to.exist;
193
-
194
- const imgClasses = dropShadow?.querySelector('img')?.classList;
195
- expect(imgClasses?.contains('blur')).to.be.false;
196
- });
197
-
198
- it('should not blur image if blurring is suppressed, regardless of content flags', async () => {
199
- const model = new TileModel({ identifier: 'foo' });
200
- model.loginRequired = true;
201
- model.contentWarning = true;
202
-
203
- const el = await fixture<ItemImage>(html`
204
- <item-image
205
- .isListTile=${false}
206
- .isCompactTile=${false}
207
- .model=${model}
208
- .baseImageUrl=${baseImageUrl}
209
- suppressBlurring
210
- >
211
- </item-image>
212
- `);
213
-
214
- const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');
215
- expect(dropShadow).to.exist;
216
-
217
- const imgClasses = dropShadow?.querySelector('img')?.classList;
218
- expect(imgClasses?.contains('blur')).to.be.false;
219
- });
220
- });