@internetarchive/collection-browser 2.7.14-alpha-webdev7002.3 → 2.7.14-alpha-webdev7397.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 (490) hide show
  1. package/.github/workflows/ci.yml +3 -3
  2. package/.github/workflows/gh-pages-main.yml +2 -2
  3. package/.github/workflows/pr-preview.yml +2 -2
  4. package/.prettierignore +1 -0
  5. package/dist/index.d.ts +13 -15
  6. package/dist/index.js +11 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/app-root.d.ts +107 -107
  9. package/dist/src/app-root.js +531 -531
  10. package/dist/src/app-root.js.map +1 -1
  11. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  15. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  16. package/dist/src/assets/img/icons/chevron.js +2 -2
  17. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  18. package/dist/src/assets/img/icons/contract.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  22. package/dist/src/assets/img/icons/expand.js +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  25. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  31. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  32. package/dist/src/assets/img/icons/filter.js +2 -2
  33. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  34. package/dist/src/assets/img/icons/login-required.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  61. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  62. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  63. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  64. package/dist/src/assets/img/icons/null-result.js +2 -2
  65. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  66. package/dist/src/assets/img/icons/restricted.js +2 -2
  67. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  68. package/dist/src/assets/img/icons/reviews.js +2 -2
  69. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  70. package/dist/src/assets/img/icons/upload.js +2 -2
  71. package/dist/src/assets/img/icons/views.d.ts +1 -1
  72. package/dist/src/assets/img/icons/views.js +2 -2
  73. package/dist/src/circular-activity-indicator.d.ts +5 -5
  74. package/dist/src/circular-activity-indicator.js +17 -17
  75. package/dist/src/circular-activity-indicator.js.map +1 -1
  76. package/dist/src/collection-browser.d.ts +606 -606
  77. package/dist/src/collection-browser.js +1679 -1677
  78. package/dist/src/collection-browser.js.map +1 -1
  79. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  80. package/dist/src/collection-facets/facet-row.js +118 -118
  81. package/dist/src/collection-facets/facet-row.js.map +1 -1
  82. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  83. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  84. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  85. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  86. package/dist/src/collection-facets/facets-template.js +49 -49
  87. package/dist/src/collection-facets/facets-template.js.map +1 -1
  88. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  89. package/dist/src/collection-facets/more-facets-content.js +406 -408
  90. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  91. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  92. package/dist/src/collection-facets/more-facets-pagination.js +197 -196
  93. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  94. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  95. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  96. package/dist/src/collection-facets/smart-facets/dedupe.js.map +1 -1
  97. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  98. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  99. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  100. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  101. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js.map +1 -1
  102. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  103. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  104. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js.map +1 -1
  105. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  106. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  107. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  108. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +237 -240
  109. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js.map +1 -1
  110. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  111. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  112. package/dist/src/collection-facets/smart-facets/smart-facet-button.js.map +1 -1
  113. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  114. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  115. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js.map +1 -1
  116. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  117. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  118. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  119. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  120. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js.map +1 -1
  121. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  122. package/dist/src/collection-facets/toggle-switch.js +94 -94
  123. package/dist/src/collection-facets/toggle-switch.js.map +1 -1
  124. package/dist/src/collection-facets.d.ts +103 -103
  125. package/dist/src/collection-facets.js +521 -522
  126. package/dist/src/collection-facets.js.map +1 -1
  127. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  128. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  129. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  130. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  131. package/dist/src/data-source/collection-browser-data-source.js +1003 -1004
  132. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  133. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  134. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  135. package/dist/src/data-source/models.d.ts +28 -28
  136. package/dist/src/data-source/models.js +8 -8
  137. package/dist/src/empty-placeholder.d.ts +23 -23
  138. package/dist/src/empty-placeholder.js +87 -88
  139. package/dist/src/empty-placeholder.js.map +1 -1
  140. package/dist/src/expanded-date-picker.d.ts +43 -43
  141. package/dist/src/expanded-date-picker.js +109 -109
  142. package/dist/src/expanded-date-picker.js.map +1 -1
  143. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  144. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  145. package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
  146. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  147. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  148. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -1
  149. package/dist/src/manage/manage-bar.d.ts +58 -58
  150. package/dist/src/manage/manage-bar.js +175 -175
  151. package/dist/src/manage/manage-bar.js.map +1 -1
  152. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  153. package/dist/src/manage/remove-items-modal-content.js +34 -34
  154. package/dist/src/manage/remove-items-modal-content.js.map +1 -1
  155. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  156. package/dist/src/mediatype/mediatype-config.js +92 -91
  157. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  158. package/dist/src/models.d.ts +228 -228
  159. package/dist/src/models.js +401 -401
  160. package/dist/src/models.js.map +1 -1
  161. package/dist/src/restoration-state-handler.d.ts +70 -70
  162. package/dist/src/restoration-state-handler.js +362 -363
  163. package/dist/src/restoration-state-handler.js.map +1 -1
  164. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  165. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  166. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  167. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  168. package/dist/src/sort-filter-bar/alpha-bar.js +136 -136
  169. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  170. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  171. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  172. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  173. package/dist/src/sort-filter-bar/img/list.js +2 -2
  174. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  175. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  176. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  177. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  178. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  179. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  180. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  181. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  182. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  183. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  184. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  185. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -697
  186. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  187. package/dist/src/styles/ia-button.d.ts +2 -2
  188. package/dist/src/styles/ia-button.js +17 -17
  189. package/dist/src/styles/item-image-styles.d.ts +8 -8
  190. package/dist/src/styles/item-image-styles.js +9 -9
  191. package/dist/src/styles/sr-only.d.ts +1 -1
  192. package/dist/src/styles/sr-only.js +2 -2
  193. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  194. package/dist/src/tiles/base-tile-component.js +64 -64
  195. package/dist/src/tiles/base-tile-component.js.map +1 -1
  196. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  197. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  198. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  199. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  200. package/dist/src/tiles/grid/account-tile.js +72 -72
  201. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  202. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  203. package/dist/src/tiles/grid/collection-tile.js +80 -80
  204. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  205. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  206. package/dist/src/tiles/grid/item-tile.js +159 -160
  207. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  208. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  209. package/dist/src/tiles/grid/search-tile.js +51 -51
  210. package/dist/src/tiles/grid/search-tile.js.map +1 -1
  211. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  212. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  213. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  214. package/dist/src/tiles/grid/tile-stats.js +54 -54
  215. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  216. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  217. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  218. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  219. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  220. package/dist/src/tiles/hover/tile-hover-pane.js +72 -70
  221. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  222. package/dist/src/tiles/image-block.d.ts +18 -18
  223. package/dist/src/tiles/image-block.js +89 -89
  224. package/dist/src/tiles/image-block.js.map +1 -1
  225. package/dist/src/tiles/item-image.d.ts +39 -39
  226. package/dist/src/tiles/item-image.js +154 -154
  227. package/dist/src/tiles/item-image.js.map +1 -1
  228. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  229. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  230. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
  231. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  232. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  233. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  234. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  235. package/dist/src/tiles/list/tile-list.js +324 -326
  236. package/dist/src/tiles/list/tile-list.js.map +1 -1
  237. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  238. package/dist/src/tiles/mediatype-icon.js +47 -47
  239. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  240. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  241. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  242. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  243. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  244. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  245. package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
  246. package/dist/src/tiles/review-block.d.ts +12 -12
  247. package/dist/src/tiles/review-block.js +56 -56
  248. package/dist/src/tiles/review-block.js.map +1 -1
  249. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  250. package/dist/src/tiles/text-snippet-block.js +73 -73
  251. package/dist/src/tiles/text-snippet-block.js.map +1 -1
  252. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  253. package/dist/src/tiles/tile-dispatcher.js +230 -230
  254. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  255. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  256. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  257. package/dist/src/tiles/tile-display-value-provider.js.map +1 -1
  258. package/dist/src/utils/analytics-events.d.ts +28 -28
  259. package/dist/src/utils/analytics-events.js +30 -30
  260. package/dist/src/utils/array-equals.d.ts +4 -4
  261. package/dist/src/utils/array-equals.js +10 -10
  262. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  263. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  264. package/dist/src/utils/facet-utils.d.ts +83 -83
  265. package/dist/src/utils/facet-utils.js +145 -145
  266. package/dist/src/utils/facet-utils.js.map +1 -1
  267. package/dist/src/utils/format-count.d.ts +7 -7
  268. package/dist/src/utils/format-count.js +75 -76
  269. package/dist/src/utils/format-count.js.map +1 -1
  270. package/dist/src/utils/format-date.d.ts +2 -2
  271. package/dist/src/utils/format-date.js +27 -27
  272. package/dist/src/utils/format-date.js.map +1 -1
  273. package/dist/src/utils/format-unit-size.d.ts +2 -2
  274. package/dist/src/utils/format-unit-size.js +33 -33
  275. package/dist/src/utils/format-unit-size.js.map +1 -1
  276. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  277. package/dist/src/utils/local-date-from-utc.js +15 -15
  278. package/dist/src/utils/log.d.ts +7 -7
  279. package/dist/src/utils/log.js +13 -15
  280. package/dist/src/utils/log.js.map +1 -1
  281. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  282. package/dist/src/utils/resolve-mediatype.js +23 -23
  283. package/dist/src/utils/resolve-mediatype.js.map +1 -1
  284. package/dist/src/utils/sha1.d.ts +2 -2
  285. package/dist/src/utils/sha1.js +8 -8
  286. package/dist/test/collection-browser.test.d.ts +1 -1
  287. package/dist/test/collection-browser.test.js +1309 -1308
  288. package/dist/test/collection-browser.test.js.map +1 -1
  289. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  290. package/dist/test/collection-facets/facet-row.test.js +230 -227
  291. package/dist/test/collection-facets/facet-row.test.js.map +1 -1
  292. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  293. package/dist/test/collection-facets/facets-template.test.js +91 -91
  294. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  295. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  296. package/dist/test/collection-facets/more-facets-content.test.js +140 -141
  297. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  298. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  299. package/dist/test/collection-facets/more-facets-pagination.test.js +116 -117
  300. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -1
  301. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  302. package/dist/test/collection-facets/toggle-switch.test.js +82 -73
  303. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -1
  304. package/dist/test/collection-facets.test.d.ts +2 -2
  305. package/dist/test/collection-facets.test.js +692 -692
  306. package/dist/test/collection-facets.test.js.map +1 -1
  307. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  308. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  309. package/dist/test/data-source/collection-browser-data-source.test.js.map +1 -1
  310. package/dist/test/empty-placeholder.test.d.ts +1 -1
  311. package/dist/test/empty-placeholder.test.js +62 -63
  312. package/dist/test/empty-placeholder.test.js.map +1 -1
  313. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  314. package/dist/test/expanded-date-picker.test.js +97 -96
  315. package/dist/test/expanded-date-picker.test.js.map +1 -1
  316. package/dist/test/icon-overlay.test.d.ts +1 -1
  317. package/dist/test/icon-overlay.test.js +23 -24
  318. package/dist/test/icon-overlay.test.js.map +1 -1
  319. package/dist/test/image-block.test.d.ts +1 -1
  320. package/dist/test/image-block.test.js +106 -107
  321. package/dist/test/image-block.test.js.map +1 -1
  322. package/dist/test/item-image.test.d.ts +1 -1
  323. package/dist/test/item-image.test.js +84 -85
  324. package/dist/test/item-image.test.js.map +1 -1
  325. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  326. package/dist/test/manage/manage-bar.test.js +100 -101
  327. package/dist/test/manage/manage-bar.test.js.map +1 -1
  328. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  329. package/dist/test/manage/remove-items-modal-content.test.js +44 -45
  330. package/dist/test/manage/remove-items-modal-content.test.js.map +1 -1
  331. package/dist/test/mediatype-config.test.d.ts +1 -1
  332. package/dist/test/mediatype-config.test.js +16 -16
  333. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  334. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  335. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  336. package/dist/test/mocks/mock-search-responses.js +942 -942
  337. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  338. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  339. package/dist/test/mocks/mock-search-service.js +54 -54
  340. package/dist/test/mocks/mock-search-service.js.map +1 -1
  341. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  342. package/dist/test/restoration-state-handler.test.js +270 -270
  343. package/dist/test/restoration-state-handler.test.js.map +1 -1
  344. package/dist/test/review-block.test.d.ts +1 -1
  345. package/dist/test/review-block.test.js +43 -44
  346. package/dist/test/review-block.test.js.map +1 -1
  347. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  348. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  349. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -1
  350. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  351. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  352. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  353. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  354. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +425 -426
  355. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  356. package/dist/test/text-overlay.test.d.ts +1 -1
  357. package/dist/test/text-overlay.test.js +37 -38
  358. package/dist/test/text-overlay.test.js.map +1 -1
  359. package/dist/test/text-snippet-block.test.d.ts +1 -1
  360. package/dist/test/text-snippet-block.test.js +56 -57
  361. package/dist/test/text-snippet-block.test.js.map +1 -1
  362. package/dist/test/tile-stats.test.d.ts +1 -1
  363. package/dist/test/tile-stats.test.js +98 -99
  364. package/dist/test/tile-stats.test.js.map +1 -1
  365. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  366. package/dist/test/tiles/grid/account-tile.test.js +75 -76
  367. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  368. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  369. package/dist/test/tiles/grid/collection-tile.test.js +72 -73
  370. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  371. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  372. package/dist/test/tiles/grid/item-tile.test.js +311 -312
  373. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  374. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  375. package/dist/test/tiles/grid/search-tile.test.js +50 -51
  376. package/dist/test/tiles/grid/search-tile.test.js.map +1 -1
  377. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  378. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  379. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  380. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  381. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  382. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  383. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  384. package/dist/test/tiles/list/tile-list-compact.test.js +142 -143
  385. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  386. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  387. package/dist/test/tiles/list/tile-list.test.js +296 -297
  388. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  389. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  390. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  391. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  392. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  393. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  394. package/dist/test/utils/array-equals.test.d.ts +1 -1
  395. package/dist/test/utils/array-equals.test.js +26 -26
  396. package/dist/test/utils/format-count.test.d.ts +1 -1
  397. package/dist/test/utils/format-count.test.js +23 -23
  398. package/dist/test/utils/format-count.test.js.map +1 -1
  399. package/dist/test/utils/format-date.test.d.ts +1 -1
  400. package/dist/test/utils/format-date.test.js +30 -30
  401. package/dist/test/utils/format-date.test.js.map +1 -1
  402. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  403. package/dist/test/utils/format-unit-size.test.js +17 -17
  404. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  405. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  406. package/dist/test/utils/local-date-from-utc.test.js.map +1 -1
  407. package/eslint.config.mjs +53 -0
  408. package/index.html +0 -3
  409. package/index.ts +1 -7
  410. package/package.json +41 -39
  411. package/src/app-root.ts +21 -22
  412. package/src/collection-browser.ts +44 -40
  413. package/src/collection-facets/facets-template.ts +7 -6
  414. package/src/collection-facets/more-facets-content.ts +11 -13
  415. package/src/collection-facets/more-facets-pagination.ts +3 -2
  416. package/src/collection-facets/smart-facets/dedupe.ts +2 -2
  417. package/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.ts +1 -1
  418. package/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.ts +6 -6
  419. package/src/collection-facets/smart-facets/smart-facet-bar.ts +6 -8
  420. package/src/collection-facets/smart-facets/smart-facet-button.ts +5 -3
  421. package/src/collection-facets/smart-facets/smart-facet-dropdown.ts +4 -4
  422. package/src/collection-facets/smart-facets/smart-facet-heuristics.ts +1 -1
  423. package/src/collection-facets/toggle-switch.ts +2 -2
  424. package/src/collection-facets.ts +18 -19
  425. package/src/data-source/collection-browser-data-source-interface.ts +5 -1
  426. package/src/data-source/collection-browser-data-source.ts +37 -34
  427. package/src/empty-placeholder.ts +19 -16
  428. package/src/expanded-date-picker.ts +1 -1
  429. package/src/language-code-handler/language-code-handler.ts +1 -1
  430. package/src/manage/manage-bar.ts +23 -20
  431. package/src/manage/remove-items-modal-content.ts +2 -2
  432. package/src/mediatype/mediatype-config.ts +1 -0
  433. package/src/models.ts +3 -3
  434. package/src/restoration-state-handler.ts +14 -15
  435. package/src/sort-filter-bar/alpha-bar.ts +16 -17
  436. package/src/sort-filter-bar/sort-filter-bar.ts +14 -15
  437. package/src/tiles/grid/account-tile.ts +1 -1
  438. package/src/tiles/grid/collection-tile.ts +1 -1
  439. package/src/tiles/grid/item-tile.ts +9 -9
  440. package/src/tiles/grid/tile-stats.ts +4 -4
  441. package/src/tiles/hover/hover-pane-controller.ts +1 -1
  442. package/src/tiles/hover/tile-hover-pane.ts +4 -2
  443. package/src/tiles/item-image.ts +1 -1
  444. package/src/tiles/list/tile-list-compact.ts +2 -2
  445. package/src/tiles/list/tile-list.ts +22 -24
  446. package/src/tiles/tile-dispatcher.ts +5 -5
  447. package/src/tiles/tile-display-value-provider.ts +4 -4
  448. package/src/utils/facet-utils.ts +6 -6
  449. package/src/utils/format-count.ts +2 -3
  450. package/src/utils/format-date.ts +1 -1
  451. package/src/utils/format-unit-size.ts +1 -1
  452. package/src/utils/log.ts +1 -3
  453. package/test/collection-browser.test.ts +125 -124
  454. package/test/collection-facets/facet-row.test.ts +31 -28
  455. package/test/collection-facets/facets-template.test.ts +9 -9
  456. package/test/collection-facets/more-facets-content.test.ts +14 -15
  457. package/test/collection-facets/more-facets-pagination.test.ts +18 -19
  458. package/test/collection-facets/toggle-switch.test.ts +28 -18
  459. package/test/collection-facets.test.ts +46 -39
  460. package/test/data-source/collection-browser-data-source.test.ts +2 -2
  461. package/test/empty-placeholder.test.ts +6 -7
  462. package/test/expanded-date-picker.test.ts +25 -20
  463. package/test/icon-overlay.test.ts +0 -1
  464. package/test/image-block.test.ts +6 -7
  465. package/test/item-image.test.ts +0 -1
  466. package/test/manage/manage-bar.test.ts +19 -16
  467. package/test/manage/remove-items-modal-content.test.ts +4 -5
  468. package/test/mocks/mock-search-responses.ts +2 -1
  469. package/test/mocks/mock-search-service.ts +1 -1
  470. package/test/restoration-state-handler.test.ts +12 -12
  471. package/test/review-block.test.ts +1 -2
  472. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +1 -1
  473. package/test/sort-filter-bar/alpha-bar.test.ts +5 -5
  474. package/test/sort-filter-bar/sort-filter-bar.test.ts +38 -39
  475. package/test/text-overlay.test.ts +0 -1
  476. package/test/text-snippet-block.test.ts +5 -6
  477. package/test/tile-stats.test.ts +26 -35
  478. package/test/tiles/grid/account-tile.test.ts +2 -3
  479. package/test/tiles/grid/collection-tile.test.ts +3 -4
  480. package/test/tiles/grid/item-tile.test.ts +13 -14
  481. package/test/tiles/grid/search-tile.test.ts +1 -2
  482. package/test/tiles/hover/hover-pane-controller.test.ts +15 -15
  483. package/test/tiles/hover/tile-hover-pane.test.ts +5 -5
  484. package/test/tiles/list/tile-list-compact.test.ts +1 -2
  485. package/test/tiles/list/tile-list.test.ts +10 -11
  486. package/test/tiles/tile-dispatcher.test.ts +5 -5
  487. package/test/utils/format-count.test.ts +1 -1
  488. package/test/utils/format-date.test.ts +1 -1
  489. package/test/utils/local-date-from-utc.test.ts +1 -1
  490. package/tsconfig.json +0 -1
@@ -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":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,OAAO,0BAA0B,CAAC;AAElC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,MAAM;oBACN,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,IAAI;oBACN,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,IAAI;sBACP,IAAI;oBACN,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;;QAC7F,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;;QACnF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,IAAI;;;KAGnB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;;QAC5G,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;;QAC7G,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;;QACxF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,IAAI;;;KAGnB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;;QACjG,MAAM,EAAE,GAAG,MAAM,OAAO,CAAa,IAAI,CAAA;;iBAE5B;YACP,UAAU,EAAE,OAAO;SACpB;wBACe,qBAAqB;yBACpB,KAAK;sBACR,KAAK;oBACP,SAAS;oBACT,KAAK;;;KAGpB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAC9C,cAAc,CACA,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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';