@internetarchive/collection-browser 2.7.12 → 2.7.13

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 (318) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +13 -13
  6. package/dist/index.js +13 -13
  7. package/dist/src/app-root.d.ts +107 -107
  8. package/dist/src/app-root.js +531 -531
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/filter.d.ts +2 -2
  30. package/dist/src/assets/img/icons/filter.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  59. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  60. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  61. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  62. package/dist/src/assets/img/icons/null-result.js +2 -2
  63. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  64. package/dist/src/assets/img/icons/restricted.js +2 -2
  65. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  66. package/dist/src/assets/img/icons/reviews.js +2 -2
  67. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  68. package/dist/src/assets/img/icons/upload.js +2 -2
  69. package/dist/src/assets/img/icons/views.d.ts +1 -1
  70. package/dist/src/assets/img/icons/views.js +2 -2
  71. package/dist/src/circular-activity-indicator.d.ts +5 -5
  72. package/dist/src/circular-activity-indicator.js +17 -17
  73. package/dist/src/collection-browser.d.ts +606 -606
  74. package/dist/src/collection-browser.js +1677 -1677
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +118 -118
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  80. package/dist/src/collection-facets/facets-template.js +44 -44
  81. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  82. package/dist/src/collection-facets/more-facets-content.js +407 -407
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/smart-facets/dedupe.d.ts +10 -10
  86. package/dist/src/collection-facets/smart-facets/dedupe.js +33 -33
  87. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.d.ts +5 -5
  88. package/dist/src/collection-facets/smart-facets/heuristics/browser-language-heuristic.js +23 -23
  89. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.d.ts +5 -5
  90. package/dist/src/collection-facets/smart-facets/heuristics/query-keywords-heuristic.js +44 -44
  91. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.d.ts +5 -5
  92. package/dist/src/collection-facets/smart-facets/heuristics/wikidata-heuristic.js +172 -172
  93. package/dist/src/collection-facets/smart-facets/models.d.ts +26 -26
  94. package/dist/src/collection-facets/smart-facets/models.js +1 -1
  95. package/dist/src/collection-facets/smart-facets/smart-facet-bar.d.ts +31 -31
  96. package/dist/src/collection-facets/smart-facets/smart-facet-bar.js +240 -240
  97. package/dist/src/collection-facets/smart-facets/smart-facet-button.d.ts +11 -11
  98. package/dist/src/collection-facets/smart-facets/smart-facet-button.js +86 -86
  99. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.d.ts +16 -16
  100. package/dist/src/collection-facets/smart-facets/smart-facet-dropdown.js +100 -100
  101. package/dist/src/collection-facets/smart-facets/smart-facet-equals.d.ts +2 -2
  102. package/dist/src/collection-facets/smart-facets/smart-facet-equals.js +12 -12
  103. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.d.ts +5 -5
  104. package/dist/src/collection-facets/smart-facets/smart-facet-heuristics.js +15 -15
  105. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  106. package/dist/src/collection-facets/toggle-switch.js +94 -94
  107. package/dist/src/collection-facets.d.ts +103 -103
  108. package/dist/src/collection-facets.js +522 -522
  109. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +245 -245
  110. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  111. package/dist/src/data-source/collection-browser-data-source.d.ts +377 -377
  112. package/dist/src/data-source/collection-browser-data-source.js +1004 -1001
  113. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  114. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -44
  115. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  116. package/dist/src/data-source/models.d.ts +28 -28
  117. package/dist/src/data-source/models.js +8 -8
  118. package/dist/src/empty-placeholder.d.ts +23 -23
  119. package/dist/src/empty-placeholder.js +79 -79
  120. package/dist/src/expanded-date-picker.d.ts +43 -43
  121. package/dist/src/expanded-date-picker.js +109 -109
  122. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  123. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  124. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  125. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  126. package/dist/src/manage/manage-bar.d.ts +58 -58
  127. package/dist/src/manage/manage-bar.js +159 -159
  128. package/dist/src/manage/remove-items-modal-content.d.ts +9 -9
  129. package/dist/src/manage/remove-items-modal-content.js +34 -34
  130. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  131. package/dist/src/mediatype/mediatype-config.js +91 -91
  132. package/dist/src/models.d.ts +228 -228
  133. package/dist/src/models.js +401 -401
  134. package/dist/src/restoration-state-handler.d.ts +70 -70
  135. package/dist/src/restoration-state-handler.js +363 -363
  136. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  137. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  138. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  139. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  140. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  141. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  142. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  143. package/dist/src/sort-filter-bar/img/list.js +2 -2
  144. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  145. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  146. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  147. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  148. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  149. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  150. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  151. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  152. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  153. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  154. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  155. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  156. package/dist/src/styles/ia-button.d.ts +2 -2
  157. package/dist/src/styles/ia-button.js +17 -17
  158. package/dist/src/styles/item-image-styles.d.ts +8 -8
  159. package/dist/src/styles/item-image-styles.js +9 -9
  160. package/dist/src/styles/sr-only.d.ts +1 -1
  161. package/dist/src/styles/sr-only.js +2 -2
  162. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  163. package/dist/src/tiles/base-tile-component.js +64 -64
  164. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  165. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  166. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  167. package/dist/src/tiles/grid/account-tile.js +72 -72
  168. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  169. package/dist/src/tiles/grid/collection-tile.js +80 -80
  170. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  171. package/dist/src/tiles/grid/item-tile.js +158 -158
  172. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  173. package/dist/src/tiles/grid/search-tile.js +51 -51
  174. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  175. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  176. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  177. package/dist/src/tiles/grid/tile-stats.js +53 -53
  178. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  179. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  180. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  181. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  182. package/dist/src/tiles/image-block.d.ts +18 -18
  183. package/dist/src/tiles/image-block.js +89 -89
  184. package/dist/src/tiles/item-image.d.ts +39 -39
  185. package/dist/src/tiles/item-image.js +154 -154
  186. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  187. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  188. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  189. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  190. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  191. package/dist/src/tiles/list/tile-list.js +323 -323
  192. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  193. package/dist/src/tiles/mediatype-icon.js +47 -47
  194. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  195. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  196. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  197. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  198. package/dist/src/tiles/review-block.d.ts +12 -12
  199. package/dist/src/tiles/review-block.js +56 -56
  200. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  201. package/dist/src/tiles/text-snippet-block.js +73 -73
  202. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  203. package/dist/src/tiles/tile-dispatcher.js +230 -230
  204. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  205. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  206. package/dist/src/utils/analytics-events.d.ts +28 -28
  207. package/dist/src/utils/analytics-events.js +30 -30
  208. package/dist/src/utils/array-equals.d.ts +4 -4
  209. package/dist/src/utils/array-equals.js +10 -10
  210. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  211. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  212. package/dist/src/utils/facet-utils.d.ts +83 -83
  213. package/dist/src/utils/facet-utils.js +145 -145
  214. package/dist/src/utils/format-count.d.ts +7 -7
  215. package/dist/src/utils/format-count.js +76 -76
  216. package/dist/src/utils/format-date.d.ts +2 -2
  217. package/dist/src/utils/format-date.js +27 -27
  218. package/dist/src/utils/format-unit-size.d.ts +2 -2
  219. package/dist/src/utils/format-unit-size.js +33 -33
  220. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  221. package/dist/src/utils/local-date-from-utc.js +15 -15
  222. package/dist/src/utils/log.d.ts +7 -7
  223. package/dist/src/utils/log.js +15 -15
  224. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  225. package/dist/src/utils/resolve-mediatype.js +23 -23
  226. package/dist/src/utils/sha1.d.ts +2 -2
  227. package/dist/src/utils/sha1.js +8 -8
  228. package/dist/test/collection-browser.test.d.ts +1 -1
  229. package/dist/test/collection-browser.test.js +1308 -1308
  230. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  231. package/dist/test/collection-facets/facet-row.test.js +227 -227
  232. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  233. package/dist/test/collection-facets/facets-template.test.js +91 -91
  234. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  235. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  236. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  237. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  238. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  239. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  240. package/dist/test/collection-facets.test.d.ts +2 -2
  241. package/dist/test/collection-facets.test.js +690 -690
  242. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  243. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  244. package/dist/test/empty-placeholder.test.d.ts +1 -1
  245. package/dist/test/empty-placeholder.test.js +63 -63
  246. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  247. package/dist/test/expanded-date-picker.test.js +95 -95
  248. package/dist/test/icon-overlay.test.d.ts +1 -1
  249. package/dist/test/icon-overlay.test.js +24 -24
  250. package/dist/test/image-block.test.d.ts +1 -1
  251. package/dist/test/image-block.test.js +107 -107
  252. package/dist/test/item-image.test.d.ts +1 -1
  253. package/dist/test/item-image.test.js +85 -85
  254. package/dist/test/manage/manage-bar.test.d.ts +2 -2
  255. package/dist/test/manage/manage-bar.test.js +100 -100
  256. package/dist/test/manage/remove-items-modal-content.test.d.ts +1 -1
  257. package/dist/test/manage/remove-items-modal-content.test.js +45 -45
  258. package/dist/test/mediatype-config.test.d.ts +1 -1
  259. package/dist/test/mediatype-config.test.js +16 -16
  260. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  261. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  262. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  263. package/dist/test/mocks/mock-search-responses.js +942 -942
  264. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  265. package/dist/test/mocks/mock-search-service.js +54 -54
  266. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  267. package/dist/test/restoration-state-handler.test.js +270 -270
  268. package/dist/test/review-block.test.d.ts +1 -1
  269. package/dist/test/review-block.test.js +44 -44
  270. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  271. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  272. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  273. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  274. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  275. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  276. package/dist/test/text-overlay.test.d.ts +1 -1
  277. package/dist/test/text-overlay.test.js +38 -38
  278. package/dist/test/text-snippet-block.test.d.ts +1 -1
  279. package/dist/test/text-snippet-block.test.js +57 -57
  280. package/dist/test/tile-stats.test.d.ts +1 -1
  281. package/dist/test/tile-stats.test.js +81 -81
  282. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  283. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  284. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  285. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  286. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  287. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  288. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  289. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  290. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  291. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  292. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  293. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  294. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  295. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  296. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  297. package/dist/test/tiles/list/tile-list.test.js +297 -297
  298. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  299. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  300. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  301. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  302. package/dist/test/utils/array-equals.test.d.ts +1 -1
  303. package/dist/test/utils/array-equals.test.js +26 -26
  304. package/dist/test/utils/format-count.test.d.ts +1 -1
  305. package/dist/test/utils/format-count.test.js +23 -23
  306. package/dist/test/utils/format-date.test.d.ts +1 -1
  307. package/dist/test/utils/format-date.test.js +30 -30
  308. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  309. package/dist/test/utils/format-unit-size.test.js +17 -17
  310. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  311. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  312. package/local.archive.org.cert +86 -86
  313. package/local.archive.org.key +27 -27
  314. package/package.json +1 -1
  315. package/renovate.json +6 -6
  316. package/src/data-source/collection-browser-data-source.ts +5 -1
  317. package/web-dev-server.config.mjs +30 -30
  318. package/web-test-runner.config.mjs +41 -41
