@internetarchive/collection-browser 2.3.0 → 2.4.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 (299) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +91 -91
  8. package/dist/src/app-root.js +487 -487
  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/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +466 -466
  72. package/dist/src/collection-browser.js +1475 -1475
  73. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  74. package/dist/src/collection-facets/facet-row.js +114 -114
  75. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  76. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  77. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  78. package/dist/src/collection-facets/facets-template.js +114 -114
  79. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  80. package/dist/src/collection-facets/more-facets-content.js +360 -360
  81. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  82. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  83. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  84. package/dist/src/collection-facets/toggle-switch.js +94 -94
  85. package/dist/src/collection-facets.d.ts +103 -103
  86. package/dist/src/collection-facets.js +510 -510
  87. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  88. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  89. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
  90. package/dist/src/data-source/collection-browser-data-source.js +985 -985
  91. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  92. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  93. package/dist/src/data-source/models.d.ts +28 -28
  94. package/dist/src/data-source/models.js +8 -8
  95. package/dist/src/empty-placeholder.d.ts +23 -23
  96. package/dist/src/empty-placeholder.js +74 -74
  97. package/dist/src/expanded-date-picker.d.ts +43 -43
  98. package/dist/src/expanded-date-picker.js +109 -109
  99. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  100. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  101. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  102. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  103. package/dist/src/manage/manage-bar.d.ts +30 -30
  104. package/dist/src/manage/manage-bar.js +61 -61
  105. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  106. package/dist/src/mediatype/mediatype-config.js +91 -91
  107. package/dist/src/models.d.ts +209 -209
  108. package/dist/src/models.js +381 -381
  109. package/dist/src/restoration-state-handler.d.ts +70 -70
  110. package/dist/src/restoration-state-handler.js +357 -357
  111. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  112. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  113. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  114. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  115. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  116. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  117. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  118. package/dist/src/sort-filter-bar/img/list.js +2 -2
  119. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  121. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  127. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  129. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +222 -222
  130. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -696
  131. package/dist/src/styles/ia-button.d.ts +2 -2
  132. package/dist/src/styles/ia-button.js +16 -16
  133. package/dist/src/styles/item-image-styles.d.ts +8 -8
  134. package/dist/src/styles/item-image-styles.js +9 -9
  135. package/dist/src/styles/sr-only.d.ts +1 -1
  136. package/dist/src/styles/sr-only.js +2 -2
  137. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  138. package/dist/src/tiles/base-tile-component.js +63 -63
  139. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  140. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  141. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  142. package/dist/src/tiles/grid/account-tile.js +72 -72
  143. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  144. package/dist/src/tiles/grid/collection-tile.js +80 -80
  145. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  146. package/dist/src/tiles/grid/item-tile.js +149 -149
  147. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  148. package/dist/src/tiles/grid/search-tile.js +51 -51
  149. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  150. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  151. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  152. package/dist/src/tiles/grid/tile-stats.js +53 -53
  153. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  154. package/dist/src/tiles/hover/hover-pane-controller.js +354 -352
  155. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  156. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -15
  157. package/dist/src/tiles/hover/tile-hover-pane.js +127 -47
  158. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  159. package/dist/src/tiles/image-block.d.ts +17 -17
  160. package/dist/src/tiles/image-block.js +74 -74
  161. package/dist/src/tiles/image-block.js.map +1 -1
  162. package/dist/src/tiles/item-image.d.ts +39 -39
  163. package/dist/src/tiles/item-image.js +154 -154
  164. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  165. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  166. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  167. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  168. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  169. package/dist/src/tiles/list/tile-list.js +315 -315
  170. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  171. package/dist/src/tiles/mediatype-icon.js +47 -47
  172. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  173. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  174. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  175. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  176. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  177. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  178. package/dist/src/tiles/review-block.d.ts +12 -12
  179. package/dist/src/tiles/review-block.js +56 -56
  180. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  181. package/dist/src/tiles/text-snippet-block.js +73 -73
  182. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  183. package/dist/src/tiles/tile-dispatcher.js +229 -229
  184. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  185. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  186. package/dist/src/utils/analytics-events.d.ts +28 -28
  187. package/dist/src/utils/analytics-events.js +30 -30
  188. package/dist/src/utils/array-equals.d.ts +4 -4
  189. package/dist/src/utils/array-equals.js +10 -10
  190. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  191. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  192. package/dist/src/utils/format-count.d.ts +7 -7
  193. package/dist/src/utils/format-count.js +76 -76
  194. package/dist/src/utils/format-date.d.ts +2 -2
  195. package/dist/src/utils/format-date.js +25 -25
  196. package/dist/src/utils/format-unit-size.d.ts +2 -2
  197. package/dist/src/utils/format-unit-size.js +33 -33
  198. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  199. package/dist/src/utils/local-date-from-utc.js +15 -15
  200. package/dist/src/utils/log.d.ts +7 -7
  201. package/dist/src/utils/log.js +15 -15
  202. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  203. package/dist/src/utils/resolve-mediatype.js +23 -23
  204. package/dist/src/utils/sha1.d.ts +2 -2
  205. package/dist/src/utils/sha1.js +8 -8
  206. package/dist/test/collection-browser.test.d.ts +1 -1
  207. package/dist/test/collection-browser.test.js +1293 -1293
  208. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  209. package/dist/test/collection-facets/facet-row.test.js +203 -203
  210. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  211. package/dist/test/collection-facets/facets-template.test.js +105 -105
  212. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  213. package/dist/test/collection-facets/more-facets-content.test.js +139 -139
  214. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  215. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  216. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  217. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  218. package/dist/test/collection-facets.test.d.ts +2 -2
  219. package/dist/test/collection-facets.test.js +652 -652
  220. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  221. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  222. package/dist/test/empty-placeholder.test.d.ts +1 -1
  223. package/dist/test/empty-placeholder.test.js +63 -63
  224. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  225. package/dist/test/expanded-date-picker.test.js +95 -95
  226. package/dist/test/icon-overlay.test.d.ts +1 -1
  227. package/dist/test/icon-overlay.test.js +24 -24
  228. package/dist/test/image-block.test.d.ts +1 -1
  229. package/dist/test/image-block.test.js +48 -48
  230. package/dist/test/item-image.test.d.ts +1 -1
  231. package/dist/test/item-image.test.js +85 -85
  232. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  233. package/dist/test/manage/manage-bar.test.js +81 -81
  234. package/dist/test/mediatype-config.test.d.ts +1 -1
  235. package/dist/test/mediatype-config.test.js +16 -16
  236. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  237. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  238. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  239. package/dist/test/mocks/mock-search-responses.js +860 -860
  240. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  241. package/dist/test/mocks/mock-search-service.js +53 -53
  242. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  243. package/dist/test/restoration-state-handler.test.js +270 -270
  244. package/dist/test/review-block.test.d.ts +1 -1
  245. package/dist/test/review-block.test.js +44 -44
  246. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  247. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  248. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  250. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  251. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  252. package/dist/test/text-overlay.test.d.ts +1 -1
  253. package/dist/test/text-overlay.test.js +48 -48
  254. package/dist/test/text-snippet-block.test.d.ts +1 -1
  255. package/dist/test/text-snippet-block.test.js +57 -57
  256. package/dist/test/tile-stats.test.d.ts +1 -1
  257. package/dist/test/tile-stats.test.js +81 -81
  258. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  259. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  260. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  261. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  262. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  263. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  264. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  265. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  266. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  267. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  268. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  269. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -13
  270. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  271. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  272. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  273. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list.test.js +297 -297
  275. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  276. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  277. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  279. package/dist/test/utils/array-equals.test.d.ts +1 -1
  280. package/dist/test/utils/array-equals.test.js +26 -26
  281. package/dist/test/utils/format-count.test.d.ts +1 -1
  282. package/dist/test/utils/format-count.test.js +23 -23
  283. package/dist/test/utils/format-date.test.d.ts +1 -1
  284. package/dist/test/utils/format-date.test.js +17 -17
  285. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  286. package/dist/test/utils/format-unit-size.test.js +17 -17
  287. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  288. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  289. package/local.archive.org.cert +86 -86
  290. package/local.archive.org.key +27 -27
  291. package/package.json +1 -1
  292. package/renovate.json +6 -6
  293. package/src/tiles/hover/hover-pane-controller.ts +2 -0
  294. package/src/tiles/hover/tile-hover-pane.ts +100 -11
  295. package/src/tiles/image-block.ts +1 -1
  296. package/test/tiles/hover/tile-hover-pane.test.ts +61 -0
  297. package/tsconfig.json +21 -21
  298. package/web-dev-server.config.mjs +30 -30
  299. 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