@internetarchive/collection-browser 2.7.12 → 2.7.13-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 (498) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +3 -3
  3. package/.github/workflows/gh-pages-main.yml +2 -2
  4. package/.github/workflows/pr-preview.yml +2 -2
  5. package/.husky/pre-commit +4 -4
  6. package/.prettierignore +1 -0
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +13 -13
  10. package/dist/index.js +11 -13
  11. package/dist/index.js.map +1 -1
  12. package/dist/src/app-root.d.ts +109 -107
  13. package/dist/src/app-root.js +541 -531
  14. package/dist/src/app-root.js.map +1 -1
  15. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  18. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  19. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  20. package/dist/src/assets/img/icons/chevron.js +2 -2
  21. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  22. package/dist/src/assets/img/icons/contract.js +2 -2
  23. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  24. package/dist/src/assets/img/icons/empty-query.js +2 -2
  25. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  26. package/dist/src/assets/img/icons/expand.js +2 -2
  27. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  29. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  30. package/dist/src/assets/img/icons/eye.js +2 -2
  31. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  32. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  33. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  34. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  35. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  36. package/dist/src/assets/img/icons/filter.js +2 -2
  37. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  38. package/dist/src/assets/img/icons/login-required.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  63. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  64. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  65. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  66. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  67. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  68. package/dist/src/assets/img/icons/null-result.js +2 -2
  69. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  70. package/dist/src/assets/img/icons/restricted.js +2 -2
  71. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  72. package/dist/src/assets/img/icons/reviews.js +2 -2
  73. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  74. package/dist/src/assets/img/icons/upload.js +2 -2
  75. package/dist/src/assets/img/icons/views.d.ts +1 -1
  76. package/dist/src/assets/img/icons/views.js +2 -2
  77. package/dist/src/circular-activity-indicator.d.ts +5 -5
  78. package/dist/src/circular-activity-indicator.js +17 -17
  79. package/dist/src/circular-activity-indicator.js.map +1 -1
  80. package/dist/src/collection-browser.d.ts +607 -606
  81. package/dist/src/collection-browser.js +1683 -1677
  82. package/dist/src/collection-browser.js.map +1 -1
  83. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  84. package/dist/src/collection-facets/facet-row.js +118 -118
  85. package/dist/src/collection-facets/facet-row.js.map +1 -1
  86. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  87. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  88. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  89. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  90. package/dist/src/collection-facets/facets-template.js +49 -49
  91. package/dist/src/collection-facets/facets-template.js.map +1 -1
  92. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  93. package/dist/src/collection-facets/more-facets-content.js +406 -408
  94. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  95. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  96. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  97. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  98. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  99. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  100. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  101. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  102. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  103. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  105. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  106. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  107. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  108. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  109. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  110. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  111. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  112. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  113. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  114. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  115. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  116. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  117. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  118. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  119. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  120. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  121. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  122. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  123. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  124. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  125. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  126. package/dist/src/collection-facets/toggle-switch.js +94 -94
  127. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  128. package/dist/src/collection-facets.d.ts +103 -103
  129. package/dist/src/collection-facets.js +521 -522
  130. package/dist/src/collection-facets.js.map +1 -1
  131. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  132. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  133. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  134. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  135. package/dist/src/data-source/collection-browser-data-source.js +1003 -1001
  136. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  137. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  138. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  139. package/dist/src/data-source/models.d.ts +28 -28
  140. package/dist/src/data-source/models.js +8 -8
  141. package/dist/src/empty-placeholder.d.ts +23 -23
  142. package/dist/src/empty-placeholder.js +87 -88
  143. package/dist/src/empty-placeholder.js.map +1 -1
  144. package/dist/src/expanded-date-picker.d.ts +43 -43
  145. package/dist/src/expanded-date-picker.js +109 -109
  146. package/dist/src/expanded-date-picker.js.map +1 -1
  147. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  148. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  149. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  150. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  151. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  152. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  153. package/dist/src/manage/manage-bar.d.ts +58 -58
  154. package/dist/src/manage/manage-bar.js +175 -175
  155. package/dist/src/manage/manage-bar.js.map +1 -1
  156. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  157. package/dist/src/manage/remove-items-modal-content.js +34 -34
  158. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  159. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  160. package/dist/src/mediatype/mediatype-config.js +92 -91
  161. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  162. package/dist/src/models.d.ts +228 -228
  163. package/dist/src/models.js +401 -401
  164. package/dist/src/models.js.map +1 -1
  165. package/dist/src/restoration-state-handler.d.ts +70 -70
  166. package/dist/src/restoration-state-handler.js +362 -363
  167. package/dist/src/restoration-state-handler.js.map +1 -1
  168. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  169. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  170. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  171. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  172. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  173. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  174. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  176. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/list.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  182. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  184. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  185. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  186. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  187. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  188. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  189. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  190. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  191. package/dist/src/styles/ia-button.d.ts +2 -2
  192. package/dist/src/styles/ia-button.js +17 -17
  193. package/dist/src/styles/item-image-styles.d.ts +8 -8
  194. package/dist/src/styles/item-image-styles.js +9 -9
  195. package/dist/src/styles/sr-only.d.ts +1 -1
  196. package/dist/src/styles/sr-only.js +2 -2
  197. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  198. package/dist/src/tiles/base-tile-component.js +64 -64
  199. package/dist/src/tiles/base-tile-component.js.map +1 -1
  200. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  201. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  202. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  203. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  204. package/dist/src/tiles/grid/account-tile.js +72 -72
  205. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  206. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  207. package/dist/src/tiles/grid/collection-tile.js +80 -80
  208. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  209. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  210. package/dist/src/tiles/grid/item-tile.js +159 -160
  211. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  212. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  213. package/dist/src/tiles/grid/search-tile.js +51 -51
  214. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  215. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  216. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  217. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  218. package/dist/src/tiles/grid/tile-stats.js +54 -54
  219. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  220. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  221. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  222. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  223. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  224. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  225. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  226. package/dist/src/tiles/image-block.d.ts +18 -18
  227. package/dist/src/tiles/image-block.js +89 -89
  228. package/dist/src/tiles/image-block.js.map +1 -1
  229. package/dist/src/tiles/item-image.d.ts +39 -39
  230. package/dist/src/tiles/item-image.js +154 -154
  231. package/dist/src/tiles/item-image.js.map +1 -1
  232. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  233. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  234. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  235. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  236. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  237. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  238. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  239. package/dist/src/tiles/list/tile-list.js +324 -326
  240. package/dist/src/tiles/list/tile-list.js.map +1 -1
  241. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  242. package/dist/src/tiles/mediatype-icon.js +47 -47
  243. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  244. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  245. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  246. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  247. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  248. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  249. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  250. package/dist/src/tiles/review-block.d.ts +12 -12
  251. package/dist/src/tiles/review-block.js +56 -56
  252. package/dist/src/tiles/review-block.js.map +1 -1
  253. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  254. package/dist/src/tiles/text-snippet-block.js +73 -73
  255. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  256. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  257. package/dist/src/tiles/tile-dispatcher.js +230 -230
  258. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  259. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  260. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  261. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  262. package/dist/src/utils/analytics-events.d.ts +28 -28
  263. package/dist/src/utils/analytics-events.js +30 -30
  264. package/dist/src/utils/array-equals.d.ts +4 -4
  265. package/dist/src/utils/array-equals.js +10 -10
  266. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  267. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  268. package/dist/src/utils/facet-utils.d.ts +83 -83
  269. package/dist/src/utils/facet-utils.js +145 -145
  270. package/dist/src/utils/facet-utils.js.map +1 -1
  271. package/dist/src/utils/format-count.d.ts +7 -7
  272. package/dist/src/utils/format-count.js +75 -76
  273. package/dist/src/utils/format-count.js.map +1 -1
  274. package/dist/src/utils/format-date.d.ts +2 -2
  275. package/dist/src/utils/format-date.js +27 -27
  276. package/dist/src/utils/format-date.js.map +1 -1
  277. package/dist/src/utils/format-unit-size.d.ts +2 -2
  278. package/dist/src/utils/format-unit-size.js +33 -33
  279. package/dist/src/utils/format-unit-size.js.map +1 -1
  280. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  281. package/dist/src/utils/local-date-from-utc.js +15 -15
  282. package/dist/src/utils/log.d.ts +7 -7
  283. package/dist/src/utils/log.js +13 -15
  284. package/dist/src/utils/log.js.map +1 -1
  285. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  286. package/dist/src/utils/resolve-mediatype.js +23 -23
  287. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  288. package/dist/src/utils/sha1.d.ts +2 -2
  289. package/dist/src/utils/sha1.js +8 -8
  290. package/dist/test/collection-browser.test.d.ts +1 -1
  291. package/dist/test/collection-browser.test.js +1309 -1308
  292. package/dist/test/collection-browser.test.js.map +1 -1
  293. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  294. package/dist/test/collection-facets/facet-row.test.js +230 -227
  295. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  296. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  297. package/dist/test/collection-facets/facets-template.test.js +91 -91
  298. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  299. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  300. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  301. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  302. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  303. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  304. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  305. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  306. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  307. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  308. package/dist/test/collection-facets.test.d.ts +2 -2
  309. package/dist/test/collection-facets.test.js +692 -692
  310. package/dist/test/collection-facets.test.js.map +1 -1
  311. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  312. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  313. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  314. package/dist/test/empty-placeholder.test.d.ts +1 -1
  315. package/dist/test/empty-placeholder.test.js +62 -63
  316. package/dist/test/empty-placeholder.test.js.map +1 -1
  317. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  318. package/dist/test/expanded-date-picker.test.js +97 -96
  319. package/dist/test/expanded-date-picker.test.js.map +1 -1
  320. package/dist/test/icon-overlay.test.d.ts +1 -1
  321. package/dist/test/icon-overlay.test.js +23 -24
  322. package/dist/test/icon-overlay.test.js.map +1 -1
  323. package/dist/test/image-block.test.d.ts +1 -1
  324. package/dist/test/image-block.test.js +106 -107
  325. package/dist/test/image-block.test.js.map +1 -1
  326. package/dist/test/item-image.test.d.ts +1 -1
  327. package/dist/test/item-image.test.js +84 -85
  328. package/dist/test/item-image.test.js.map +1 -1
  329. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  330. package/dist/test/manage/manage-bar.test.js +100 -101
  331. package/dist/test/manage/manage-bar.test.js.map +1 -1
  332. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  333. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  334. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  335. package/dist/test/mediatype-config.test.d.ts +1 -1
  336. package/dist/test/mediatype-config.test.js +16 -16
  337. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  338. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  339. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  340. package/dist/test/mocks/mock-search-responses.js +942 -942
  341. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  342. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  343. package/dist/test/mocks/mock-search-service.js +54 -54
  344. package/dist/test/mocks/mock-search-service.js.map +1 -1
  345. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  346. package/dist/test/restoration-state-handler.test.js +270 -270
  347. package/dist/test/restoration-state-handler.test.js.map +1 -1
  348. package/dist/test/review-block.test.d.ts +1 -1
  349. package/dist/test/review-block.test.js +43 -44
  350. package/dist/test/review-block.test.js.map +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  352. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  353. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  354. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  355. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  356. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  357. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  358. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  359. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  360. package/dist/test/text-overlay.test.d.ts +1 -1
  361. package/dist/test/text-overlay.test.js +37 -38
  362. package/dist/test/text-overlay.test.js.map +1 -1
  363. package/dist/test/text-snippet-block.test.d.ts +1 -1
  364. package/dist/test/text-snippet-block.test.js +56 -57
  365. package/dist/test/text-snippet-block.test.js.map +1 -1
  366. package/dist/test/tile-stats.test.d.ts +1 -1
  367. package/dist/test/tile-stats.test.js +98 -99
  368. package/dist/test/tile-stats.test.js.map +1 -1
  369. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  370. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  371. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  372. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  373. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  374. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  375. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  376. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  377. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  378. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  379. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  380. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  381. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  382. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  383. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  384. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  385. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  386. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  387. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  388. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  389. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  390. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  391. package/dist/test/tiles/list/tile-list.test.js +296 -297
  392. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  393. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  394. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  395. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  396. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  397. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  398. package/dist/test/utils/array-equals.test.d.ts +1 -1
  399. package/dist/test/utils/array-equals.test.js +26 -26
  400. package/dist/test/utils/format-count.test.d.ts +1 -1
  401. package/dist/test/utils/format-count.test.js +23 -23
  402. package/dist/test/utils/format-count.test.js.map +1 -1
  403. package/dist/test/utils/format-date.test.d.ts +1 -1
  404. package/dist/test/utils/format-date.test.js +30 -30
  405. package/dist/test/utils/format-date.test.js.map +1 -1
  406. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  407. package/dist/test/utils/format-unit-size.test.js +17 -17
  408. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  409. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  410. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  411. package/eslint.config.mjs +53 -0
  412. package/index.html +0 -3
  413. package/local.archive.org.cert +86 -86
  414. package/local.archive.org.key +27 -27
  415. package/package.json +41 -39
  416. package/renovate.json +6 -6
  417. package/src/app-root.ts +33 -23
  418. package/src/collection-browser.ts +44 -42
  419. package/src/collection-facets/facets-template.ts +7 -6
  420. package/src/collection-facets/more-facets-content.ts +11 -13
  421. package/src/collection-facets/more-facets-pagination.ts +3 -2
  422. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  423. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  424. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  425. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  426. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  427. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  428. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  429. package/src/collection-facets/toggle-switch.ts +2 -2
  430. package/src/collection-facets.ts +18 -19
  431. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  432. package/src/data-source/collection-browser-data-source.ts +42 -35
  433. package/src/empty-placeholder.ts +19 -16
  434. package/src/expanded-date-picker.ts +1 -1
  435. package/src/language-code-handler/language-code-handler.ts +1 -1
  436. package/src/manage/manage-bar.ts +23 -20
  437. package/src/manage/remove-items-modal-content.ts +2 -2
  438. package/src/mediatype/mediatype-config.ts +1 -0
  439. package/src/models.ts +3 -3
  440. package/src/restoration-state-handler.ts +14 -15
  441. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  442. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  443. package/src/tiles/grid/account-tile.ts +1 -1
  444. package/src/tiles/grid/collection-tile.ts +1 -1
  445. package/src/tiles/grid/item-tile.ts +9 -9
  446. package/src/tiles/grid/tile-stats.ts +4 -4
  447. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  448. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  449. package/src/tiles/item-image.ts +1 -1
  450. package/src/tiles/list/tile-list-compact.ts +2 -2
  451. package/src/tiles/list/tile-list.ts +22 -24
  452. package/src/tiles/tile-dispatcher.ts +5 -5
  453. package/src/tiles/tile-display-value-provider.ts +4 -4
  454. package/src/utils/facet-utils.ts +6 -6
  455. package/src/utils/format-count.ts +2 -3
  456. package/src/utils/format-date.ts +1 -1
  457. package/src/utils/format-unit-size.ts +1 -1
  458. package/src/utils/log.ts +1 -3
  459. package/test/collection-browser.test.ts +125 -124
  460. package/test/collection-facets/facet-row.test.ts +31 -28
  461. package/test/collection-facets/facets-template.test.ts +9 -9
  462. package/test/collection-facets/more-facets-content.test.ts +14 -15
  463. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  464. package/test/collection-facets/toggle-switch.test.ts +28 -18
  465. package/test/collection-facets.test.ts +46 -39
  466. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  467. package/test/empty-placeholder.test.ts +6 -7
  468. package/test/expanded-date-picker.test.ts +25 -20
  469. package/test/icon-overlay.test.ts +0 -1
  470. package/test/image-block.test.ts +6 -7
  471. package/test/item-image.test.ts +0 -1
  472. package/test/manage/manage-bar.test.ts +19 -16
  473. package/test/manage/remove-items-modal-content.test.ts +4 -5
  474. package/test/mocks/mock-search-responses.ts +2 -1
  475. package/test/mocks/mock-search-service.ts +1 -1
  476. package/test/restoration-state-handler.test.ts +12 -12
  477. package/test/review-block.test.ts +1 -2
  478. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  479. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  480. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  481. package/test/text-overlay.test.ts +0 -1
  482. package/test/text-snippet-block.test.ts +5 -6
  483. package/test/tile-stats.test.ts +26 -35
  484. package/test/tiles/grid/account-tile.test.ts +2 -3
  485. package/test/tiles/grid/collection-tile.test.ts +3 -4
  486. package/test/tiles/grid/item-tile.test.ts +13 -14
  487. package/test/tiles/grid/search-tile.test.ts +1 -2
  488. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  489. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  490. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  491. package/test/tiles/list/tile-list.test.ts +10 -11
  492. package/test/tiles/tile-dispatcher.test.ts +5 -5
  493. package/test/utils/format-count.test.ts +1 -1
  494. package/test/utils/format-date.test.ts +1 -1
  495. package/test/utils/local-date-from-utc.test.ts +1 -1
  496. package/tsconfig.json +0 -1
  497. package/web-dev-server.config.mjs +30 -30
  498. package/web-test-runner.config.mjs +41 -41