@@ -1,406 +1,406 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import '../../../src/tiles/list/tile-list';
5
- describe('List Tile', () => {
6
- it('should render initial component', async () => {
7
- var _a, _b, _c;
8
- const el = await fixture(html `<tile-list .model=${{}}></tile-list>`);
9
- const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-line');
10
- const itemTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
11
- const imageBlock = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('image-block');
12
- expect(listContainer).to.exist;
13
- expect(itemTitle).to.exist;
14
- expect(imageBlock).to.exist;
15
- });
16
- it('should render the mobile template if below mobile breakpoint', async () => {
17
- var _a, _b, _c;
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import '../../../src/tiles/list/tile-list';
5
+ describe('List Tile', () => {
6
+ it('should render initial component', async () => {
7
+ var _a, _b, _c;
8
+ const el = await fixture(html `<tile-list .model=${{}}></tile-list>`);
9
+ const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#list-line');
10
+ const itemTitle = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#title');
11
+ const imageBlock = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('image-block');
12
+ expect(listContainer).to.exist;
13
+ expect(itemTitle).to.exist;
14
+ expect(imageBlock).to.exist;
15
+ });
16
+ it('should render the mobile template if below mobile breakpoint', async () => {
17
+ var _a, _b, _c;
18
18
  const el = await fixture(html `
19
19
  <tile-list .mobileBreakpoint=${500} .currentWidth=${400}> </tile-list>
20
- `);
21
- const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('list-line');
22
- const topLine = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('list-line-top');
23
- const bottomLine = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('list-line-bottom');
24
- expect(listContainer).to.exist;
25
- expect(listContainer === null || listContainer === void 0 ? void 0 : listContainer.classList.contains('mobile')).to.be.true;
26
- expect(topLine).to.exist;
27
- expect(bottomLine).to.exist;
28
- });
29
- it('should render title link with model href if provided', async () => {
30
- var _a;
20
+ `);
21
+ const listContainer = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('list-line');
22
+ const topLine = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('list-line-top');
23
+ const bottomLine = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('list-line-bottom');
24
+ expect(listContainer).to.exist;
25
+ expect(listContainer === null || listContainer === void 0 ? void 0 : listContainer.classList.contains('mobile')).to.be.true;
26
+ expect(topLine).to.exist;
27
+ expect(bottomLine).to.exist;
28
+ });
29
+ it('should render title link with model href if provided', async () => {
30
+ var _a;
31
31
  const el = await fixture(html `
32
32
  <tile-list
33
33
  .baseNavigationUrl=${''}
34
34
  .model=${{ title: 'foo', href: '/foo/bar' }}
35
35
  ></tile-list>
36
- `);
37
- const title = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#title > a');
38
- expect(title).to.exist;
39
- expect(title === null || title === void 0 ? void 0 : title.getAttribute('href')).to.equal('/foo/bar');
40
- });
41
- it('should render with creator element but not dates', async () => {
42
- var _a, _b;
36
+ `);
37
+ const title = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#title > a');
38
+ expect(title).to.exist;
39
+ expect(title === null || title === void 0 ? void 0 : title.getAttribute('href')).to.equal('/foo/bar');
40
+ });
41
+ it('should render with creator element but not dates', async () => {
42
+ var _a, _b;
43
43
  const el = await fixture(html `
44
44
  <tile-list .model=${{ creators: ['someone'] }}></tile-list>
45
- `);
46
- const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#creator');
47
- const datesLine = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#dates-line');
48
- expect(creator).to.exist;
49
- expect(datesLine === null || datesLine === void 0 ? void 0 : datesLine.children.length).to.equal(0);
50
- });
51
- it('should render with snippet block when it has snippets', async () => {
52
- var _a;
45
+ `);
46
+ const creator = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#creator');
47
+ const datesLine = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#dates-line');
48
+ expect(creator).to.exist;
49
+ expect(datesLine === null || datesLine === void 0 ? void 0 : datesLine.children.length).to.equal(0);
50
+ });
51
+ it('should render with snippet block when it has snippets', async () => {
52
+ var _a;
53
53
  const el = await fixture(html `
54
54
  <tile-list .model=${{ snippets: ['some {{{snippet}}} text'] }}>
55
55
  </tile-list>
56
- `);
57
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
58
- expect(snippetBlock).to.exist;
59
- });
60
- it('should not render snippet block when no snippets are present', async () => {
61
- var _a;
62
- const el = await fixture(html `<tile-list></tile-list>`);
63
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
64
- expect(snippetBlock).to.not.exist;
65
- });
66
- it('should not render suppressed collections', async () => {
67
- var _a;
56
+ `);
57
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
58
+ expect(snippetBlock).to.exist;
59
+ });
60
+ it('should not render snippet block when no snippets are present', async () => {
61
+ var _a;
62
+ const el = await fixture(html `<tile-list></tile-list>`);
63
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
64
+ expect(snippetBlock).to.not.exist;
65
+ });
66
+ it('should not render suppressed collections', async () => {
67
+ var _a;
68
68
  const el = await fixture(html `
69
69
  <tile-list
70
70
  .model=${{ collections: ['deemphasize', 'community', 'foo'] }}
71
71
  .baseNavigationUrl=${'base'}
72
72
  >
73
73
  </tile-list>
74
- `);
75
- const collectionsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('collections');
76
- expect(collectionsRow).to.exist;
77
- const collectionLinks = collectionsRow === null || collectionsRow === void 0 ? void 0 : collectionsRow.querySelectorAll('a[href]');
78
- expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.length).to.equal(1);
79
- expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.item(0).getAttribute('href')).to.equal('base/details/foo');
80
- });
81
- it('should not render fav- collections', async () => {
82
- var _a;
74
+ `);
75
+ const collectionsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('collections');
76
+ expect(collectionsRow).to.exist;
77
+ const collectionLinks = collectionsRow === null || collectionsRow === void 0 ? void 0 : collectionsRow.querySelectorAll('a[href]');
78
+ expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.length).to.equal(1);
79
+ expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.item(0).getAttribute('href')).to.equal('base/details/foo');
80
+ });
81
+ it('should not render fav- collections', async () => {
82
+ var _a;
83
83
  const el = await fixture(html `
84
84
  <tile-list
85
85
  .model=${{ collections: ['fav-foo', 'bar'] }}
86
86
  .baseNavigationUrl=${'base'}
87
87
  >
88
88
  </tile-list>
89
- `);
90
- const collectionsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('collections');
91
- expect(collectionsRow).to.exist;
92
- const collectionLinks = collectionsRow === null || collectionsRow === void 0 ? void 0 : collectionsRow.querySelectorAll('a[href]');
93
- expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.length).to.equal(1);
94
- expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.item(0).getAttribute('href')).to.equal('base/details/bar');
95
- });
96
- it('should render weekly views when sorting by week', async () => {
97
- var _a, _b;
89
+ `);
90
+ const collectionsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('collections');
91
+ expect(collectionsRow).to.exist;
92
+ const collectionLinks = collectionsRow === null || collectionsRow === void 0 ? void 0 : collectionsRow.querySelectorAll('a[href]');
93
+ expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.length).to.equal(1);
94
+ expect(collectionLinks === null || collectionLinks === void 0 ? void 0 : collectionLinks.item(0).getAttribute('href')).to.equal('base/details/bar');
95
+ });
96
+ it('should render weekly views when sorting by week', async () => {
97
+ var _a, _b;
98
98
  const el = await fixture(html `
99
99
  <tile-list
100
100
  .model=${{ viewCount: 50, weeklyViewCount: 10 }}
101
101
  .sortParam=${{ field: 'week', direction: 'desc' }}
102
102
  >
103
103
  </tile-list>
104
- `);
105
- const viewsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views-line');
106
- expect(viewsRow).to.exist;
107
- expect((_b = viewsRow === null || viewsRow === void 0 ? void 0 : viewsRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Views: 10');
108
- });
109
- it('should render published date when sorting by it', async () => {
110
- var _a, _b;
111
- const model = {
112
- dateAdded: new Date(2010, 0, 2),
113
- dateArchived: new Date(2011, 0, 2),
114
- datePublished: new Date(2012, 0, 2),
115
- dateReviewed: new Date(2013, 0, 2),
116
- };
104
+ `);
105
+ const viewsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('views-line');
106
+ expect(viewsRow).to.exist;
107
+ expect((_b = viewsRow === null || viewsRow === void 0 ? void 0 : viewsRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Views: 10');
108
+ });
109
+ it('should render published date when sorting by it', async () => {
110
+ var _a, _b;
111
+ const model = {
112
+ dateAdded: new Date(2010, 0, 2),
113
+ dateArchived: new Date(2011, 0, 2),
114
+ datePublished: new Date(2012, 0, 2),
115
+ dateReviewed: new Date(2013, 0, 2),
116
+ };
117
117
  const el = await fixture(html `
118
118
  <tile-list
119
119
  .model=${model}
120
120
  .sortParam=${{ field: 'date', direction: 'desc' }}
121
121
  >
122
122
  </tile-list>
123
- `);
124
- const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
125
- expect(dateRow).to.exist;
126
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Published: Jan 02, 2012');
127
- });
128
- it('should render added date when sorting by it', async () => {
129
- var _a, _b;
130
- const model = {
131
- dateAdded: new Date(2010, 0, 2),
132
- dateArchived: new Date(2011, 0, 2),
133
- datePublished: new Date(2012, 0, 2),
134
- dateReviewed: new Date(2013, 0, 2),
135
- };
123
+ `);
124
+ const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
125
+ expect(dateRow).to.exist;
126
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Published: Jan 02, 2012');
127
+ });
128
+ it('should render added date when sorting by it', async () => {
129
+ var _a, _b;
130
+ const model = {
131
+ dateAdded: new Date(2010, 0, 2),
132
+ dateArchived: new Date(2011, 0, 2),
133
+ datePublished: new Date(2012, 0, 2),
134
+ dateReviewed: new Date(2013, 0, 2),
135
+ };
136
136
  const el = await fixture(html `
137
137
  <tile-list
138
138
  .model=${model}
139
139
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
140
140
  >
141
141
  </tile-list>
142
- `);
143
- const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
144
- expect(dateRow).to.exist;
145
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Added: Jan 02, 2010');
146
- });
147
- it('should render archived date when sorting by it', async () => {
148
- var _a, _b;
149
- const model = {
150
- dateAdded: new Date(2010, 0, 2),
151
- dateArchived: new Date(2011, 0, 2),
152
- datePublished: new Date(2012, 0, 2),
153
- dateReviewed: new Date(2013, 0, 2),
154
- };
142
+ `);
143
+ const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
144
+ expect(dateRow).to.exist;
145
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Added: Jan 02, 2010');
146
+ });
147
+ it('should render archived date when sorting by it', async () => {
148
+ var _a, _b;
149
+ const model = {
150
+ dateAdded: new Date(2010, 0, 2),
151
+ dateArchived: new Date(2011, 0, 2),
152
+ datePublished: new Date(2012, 0, 2),
153
+ dateReviewed: new Date(2013, 0, 2),
154
+ };
155
155
  const el = await fixture(html `
156
156
  <tile-list
157
157
  .model=${model}
158
158
  .sortParam=${{ field: 'publicdate', direction: 'desc' }}
159
159
  >
160
160
  </tile-list>
161
- `);
162
- const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
163
- expect(dateRow).to.exist;
164
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Archived: Jan 02, 2011');
165
- });
166
- it('should render reviewed date when sorting by it', async () => {
167
- var _a, _b;
168
- const model = {
169
- dateAdded: new Date(2010, 0, 2),
170
- dateArchived: new Date(2011, 0, 2),
171
- datePublished: new Date(2012, 0, 2),
172
- dateReviewed: new Date(2013, 0, 2),
173
- };
161
+ `);
162
+ const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
163
+ expect(dateRow).to.exist;
164
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Archived: Jan 02, 2011');
165
+ });
166
+ it('should render reviewed date when sorting by it', async () => {
167
+ var _a, _b;
168
+ const model = {
169
+ dateAdded: new Date(2010, 0, 2),
170
+ dateArchived: new Date(2011, 0, 2),
171
+ datePublished: new Date(2012, 0, 2),
172
+ dateReviewed: new Date(2013, 0, 2),
173
+ };
174
174
  const el = await fixture(html `
175
175
  <tile-list
176
176
  .model=${model}
177
177
  .sortParam=${{ field: 'reviewdate', direction: 'desc' }}
178
178
  >
179
179
  </tile-list>
180
- `);
181
- const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
182
- expect(dateRow).to.exist;
183
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Reviewed: Jan 02, 2013');
184
- });
185
- it('should only show the year for a date published of Jan 1 at midnight', async () => {
186
- var _a, _b;
187
- const model = {
188
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
189
- };
180
+ `);
181
+ const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
182
+ expect(dateRow).to.exist;
183
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Reviewed: Jan 02, 2013');
184
+ });
185
+ it('should only show the year for a date published of Jan 1 at midnight', async () => {
186
+ var _a, _b;
187
+ const model = {
188
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
189
+ };
190
190
  const el = await fixture(html `
191
191
  <tile-list
192
192
  .model=${model}
193
193
  .sortParam=${{ field: 'date', direction: 'desc' }}
194
194
  >
195
195
  </tile-list>
196
- `);
197
- const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
198
- expect(dateRow).to.exist;
199
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Published: 2012');
200
- });
201
- it('should show full date added/archived/reviewed, even on Jan 1 at midnight', async () => {
202
- var _a, _b, _c, _d, _e, _f;
203
- const model = {
204
- dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
205
- dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
206
- datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
207
- dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
208
- };
196
+ `);
197
+ const dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
198
+ expect(dateRow).to.exist;
199
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Published: 2012');
200
+ });
201
+ it('should show full date added/archived/reviewed, even on Jan 1 at midnight', async () => {
202
+ var _a, _b, _c, _d, _e, _f;
203
+ const model = {
204
+ dateAdded: new Date(2010, 0, 1, 0, 0, 0, 0),
205
+ dateArchived: new Date(2011, 0, 1, 0, 0, 0, 0),
206
+ datePublished: new Date(2012, 0, 1, 0, 0, 0, 0),
207
+ dateReviewed: new Date(2013, 0, 1, 0, 0, 0, 0),
208
+ };
209
209
  const el = await fixture(html `
210
210
  <tile-list
211
211
  .model=${model}
212
212
  .sortParam=${{ field: 'addeddate', direction: 'desc' }}
213
213
  >
214
214
  </tile-list>
215
- `);
216
- let dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
217
- expect(dateRow).to.exist;
218
- expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Added: Jan 01, 2010');
219
- el.sortParam = { field: 'publicdate', direction: 'desc' };
220
- await el.updateComplete;
221
- dateRow = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('dates-line');
222
- expect(dateRow).to.exist;
223
- expect((_d = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.contain('Archived: Jan 01, 2011');
224
- el.sortParam = { field: 'reviewdate', direction: 'desc' };
225
- await el.updateComplete;
226
- dateRow = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.getElementById('dates-line');
227
- expect(dateRow).to.exist;
228
- expect((_f = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.contain('Reviewed: Jan 01, 2013');
229
- });
230
- it('should render links to /search pages (not search.php) for subject, creator, and source', async () => {
231
- var _a, _b, _c;
232
- const model = {
233
- subjects: ['foo'],
234
- creators: ['bar'],
235
- source: 'baz',
236
- };
215
+ `);
216
+ let dateRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dates-line');
217
+ expect(dateRow).to.exist;
218
+ expect((_b = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.contain('Added: Jan 01, 2010');
219
+ el.sortParam = { field: 'publicdate', direction: 'desc' };
220
+ await el.updateComplete;
221
+ dateRow = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('dates-line');
222
+ expect(dateRow).to.exist;
223
+ expect((_d = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _d === void 0 ? void 0 : _d.trim()).to.contain('Archived: Jan 01, 2011');
224
+ el.sortParam = { field: 'reviewdate', direction: 'desc' };
225
+ await el.updateComplete;
226
+ dateRow = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.getElementById('dates-line');
227
+ expect(dateRow).to.exist;
228
+ expect((_f = dateRow === null || dateRow === void 0 ? void 0 : dateRow.textContent) === null || _f === void 0 ? void 0 : _f.trim()).to.contain('Reviewed: Jan 01, 2013');
229
+ });
230
+ it('should render links to /search pages (not search.php) for subject, creator, and source', async () => {
231
+ var _a, _b, _c;
232
+ const model = {
233
+ subjects: ['foo'],
234
+ creators: ['bar'],
235
+ source: 'baz',
236
+ };
237
237
  const el = await fixture(html `
238
238
  <tile-list .model=${model}></tile-list>
239
- `);
240
- const subjectLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#topics a[href]');
241
- expect(subjectLink).to.exist;
242
- expect(subjectLink === null || subjectLink === void 0 ? void 0 : subjectLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('subject:"foo"')}`);
243
- const creatorLink = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#creator a[href]');
244
- expect(creatorLink).to.exist;
245
- expect(creatorLink === null || creatorLink === void 0 ? void 0 : creatorLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('creator:"bar"')}`);
246
- const sourceLink = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#source a[href]');
247
- expect(sourceLink).to.exist;
248
- expect(sourceLink === null || sourceLink === void 0 ? void 0 : sourceLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('source:"baz"')}`);
249
- });
250
- it('should render multi-line descriptions with spaces b/w lines', async () => {
251
- var _a, _b;
239
+ `);
240
+ const subjectLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#topics a[href]');
241
+ expect(subjectLink).to.exist;
242
+ expect(subjectLink === null || subjectLink === void 0 ? void 0 : subjectLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('subject:"foo"')}`);
243
+ const creatorLink = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#creator a[href]');
244
+ expect(creatorLink).to.exist;
245
+ expect(creatorLink === null || creatorLink === void 0 ? void 0 : creatorLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('creator:"bar"')}`);
246
+ const sourceLink = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#source a[href]');
247
+ expect(sourceLink).to.exist;
248
+ expect(sourceLink === null || sourceLink === void 0 ? void 0 : sourceLink.getAttribute('href')).to.equal(`/search?query=${encodeURIComponent('source:"baz"')}`);
249
+ });
250
+ it('should render multi-line descriptions with spaces b/w lines', async () => {
251
+ var _a, _b;
252
252
  const el = await fixture(html `
253
253
  <tile-list .model=${{ description: 'line1\nline2' }}> </tile-list>
254
- `);
255
- const descriptionBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('description');
256
- expect(descriptionBlock).to.exist;
257
- expect((_b = descriptionBlock === null || descriptionBlock === void 0 ? void 0 : descriptionBlock.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('line1 line2'); // line break replaced by space
258
- });
259
- it('should render mediatype icon as link to corresponding mediatype collection details', async () => {
260
- var _a;
261
- const model = {
262
- mediatype: 'texts',
263
- };
254
+ `);
255
+ const descriptionBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('description');
256
+ expect(descriptionBlock).to.exist;
257
+ expect((_b = descriptionBlock === null || descriptionBlock === void 0 ? void 0 : descriptionBlock.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('line1 line2'); // line break replaced by space
258
+ });
259
+ it('should render mediatype icon as link to corresponding mediatype collection details', async () => {
260
+ var _a;
261
+ const model = {
262
+ mediatype: 'texts',
263
+ };
264
264
  const el = await fixture(html `
265
265
  <tile-list
266
266
  .baseNavigationUrl=${'https://archive.org'}
267
267
  .model=${model}
268
268
  ></tile-list>
269
- `);
270
- const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
271
- expect(mediatypeLink).to.exist;
272
- expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`https://archive.org/details/texts`);
273
- });
274
- it('should render mediatype icon as link even with empty baseNavigationUrl', async () => {
275
- var _a;
276
- const model = {
277
- mediatype: 'texts',
278
- };
269
+ `);
270
+ const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
271
+ expect(mediatypeLink).to.exist;
272
+ expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`https://archive.org/details/texts`);
273
+ });
274
+ it('should render mediatype icon as link even with empty baseNavigationUrl', async () => {
275
+ var _a;
276
+ const model = {
277
+ mediatype: 'texts',
278
+ };
279
279
  const el = await fixture(html `
280
280
  <tile-list .baseNavigationUrl=${''} .model=${model}></tile-list>
281
- `);
282
- const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
283
- expect(mediatypeLink).to.exist;
284
- expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`/details/texts`);
285
- });
286
- it('should render collection mediatype icon as link to search page', async () => {
287
- var _a;
288
- const model = {
289
- mediatype: 'collection',
290
- };
281
+ `);
282
+ const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
283
+ expect(mediatypeLink).to.exist;
284
+ expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`/details/texts`);
285
+ });
286
+ it('should render collection mediatype icon as link to search page', async () => {
287
+ var _a;
288
+ const model = {
289
+ mediatype: 'collection',
290
+ };
291
291
  const el = await fixture(html `
292
292
  <tile-list
293
293
  .baseNavigationUrl=${'https://archive.org'}
294
294
  .model=${model}
295
295
  ></tile-list>
296
- `);
297
- const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
298
- expect(mediatypeLink).to.exist;
299
- expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`https://archive.org/search?query=mediatype:collection&sort=-downloads`);
300
- });
301
- it('should not render account mediatype icon as link', async () => {
302
- var _a;
303
- const model = {
304
- mediatype: 'account',
305
- };
296
+ `);
297
+ const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
298
+ expect(mediatypeLink).to.exist;
299
+ expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).to.equal(`https://archive.org/search?query=mediatype:collection&sort=-downloads`);
300
+ });
301
+ it('should not render account mediatype icon as link', async () => {
302
+ var _a;
303
+ const model = {
304
+ mediatype: 'account',
305
+ };
306
306
  const el = await fixture(html `
307
307
  <tile-list
308
308
  .baseNavigationUrl=${'https://archive.org'}
309
309
  .model=${model}
310
310
  ></tile-list>
311
- `);
312
- const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
313
- expect(mediatypeLink).to.exist;
314
- expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).not.to.exist;
315
- });
316
- it('should render date added for accounts', async () => {
317
- var _a, _b;
311
+ `);
312
+ const mediatypeLink = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a#icon-right');
313
+ expect(mediatypeLink).to.exist;
314
+ expect(mediatypeLink === null || mediatypeLink === void 0 ? void 0 : mediatypeLink.getAttribute('href')).not.to.exist;
315
+ });
316
+ it('should render date added for accounts', async () => {
317
+ var _a, _b;
318
318
  const el = await fixture(html `
319
319
  <tile-list
320
- .model=${{
321
- mediatype: 'account',
322
- dateAdded: new Date('2015-05-05T00:00:00'),
320
+ .model=${{
321
+ mediatype: 'account',
322
+ dateAdded: new Date('2015-05-05T00:00:00'),
323
323
  }}
324
324
  >
325
325
  </tile-list>
326
- `);
327
- const creatorBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('creator');
328
- expect(creatorBlock).to.exist;
329
- expect((_b = creatorBlock === null || creatorBlock === void 0 ? void 0 : creatorBlock.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Archivist since 2015');
330
- });
331
- it('should render web capture date links if present', async () => {
332
- var _a, _b, _c, _d, _e;
333
- const captureDates = [
334
- new Date('2010-01-02T12:34:56Z'),
335
- new Date('2011-02-03T12:43:21Z'),
336
- ];
326
+ `);
327
+ const creatorBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('creator');
328
+ expect(creatorBlock).to.exist;
329
+ expect((_b = creatorBlock === null || creatorBlock === void 0 ? void 0 : creatorBlock.textContent) === null || _b === void 0 ? void 0 : _b.trim()).to.equal('Archivist since 2015');
330
+ });
331
+ it('should render web capture date links if present', async () => {
332
+ var _a, _b, _c, _d, _e;
333
+ const captureDates = [
334
+ new Date('2010-01-02T12:34:56Z'),
335
+ new Date('2011-02-03T12:43:21Z'),
336
+ ];
337
337
  const el = await fixture(html `
338
338
  <tile-list
339
- .model=${{
340
- identifier: 'foo',
341
- title: 'https://example.com/',
342
- captureDates,
339
+ .model=${{
340
+ identifier: 'foo',
341
+ title: 'https://example.com/',
342
+ captureDates,
343
343
  }}
344
344
  ></tile-list>
345
- `);
346
- const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
347
- expect(captureDatesUl, 'capture dates container').to.exist;
348
- expect(captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children.length).to.equal(2);
349
- const firstDateLink = (_b = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[0]) === null || _b === void 0 ? void 0 : _b.querySelector('a[href]');
350
- expect(firstDateLink, 'first date link').to.exist;
351
- expect(firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20100102123456/https%3A%2F%2Fexample.com%2F');
352
- expect((_c = firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('Jan 02, 2010');
353
- const secondDateLink = (_d = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[1]) === null || _d === void 0 ? void 0 : _d.querySelector('a[href]');
354
- expect(secondDateLink, 'second date link').to.exist;
355
- expect(secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20110203124321/https%3A%2F%2Fexample.com%2F');
356
- expect((_e = secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.equal('Feb 03, 2011');
357
- });
358
- it('should not render web captures if no title is present', async () => {
359
- var _a;
360
- const captureDates = [
361
- new Date('2010-01-02T12:34:56Z'),
362
- new Date('2011-02-03T12:43:21Z'),
363
- ];
345
+ `);
346
+ const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
347
+ expect(captureDatesUl, 'capture dates container').to.exist;
348
+ expect(captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children.length).to.equal(2);
349
+ const firstDateLink = (_b = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[0]) === null || _b === void 0 ? void 0 : _b.querySelector('a[href]');
350
+ expect(firstDateLink, 'first date link').to.exist;
351
+ expect(firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20100102123456/https%3A%2F%2Fexample.com%2F');
352
+ expect((_c = firstDateLink === null || firstDateLink === void 0 ? void 0 : firstDateLink.textContent) === null || _c === void 0 ? void 0 : _c.trim()).to.equal('Jan 02, 2010');
353
+ const secondDateLink = (_d = captureDatesUl === null || captureDatesUl === void 0 ? void 0 : captureDatesUl.children[1]) === null || _d === void 0 ? void 0 : _d.querySelector('a[href]');
354
+ expect(secondDateLink, 'second date link').to.exist;
355
+ expect(secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.getAttribute('href')).to.equal('https://web.archive.org/web/20110203124321/https%3A%2F%2Fexample.com%2F');
356
+ expect((_e = secondDateLink === null || secondDateLink === void 0 ? void 0 : secondDateLink.textContent) === null || _e === void 0 ? void 0 : _e.trim()).to.equal('Feb 03, 2011');
357
+ });
358
+ it('should not render web captures if no title is present', async () => {
359
+ var _a;
360
+ const captureDates = [
361
+ new Date('2010-01-02T12:34:56Z'),
362
+ new Date('2011-02-03T12:43:21Z'),
363
+ ];
364
364
  const el = await fixture(html `
365
365
  <tile-list
366
- .model=${{
367
- identifier: 'foo',
368
- captureDates,
366
+ .model=${{
367
+ identifier: 'foo',
368
+ captureDates,
369
369
  }}
370
370
  ></tile-list>
371
- `);
372
- const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
373
- expect(captureDatesUl).not.to.exist;
374
- });
375
- it('should render review snippet if present', async () => {
376
- var _a;
377
- const review = {
378
- title: 'Foo',
379
- body: 'foo bar baz',
380
- stars: 3,
381
- };
371
+ `);
372
+ const captureDatesUl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.capture-dates');
373
+ expect(captureDatesUl).not.to.exist;
374
+ });
375
+ it('should render review snippet if present', async () => {
376
+ var _a;
377
+ const review = {
378
+ title: 'Foo',
379
+ body: 'foo bar baz',
380
+ stars: 3,
381
+ };
382
382
  const el = await fixture(html `
383
383
  <tile-list
384
- .model=${{
385
- identifier: 'foo',
386
- review,
384
+ .model=${{
385
+ identifier: 'foo',
386
+ review,
387
387
  }}
388
388
  ></tile-list>
389
- `);
390
- const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
391
- expect(reviewBlock).to.exist;
392
- });
393
- it('should not render review snippet block when no review is present', async () => {
394
- var _a;
389
+ `);
390
+ const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
391
+ expect(reviewBlock).to.exist;
392
+ });
393
+ it('should not render review snippet block when no review is present', async () => {
394
+ var _a;
395
395
  const el = await fixture(html `
396
396
  <tile-list
397
- .model=${{
398
- identifier: 'foo',
397
+ .model=${{
398
+ identifier: 'foo',
399
399
  }}
400
400
  ></tile-list>
401
- `);
402
- const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
403
- expect(reviewBlock).not.to.exist;
404
- });
405
- });
401
+ `);
402
+ const reviewBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('review-block');
403
+ expect(reviewBlock).not.to.exist;
404
+ });
405
+ });
406
406
  //# sourceMappingURL=tile-list.test.js.map