@@ -1,16 +1,15 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import '../src/tiles/image-block';
5
- describe('Image block component', () => {
6
- it('should render component grid display mode', async () => {
7
- var _a, _b, _c;
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import '../src/tiles/image-block';
4
+ describe('Image block component', () => {
5
+ it('should render component grid display mode', async () => {
6
+ var _a, _b, _c;
8
7
  const el = await fixture(html `
9
8
  <image-block
10
- .model=${{
11
- loginRequired: true,
12
- contentWarning: true,
13
- identifier: 'goody',
9
+ .model=${{
10
+ loginRequired: true,
11
+ contentWarning: true,
12
+ identifier: 'goody',
14
13
  }}
15
14
  .baseImageUrl=${'https://archive.org'}
16
15
  .isCompactTile=${false}
@@ -19,22 +18,22 @@ describe('Image block component', () => {
19
18
  .loggedIn=${false}
20
19
  >
21
20
  </image-block>
22
- `);
23
- const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.grid');
24
- const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
25
- const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('text-overlay');
26
- expect(viewSize).to.exist;
27
- expect(itemImage).to.exist;
28
- expect(textOverlay).to.exist;
29
- });
30
- it('should render component list display mode', async () => {
31
- var _a, _b, _c;
21
+ `);
22
+ const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.grid');
23
+ const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
24
+ const textOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('text-overlay');
25
+ expect(viewSize).to.exist;
26
+ expect(itemImage).to.exist;
27
+ expect(textOverlay).to.exist;
28
+ });
29
+ it('should render component list display mode', async () => {
30
+ var _a, _b, _c;
32
31
  const el = await fixture(html `
33
32
  <image-block
34
- .model=${{
35
- loginRequired: true,
36
- contentWarning: true,
37
- identifier: 'goody',
33
+ .model=${{
34
+ loginRequired: true,
35
+ contentWarning: true,
36
+ identifier: 'goody',
38
37
  }}
39
38
  .baseImageUrl=${'https://archive.org'}
40
39
  .isCompactTile=${false}
@@ -43,22 +42,22 @@ describe('Image block component', () => {
43
42
  .loggedIn=${false}
44
43
  >
45
44
  </image-block>
46
- `);
47
- const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list.desktop');
48
- const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
49
- const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
50
- expect(viewSize).to.exist;
51
- expect(itemImage).to.exist;
52
- expect(iconOverlay).to.exist;
53
- });
54
- it('should render component compact display mode', async () => {
55
- var _a, _b, _c;
45
+ `);
46
+ const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list.desktop');
47
+ const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
48
+ const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
49
+ expect(viewSize).to.exist;
50
+ expect(itemImage).to.exist;
51
+ expect(iconOverlay).to.exist;
52
+ });
53
+ it('should render component compact display mode', async () => {
54
+ var _a, _b, _c;
56
55
  const el = await fixture(html `
57
56
  <image-block
58
- .model=${{
59
- loginRequired: true,
60
- contentWarning: true,
61
- identifier: 'goody',
57
+ .model=${{
58
+ loginRequired: true,
59
+ contentWarning: true,
60
+ identifier: 'goody',
62
61
  }}
63
62
  .baseImageUrl=${'https://archive.org'}
64
63
  .isCompactTile=${true}
@@ -67,21 +66,21 @@ describe('Image block component', () => {
67
66
  .loggedIn=${false}
68
67
  >
69
68
  </image-block>
70
- `);
71
- const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list-compact.desktop');
72
- const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
73
- const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
74
- expect(viewSize).to.exist;
75
- expect(itemImage).to.exist;
76
- expect(iconOverlay).to.exist;
77
- });
78
- it('should render a login-required overlay if model requires it and not logged in', async () => {
79
- var _a;
69
+ `);
70
+ const viewSize = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.list-compact.desktop');
71
+ const itemImage = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('item-image');
72
+ const iconOverlay = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('icon-overlay');
73
+ expect(viewSize).to.exist;
74
+ expect(itemImage).to.exist;
75
+ expect(iconOverlay).to.exist;
76
+ });
77
+ it('should render a login-required overlay if model requires it and not logged in', async () => {
78
+ var _a;
80
79
  const el = await fixture(html `
81
80
  <image-block
82
- .model=${{
83
- loginRequired: true,
84
- identifier: 'goody',
81
+ .model=${{
82
+ loginRequired: true,
83
+ identifier: 'goody',
85
84
  }}
86
85
  .baseImageUrl=${'https://archive.org'}
87
86
  .isCompactTile=${false}
@@ -90,18 +89,18 @@ describe('Image block component', () => {
90
89
  .loggedIn=${false}
91
90
  >
92
91
  </image-block>
93
- `);
94
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
95
- expect(textOverlay).to.exist;
96
- expect(textOverlay.type).to.equal('login-required');
97
- });
98
- it('should render no overlay if logged in and model only requires login', async () => {
99
- var _a;
92
+ `);
93
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
94
+ expect(textOverlay).to.exist;
95
+ expect(textOverlay.type).to.equal('login-required');
96
+ });
97
+ it('should render no overlay if logged in and model only requires login', async () => {
98
+ var _a;
100
99
  const el = await fixture(html `
101
100
  <image-block
102
- .model=${{
103
- loginRequired: true,
104
- identifier: 'goody',
101
+ .model=${{
102
+ loginRequired: true,
103
+ identifier: 'goody',
105
104
  }}
106
105
  .baseImageUrl=${'https://archive.org'}
107
106
  .isCompactTile=${false}
@@ -110,17 +109,17 @@ describe('Image block component', () => {
110
109
  .loggedIn=${true}
111
110
  >
112
111
  </image-block>
113
- `);
114
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
115
- expect(textOverlay).not.to.exist;
116
- });
117
- it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {
118
- var _a;
112
+ `);
113
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
114
+ expect(textOverlay).not.to.exist;
115
+ });
116
+ it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {
117
+ var _a;
119
118
  const el = await fixture(html `
120
119
  <image-block
121
- .model=${{
122
- contentWarning: true,
123
- identifier: 'goody',
120
+ .model=${{
121
+ contentWarning: true,
122
+ identifier: 'goody',
124
123
  }}
125
124
  .baseImageUrl=${'https://archive.org'}
126
125
  .isCompactTile=${false}
@@ -129,19 +128,19 @@ describe('Image block component', () => {
129
128
  .loggedIn=${false}
130
129
  >
131
130
  </image-block>
132
- `);
133
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
134
- expect(textOverlay).to.exist;
135
- expect(textOverlay.type).to.equal('content-warning');
136
- });
137
- it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {
138
- var _a;
131
+ `);
132
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
133
+ expect(textOverlay).to.exist;
134
+ expect(textOverlay.type).to.equal('content-warning');
135
+ });
136
+ it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {
137
+ var _a;
139
138
  const el = await fixture(html `
140
139
  <image-block
141
- .model=${{
142
- loginRequired: true,
143
- contentWarning: true,
144
- identifier: 'goody',
140
+ .model=${{
141
+ loginRequired: true,
142
+ contentWarning: true,
143
+ identifier: 'goody',
145
144
  }}
146
145
  .baseImageUrl=${'https://archive.org'}
147
146
  .isCompactTile=${false}
@@ -150,19 +149,19 @@ describe('Image block component', () => {
150
149
  .loggedIn=${false}
151
150
  >
152
151
  </image-block>
153
- `);
154
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
155
- expect(textOverlay).to.exist;
156
- expect(textOverlay.type).to.equal('login-required');
157
- });
158
- it('should show content-warning overlay if both types required and logged in', async () => {
159
- var _a;
152
+ `);
153
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
154
+ expect(textOverlay).to.exist;
155
+ expect(textOverlay.type).to.equal('login-required');
156
+ });
157
+ it('should show content-warning overlay if both types required and logged in', async () => {
158
+ var _a;
160
159
  const el = await fixture(html `
161
160
  <image-block
162
- .model=${{
163
- loginRequired: true,
164
- contentWarning: true,
165
- identifier: 'goody',
161
+ .model=${{
162
+ loginRequired: true,
163
+ contentWarning: true,
164
+ identifier: 'goody',
166
165
  }}
167
166
  .baseImageUrl=${'https://archive.org'}
168
167
  .isCompactTile=${false}
@@ -171,17 +170,17 @@ describe('Image block component', () => {
171
170
  .loggedIn=${true}
172
171
  >
173
172
  </image-block>
174
- `);
175
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
176
- expect(textOverlay).to.exist;
177
- expect(textOverlay.type).to.equal('content-warning');
178
- });
179
- it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {
180
- var _a;
173
+ `);
174
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
175
+ expect(textOverlay).to.exist;
176
+ expect(textOverlay.type).to.equal('content-warning');
177
+ });
178
+ it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {
179
+ var _a;
181
180
  const el = await fixture(html `
182
181
  <image-block
183
- .model=${{
184
- identifier: 'goody',
182
+ .model=${{
183
+ identifier: 'goody',
185
184
  }}
186
185
  .baseImageUrl=${'https://archive.org'}
187
186
  .isCompactTile=${false}
@@ -190,9 +189,9 @@ describe('Image block component', () => {
190
189
  .loggedIn=${false}
191
190
  >
192
191
  </image-block>
193
- `);
194
- const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
195
- expect(textOverlay).not.to.exist;
196
- });
197
- });
192
+ `);
193
+ const textOverlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-overlay');
194
+ expect(textOverlay).not.to.exist;
195
+ });
196
+ });
198
197
  //# sourceMappingURL=image-block.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay'\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"image-block.test.js","sourceRoot":"","sources":["../../test/image-block.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ImageBlock } from '../src/tiles/image-block';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/image-block';\n\ndescribe('Image block component', () => {\n it('should render component grid display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'grid'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.grid');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const textOverlay = el.shadowRoot?.querySelector('text-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(textOverlay).to.exist;\n });\n\n it('should render component list display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render component compact display mode', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${true}\n .isListTile=${true}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const viewSize = el.shadowRoot?.querySelector('.list-compact.desktop');\n const itemImage = el.shadowRoot?.querySelector('item-image');\n const iconOverlay = el.shadowRoot?.querySelector('icon-overlay');\n\n expect(viewSize).to.exist;\n expect(itemImage).to.exist;\n expect(iconOverlay).to.exist;\n });\n\n it('should render a login-required overlay if model requires it and not logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should render no overlay if logged in and model only requires login', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n\n it('should render a content-warning overlay if model requires it and no login overlay is present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should prioritize login-required overlay over content-warning if both required and logged out', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('login-required');\n });\n\n it('should show content-warning overlay if both types required and logged in', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n loginRequired: true,\n contentWarning: true,\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${true}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).to.exist;\n expect(textOverlay.type).to.equal('content-warning');\n });\n\n it('should render no overlay if neither loginRequired nor contentWarning flag present', async () => {\n const el = await fixture<ImageBlock>(html`\n <image-block\n .model=${{\n identifier: 'goody',\n }}\n .baseImageUrl=${'https://archive.org'}\n .isCompactTile=${false}\n .isListTile=${false}\n .viewSize=${'desktop'}\n .loggedIn=${false}\n >\n </image-block>\n `);\n\n const textOverlay = el.shadowRoot?.querySelector(\n 'text-overlay',\n ) as TextOverlay;\n expect(textOverlay).not.to.exist;\n });\n});\n"]}
@@ -1 +1 @@
1
- import '../src/tiles/item-image';
1
+ import '../src/tiles/item-image';
@@ -1,44 +1,43 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import { TileModel } from '../src/models';
5
- import '../src/tiles/item-image';
6
- const baseImageUrl = 'https://archive.org';
7
- const testBookModel = new TileModel({});
8
- testBookModel.checked = false;
9
- testBookModel.collections = [];
10
- testBookModel.commentCount = 0;
11
- testBookModel.creators = [];
12
- testBookModel.favCount = 0;
13
- testBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';
14
- testBookModel.itemCount = 0;
15
- testBookModel.mediatype = 'texts';
16
- testBookModel.subjects = [];
17
- testBookModel.title = 'Sample Waveform';
18
- testBookModel.viewCount = 0;
19
- testBookModel.loginRequired = false;
20
- testBookModel.contentWarning = false;
21
- testBookModel.collectionFilesCount = 0;
22
- testBookModel.collectionSize = 0;
23
- const testAudioModel = new TileModel({});
24
- testAudioModel.checked = false;
25
- testAudioModel.collections = [];
26
- testAudioModel.commentCount = 0;
27
- testAudioModel.creators = [];
28
- testAudioModel.favCount = 0;
29
- testAudioModel.identifier = 'dwd2015-01-24';
30
- testAudioModel.itemCount = 0;
31
- testAudioModel.mediatype = 'audio';
32
- testAudioModel.subjects = [];
33
- testAudioModel.title = 'Sample Waveform';
34
- testAudioModel.viewCount = 0;
35
- testAudioModel.loginRequired = false;
36
- testAudioModel.contentWarning = false;
37
- testAudioModel.collectionFilesCount = 0;
38
- testAudioModel.collectionSize = 0;
39
- describe('ItemImage component', () => {
40
- it('should render initial component', async () => {
41
- var _a, _b;
1
+ import { expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import { TileModel } from '../src/models';
4
+ import '../src/tiles/item-image';
5
+ const baseImageUrl = 'https://archive.org';
6
+ const testBookModel = new TileModel({});
7
+ testBookModel.checked = false;
8
+ testBookModel.collections = [];
9
+ testBookModel.commentCount = 0;
10
+ testBookModel.creators = [];
11
+ testBookModel.favCount = 0;
12
+ testBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';
13
+ testBookModel.itemCount = 0;
14
+ testBookModel.mediatype = 'texts';
15
+ testBookModel.subjects = [];
16
+ testBookModel.title = 'Sample Waveform';
17
+ testBookModel.viewCount = 0;
18
+ testBookModel.loginRequired = false;
19
+ testBookModel.contentWarning = false;
20
+ testBookModel.collectionFilesCount = 0;
21
+ testBookModel.collectionSize = 0;
22
+ const testAudioModel = new TileModel({});
23
+ testAudioModel.checked = false;
24
+ testAudioModel.collections = [];
25
+ testAudioModel.commentCount = 0;
26
+ testAudioModel.creators = [];
27
+ testAudioModel.favCount = 0;
28
+ testAudioModel.identifier = 'dwd2015-01-24';
29
+ testAudioModel.itemCount = 0;
30
+ testAudioModel.mediatype = 'audio';
31
+ testAudioModel.subjects = [];
32
+ testAudioModel.title = 'Sample Waveform';
33
+ testAudioModel.viewCount = 0;
34
+ testAudioModel.loginRequired = false;
35
+ testAudioModel.contentWarning = false;
36
+ testAudioModel.collectionFilesCount = 0;
37
+ testAudioModel.collectionSize = 0;
38
+ describe('ItemImage component', () => {
39
+ it('should render initial component', async () => {
40
+ var _a, _b;
42
41
  const el = await fixture(html `
43
42
  <item-image
44
43
  .isListTile=${false}
@@ -47,14 +46,14 @@ describe('ItemImage component', () => {
47
46
  .baseImageUrl=${baseImageUrl}
48
47
  >
49
48
  </item-image>
50
- `);
51
- const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
52
- const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
53
- expect(dropShadow).to.exist;
54
- expect(imgClassName).to.eql(' contain ');
55
- });
56
- it('should render component if mediatype is waveform', async () => {
57
- var _a;
49
+ `);
50
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
51
+ const imgClassName = (_b = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img')) === null || _b === void 0 ? void 0 : _b.className;
52
+ expect(dropShadow).to.exist;
53
+ expect(imgClassName).to.eql(' contain ');
54
+ });
55
+ it('should render component if mediatype is waveform', async () => {
56
+ var _a;
58
57
  const el = await fixture(html `
59
58
  <item-image
60
59
  .isListTile=${false}
@@ -63,19 +62,19 @@ describe('ItemImage component', () => {
63
62
  .baseImageUrl=${baseImageUrl}
64
63
  >
65
64
  </item-image>
66
- `);
67
- const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
68
- const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
69
- expect(dropShadow).to.exist;
70
- expect(image).to.exist;
71
- // simulate image onLoad event check if image className is waveform
72
- setTimeout(() => {
73
- const imgClassName = image === null || image === void 0 ? void 0 : image.className;
74
- expect(imgClassName).to.eql(' waveform ');
75
- }, 1000);
76
- });
77
- it('should not fetch image with undefined base url', async () => {
78
- var _a;
65
+ `);
66
+ const dropShadow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.drop-shadow');
67
+ const image = dropShadow === null || dropShadow === void 0 ? void 0 : dropShadow.querySelector('img');
68
+ expect(dropShadow).to.exist;
69
+ expect(image).to.exist;
70
+ // simulate image onLoad event check if image className is waveform
71
+ setTimeout(() => {
72
+ const imgClassName = image === null || image === void 0 ? void 0 : image.className;
73
+ expect(imgClassName).to.eql(' waveform ');
74
+ }, 1000);
75
+ });
76
+ it('should not fetch image with undefined base url', async () => {
77
+ var _a;
79
78
  const el = await fixture(html `
80
79
  <item-image
81
80
  .isListTile=${false}
@@ -83,14 +82,14 @@ describe('ItemImage component', () => {
83
82
  .model=${testBookModel}
84
83
  >
85
84
  </item-image>
86
- `);
87
- // Doesn't set the image src if base url is undefined
88
- const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
89
- expect(img).to.exist;
90
- expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
91
- });
92
- it('should not fetch image with undefined model', async () => {
93
- var _a;
85
+ `);
86
+ // Doesn't set the image src if base url is undefined
87
+ const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
88
+ expect(img).to.exist;
89
+ expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
90
+ });
91
+ it('should not fetch image with undefined model', async () => {
92
+ var _a;
94
93
  const el = await fixture(html `
95
94
  <item-image
96
95
  .isListTile=${false}
@@ -98,14 +97,14 @@ describe('ItemImage component', () => {
98
97
  .baseImageUrl=${baseImageUrl}
99
98
  >
100
99
  </item-image>
101
- `);
102
- // Doesn't set the image src if model is not present
103
- const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
104
- expect(img).to.exist;
105
- expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
106
- });
107
- it('should not fetch image with undefined identifier', async () => {
108
- var _a;
100
+ `);
101
+ // Doesn't set the image src if model is not present
102
+ const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
103
+ expect(img).to.exist;
104
+ expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
105
+ });
106
+ it('should not fetch image with undefined identifier', async () => {
107
+ var _a;
109
108
  const el = await fixture(html `
110
109
  <item-image
111
110
  .isListTile=${false}
@@ -114,11 +113,11 @@ describe('ItemImage component', () => {
114
113
  .baseImageUrl=${baseImageUrl}
115
114
  >
116
115
  </item-image>
117
- `);
118
- // Doesn't set the image src if identifier is not present
119
- const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
120
- expect(img).to.exist;
121
- expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
122
- });
123
- });
116
+ `);
117
+ // Doesn't set the image src if identifier is not present
118
+ const img = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('img');
119
+ expect(img).to.exist;
120
+ expect(img === null || img === void 0 ? void 0 : img.getAttribute('src')).not.to.exist;
121
+ });
122
+ });
124
123
  //# sourceMappingURL=item-image.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\n\nimport { TileModel } from '../src/models';\nimport type { ItemImage } from '../src/tiles/item-image';\n\nimport '../src/tiles/item-image';\n\nconst baseImageUrl = 'https://archive.org';\nconst testBookModel: TileModel = new TileModel({});\ntestBookModel.checked = false;\ntestBookModel.collections = [];\ntestBookModel.commentCount = 0;\ntestBookModel.creators = [];\ntestBookModel.favCount = 0;\ntestBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';\ntestBookModel.itemCount = 0;\ntestBookModel.mediatype = 'texts';\ntestBookModel.subjects = [];\ntestBookModel.title = 'Sample Waveform';\ntestBookModel.viewCount = 0;\ntestBookModel.loginRequired = false;\ntestBookModel.contentWarning = false;\ntestBookModel.collectionFilesCount = 0;\ntestBookModel.collectionSize = 0;\n\nconst testAudioModel: TileModel = new TileModel({});\ntestAudioModel.checked = false;\ntestAudioModel.collections = [];\ntestAudioModel.commentCount = 0;\ntestAudioModel.creators = [];\ntestAudioModel.favCount = 0;\ntestAudioModel.identifier = 'dwd2015-01-24';\ntestAudioModel.itemCount = 0;\ntestAudioModel.mediatype = 'audio';\ntestAudioModel.subjects = [];\ntestAudioModel.title = 'Sample Waveform';\ntestAudioModel.viewCount = 0;\ntestAudioModel.loginRequired = false;\ntestAudioModel.contentWarning = false;\ntestAudioModel.collectionFilesCount = 0;\ntestAudioModel.collectionSize = 0;\n\ndescribe('ItemImage component', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const imgClassName = dropShadow?.querySelector('img')?.className;\n\n expect(dropShadow).to.exist;\n expect(imgClassName).to.eql(' contain ');\n });\n\n it('should render component if mediatype is waveform', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testAudioModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const image = dropShadow?.querySelector('img');\n expect(dropShadow).to.exist;\n expect(image).to.exist;\n\n // simulate image onLoad event check if image className is waveform\n setTimeout(() => {\n const imgClassName = image?.className;\n expect(imgClassName).to.eql(' waveform ');\n }, 1000);\n });\n\n it('should not fetch image with undefined base url', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if base url is undefined\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined model', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if model is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined identifier', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${{}}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if identifier is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"item-image.test.js","sourceRoot":"","sources":["../../test/item-image.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\n\nimport { TileModel } from '../src/models';\nimport type { ItemImage } from '../src/tiles/item-image';\n\nimport '../src/tiles/item-image';\n\nconst baseImageUrl = 'https://archive.org';\nconst testBookModel: TileModel = new TileModel({});\ntestBookModel.checked = false;\ntestBookModel.collections = [];\ntestBookModel.commentCount = 0;\ntestBookModel.creators = [];\ntestBookModel.favCount = 0;\ntestBookModel.identifier = '18730130BloomfieldRecordCompleteIssue';\ntestBookModel.itemCount = 0;\ntestBookModel.mediatype = 'texts';\ntestBookModel.subjects = [];\ntestBookModel.title = 'Sample Waveform';\ntestBookModel.viewCount = 0;\ntestBookModel.loginRequired = false;\ntestBookModel.contentWarning = false;\ntestBookModel.collectionFilesCount = 0;\ntestBookModel.collectionSize = 0;\n\nconst testAudioModel: TileModel = new TileModel({});\ntestAudioModel.checked = false;\ntestAudioModel.collections = [];\ntestAudioModel.commentCount = 0;\ntestAudioModel.creators = [];\ntestAudioModel.favCount = 0;\ntestAudioModel.identifier = 'dwd2015-01-24';\ntestAudioModel.itemCount = 0;\ntestAudioModel.mediatype = 'audio';\ntestAudioModel.subjects = [];\ntestAudioModel.title = 'Sample Waveform';\ntestAudioModel.viewCount = 0;\ntestAudioModel.loginRequired = false;\ntestAudioModel.contentWarning = false;\ntestAudioModel.collectionFilesCount = 0;\ntestAudioModel.collectionSize = 0;\n\ndescribe('ItemImage component', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const imgClassName = dropShadow?.querySelector('img')?.className;\n\n expect(dropShadow).to.exist;\n expect(imgClassName).to.eql(' contain ');\n });\n\n it('should render component if mediatype is waveform', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testAudioModel}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n const dropShadow = el.shadowRoot?.querySelector('.drop-shadow');\n const image = dropShadow?.querySelector('img');\n expect(dropShadow).to.exist;\n expect(image).to.exist;\n\n // simulate image onLoad event check if image className is waveform\n setTimeout(() => {\n const imgClassName = image?.className;\n expect(imgClassName).to.eql(' waveform ');\n }, 1000);\n });\n\n it('should not fetch image with undefined base url', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${testBookModel}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if base url is undefined\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined model', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if model is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n\n it('should not fetch image with undefined identifier', async () => {\n const el = await fixture<ItemImage>(html`\n <item-image\n .isListTile=${false}\n .isCompactTile=${false}\n .model=${{}}\n .baseImageUrl=${baseImageUrl}\n >\n </item-image>\n `);\n\n // Doesn't set the image src if identifier is not present\n const img = el.shadowRoot?.querySelector('img');\n expect(img).to.exist;\n expect(img?.getAttribute('src')).not.to.exist;\n });\n});\n"]}
@@ -1,2 +1,2 @@
1
- import '../../src/manage/manage-bar';
2
- import '@internetarchive/modal-manager';
1
+ import '../../src/manage/manage-bar';
2
+ import '@internetarchive/modal-manager';