@internetarchive/collection-browser 0.4.11 → 0.4.13-alpha.1

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 (279) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +50 -50
  12. package/dist/src/app-root.js +278 -278
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/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/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +280 -279
  68. package/dist/src/collection-browser.js +1178 -1156
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  71. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  72. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  73. package/dist/src/collection-facets/facets-template.js +125 -125
  74. package/dist/src/collection-facets/more-facets-content.d.ts +76 -75
  75. package/dist/src/collection-facets/more-facets-content.js +354 -377
  76. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +197 -195
  79. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  80. package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
  81. package/dist/src/collection-facets/toggle-switch.js +184 -0
  82. package/dist/src/collection-facets/toggle-switch.js.map +1 -0
  83. package/dist/src/collection-facets.d.ts +81 -81
  84. package/dist/src/collection-facets.js +376 -385
  85. package/dist/src/collection-facets.js.map +1 -1
  86. package/dist/src/empty-placeholder.d.ts +13 -11
  87. package/dist/src/empty-placeholder.js +80 -44
  88. package/dist/src/empty-placeholder.js.map +1 -1
  89. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  90. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  91. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  92. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  93. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  94. package/dist/src/mediatype/mediatype-config.js +85 -85
  95. package/dist/src/models.d.ts +119 -115
  96. package/dist/src/models.js +136 -125
  97. package/dist/src/models.js.map +1 -1
  98. package/dist/src/restoration-state-handler.d.ts +45 -45
  99. package/dist/src/restoration-state-handler.js +230 -230
  100. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  101. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +25 -26
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -1
  103. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
  104. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  105. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  106. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  107. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  108. package/dist/src/sort-filter-bar/img/list.js +3 -3
  109. package/dist/src/sort-filter-bar/img/list.js.map +1 -1
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -0
  111. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +15 -0
  112. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js.map +1 -0
  113. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -0
  114. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +17 -0
  115. package/dist/src/sort-filter-bar/img/sort-toggle-down.js.map +1 -0
  116. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -0
  117. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +17 -0
  118. package/dist/src/sort-filter-bar/img/sort-toggle-up.js.map +1 -0
  119. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  121. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  123. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +189 -108
  124. package/dist/src/sort-filter-bar/sort-filter-bar.js +708 -614
  125. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  126. package/dist/src/styles/item-image-styles.d.ts +8 -8
  127. package/dist/src/styles/item-image-styles.js +9 -9
  128. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  129. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  130. package/dist/src/tiles/grid/account-tile.d.ts +20 -20
  131. package/dist/src/tiles/grid/account-tile.js +64 -64
  132. package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
  133. package/dist/src/tiles/grid/collection-tile.js +71 -71
  134. package/dist/src/tiles/grid/item-tile.d.ts +32 -32
  135. package/dist/src/tiles/grid/item-tile.js +130 -126
  136. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  137. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  138. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  139. package/dist/src/tiles/grid/tile-stats.d.ts +11 -10
  140. package/dist/src/tiles/grid/tile-stats.js +44 -40
  141. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  142. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  143. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  144. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  145. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  146. package/dist/src/tiles/image-block.d.ts +17 -17
  147. package/dist/src/tiles/image-block.js +72 -72
  148. package/dist/src/tiles/item-image.d.ts +35 -35
  149. package/dist/src/tiles/item-image.js +117 -117
  150. package/dist/src/tiles/list/account-label.d.ts +1 -1
  151. package/dist/src/tiles/list/account-label.js +6 -6
  152. package/dist/src/tiles/list/date-label.d.ts +1 -1
  153. package/dist/src/tiles/list/date-label.js +12 -12
  154. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  155. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  156. package/dist/src/tiles/list/tile-list-compact.d.ts +22 -21
  157. package/dist/src/tiles/list/tile-list-compact.js +114 -101
  158. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  159. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  160. package/dist/src/tiles/list/tile-list.js +304 -301
  161. package/dist/src/tiles/list/tile-list.js.map +1 -1
  162. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  163. package/dist/src/tiles/mediatype-icon.js +47 -47
  164. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  165. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  166. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  167. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  168. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  169. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  170. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  171. package/dist/src/tiles/text-snippet-block.js +73 -73
  172. package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
  173. package/dist/src/tiles/tile-dispatcher.js +194 -194
  174. package/dist/src/utils/analytics-events.d.ts +22 -22
  175. package/dist/src/utils/analytics-events.js +24 -24
  176. package/dist/src/utils/format-count.d.ts +7 -7
  177. package/dist/src/utils/format-count.js +76 -76
  178. package/dist/src/utils/format-date.d.ts +2 -2
  179. package/dist/src/utils/format-date.js +23 -23
  180. package/dist/src/utils/format-unit-size.d.ts +2 -2
  181. package/dist/src/utils/format-unit-size.js +33 -33
  182. package/dist/test/collection-browser.test.d.ts +1 -1
  183. package/dist/test/collection-browser.test.js +584 -584
  184. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  185. package/dist/test/collection-facets/facets-template.test.js +62 -62
  186. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  187. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  188. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  189. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  190. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
  191. package/dist/test/collection-facets/toggle-switch.test.js +87 -0
  192. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
  193. package/dist/test/collection-facets.test.d.ts +2 -2
  194. package/dist/test/collection-facets.test.js +460 -460
  195. package/dist/test/empty-placeholder.test.d.ts +1 -1
  196. package/dist/test/empty-placeholder.test.js +33 -33
  197. package/dist/test/icon-overlay.test.d.ts +1 -1
  198. package/dist/test/icon-overlay.test.js +24 -24
  199. package/dist/test/image-block.test.d.ts +1 -1
  200. package/dist/test/image-block.test.js +48 -48
  201. package/dist/test/item-image.test.d.ts +1 -1
  202. package/dist/test/item-image.test.js +84 -84
  203. package/dist/test/mediatype-config.test.d.ts +1 -1
  204. package/dist/test/mediatype-config.test.js +16 -16
  205. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  206. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  207. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  208. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  209. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  210. package/dist/test/mocks/mock-search-responses.js +341 -341
  211. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  212. package/dist/test/mocks/mock-search-service.js +40 -40
  213. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  214. package/dist/test/restoration-state-handler.test.js +125 -125
  215. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  216. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  217. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  218. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  219. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  220. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +372 -199
  221. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  222. package/dist/test/text-overlay.test.d.ts +1 -1
  223. package/dist/test/text-overlay.test.js +48 -48
  224. package/dist/test/text-snippet-block.test.d.ts +1 -1
  225. package/dist/test/text-snippet-block.test.js +57 -57
  226. package/dist/test/tile-stats.test.d.ts +1 -1
  227. package/dist/test/tile-stats.test.js +33 -33
  228. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  229. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  230. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  231. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  232. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  233. package/dist/test/tiles/grid/item-tile.test.js +158 -158
  234. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  235. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  236. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  237. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  238. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  239. package/dist/test/tiles/list/tile-list-compact.test.js +104 -92
  240. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  241. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  242. package/dist/test/tiles/list/tile-list.test.js +175 -163
  243. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  244. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  245. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  246. package/dist/test/utils/format-count.test.d.ts +1 -1
  247. package/dist/test/utils/format-count.test.js +23 -23
  248. package/dist/test/utils/format-date.test.d.ts +1 -1
  249. package/dist/test/utils/format-date.test.js +17 -17
  250. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  251. package/dist/test/utils/format-unit-size.test.js +17 -17
  252. package/local.archive.org.cert +86 -86
  253. package/local.archive.org.key +27 -27
  254. package/package.json +4 -3
  255. package/renovate.json +6 -6
  256. package/src/collection-browser.ts +28 -1
  257. package/src/collection-facets/more-facets-content.ts +25 -48
  258. package/src/collection-facets/more-facets-pagination.ts +5 -3
  259. package/src/collection-facets/toggle-switch.ts +184 -0
  260. package/src/collection-facets.ts +1 -10
  261. package/src/empty-placeholder.ts +53 -7
  262. package/src/models.ts +23 -8
  263. package/src/sort-filter-bar/alpha-bar-tooltip.ts +1 -2
  264. package/src/sort-filter-bar/img/list.ts +1 -1
  265. package/src/sort-filter-bar/img/sort-toggle-disabled.ts +15 -0
  266. package/src/sort-filter-bar/img/sort-toggle-down.ts +17 -0
  267. package/src/sort-filter-bar/img/sort-toggle-up.ts +17 -0
  268. package/src/sort-filter-bar/sort-filter-bar.ts +433 -303
  269. package/src/tiles/grid/item-tile.ts +6 -1
  270. package/src/tiles/grid/tile-stats.ts +3 -1
  271. package/src/tiles/list/tile-list-compact.ts +15 -2
  272. package/src/tiles/list/tile-list.ts +3 -0
  273. package/test/collection-facets/toggle-switch.test.ts +154 -0
  274. package/test/sort-filter-bar/sort-filter-bar.test.ts +377 -101
  275. package/test/tiles/list/tile-list-compact.test.ts +14 -0
  276. package/test/tiles/list/tile-list.test.ts +14 -0
  277. package/tsconfig.json +21 -21
  278. package/web-dev-server.config.mjs +30 -30
  279. package/web-test-runner.config.mjs +41 -41
@@ -1,169 +1,169 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import sinon from 'sinon';
4
- import { html } from 'lit';
5
- import '../../../src/tiles/grid/item-tile';
6
- describe('Item Tile', () => {
7
- it('should render initial component', async () => {
8
- var _a, _b, _c, _d, _e;
9
- const el = await fixture(html `<item-tile></item-tile>`);
10
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
11
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
12
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
13
- const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
14
- const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
15
- expect(container).to.exist;
16
- expect(tileDetails).to.exist;
17
- expect(itemInfo).to.exist;
18
- expect(imageBlock).to.exist;
19
- expect(itemTitle).to.exist;
20
- });
21
- it('should render with created-by element', async () => {
22
- var _a, _b, _c, _d, _e;
23
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
24
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
25
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
26
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
27
- const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
28
- const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
29
- const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
30
- expect(container).to.exist;
31
- expect(tileDetails).to.exist;
32
- expect(itemInfo).to.exist;
33
- expect(createdBy).to.exist;
34
- expect(truncatedCreatorText).to.exist;
35
- expect(dateSortedBy).to.not.exist;
36
- });
37
- it('should not render with created-by but date element', async () => {
38
- var _a, _b;
39
- const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
40
- el.sortParam = {
41
- field: 'date',
42
- direction: 'desc',
43
- };
44
- await el.updateComplete;
45
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
46
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
47
- expect(createdBy).to.not.exist;
48
- expect(dateSortedBy).to.exist;
49
- });
50
- it('should not render with created-by but reviewdate element', async () => {
51
- var _a, _b;
52
- const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
53
- el.sortParam = {
54
- field: 'reviewdate',
55
- direction: 'desc',
56
- };
57
- await el.updateComplete;
58
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
59
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
60
- expect(createdBy).to.not.exist;
61
- expect(dateSortedBy).to.exist;
62
- });
63
- it('should not render with created-by but publicdate element', async () => {
64
- var _a, _b;
65
- const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
66
- el.sortParam = {
67
- field: 'publicdate',
68
- direction: 'desc',
69
- };
70
- await el.updateComplete;
71
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
72
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
73
- expect(createdBy).to.not.exist;
74
- expect(dateSortedBy).to.exist;
75
- });
76
- it('should not render date-sorted-by element if date is not provided', async () => {
77
- var _a, _b;
78
- const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
79
- el.sortParam = {
80
- field: 'publicdate',
81
- direction: 'desc',
82
- };
83
- await el.updateComplete;
84
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
85
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
86
- expect(createdBy).to.not.exist;
87
- expect(dateSortedBy).to.not.exist;
88
- });
89
- it('should render with created-by when sorting not related to date', async () => {
90
- var _a, _b, _c;
91
- const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
92
- el.sortParam = {
93
- field: 'addeddate',
94
- direction: 'asc',
95
- };
96
- await el.updateComplete;
97
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
98
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
99
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
100
- expect(itemInfo).to.exist;
101
- expect(createdBy).to.not.exist;
102
- expect(dateSortedBy).to.exist;
103
- });
104
- it('should render with created-by when sort field id not like date', async () => {
105
- var _a, _b, _c;
106
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
107
- el.sortParam = {
108
- field: 'week',
109
- direction: 'asc',
110
- };
111
- await el.updateComplete;
112
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
113
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
114
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
115
- expect(itemInfo).to.exist;
116
- expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
117
- expect(createdBy).to.exist;
118
- });
119
- it('should render with snippet block when it has snippets', async () => {
120
- var _a;
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import sinon from 'sinon';
4
+ import { html } from 'lit';
5
+ import '../../../src/tiles/grid/item-tile';
6
+ describe('Item Tile', () => {
7
+ it('should render initial component', async () => {
8
+ var _a, _b, _c, _d, _e;
9
+ const el = await fixture(html `<item-tile></item-tile>`);
10
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
11
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
12
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
13
+ const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
14
+ const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
15
+ expect(container).to.exist;
16
+ expect(tileDetails).to.exist;
17
+ expect(itemInfo).to.exist;
18
+ expect(imageBlock).to.exist;
19
+ expect(itemTitle).to.exist;
20
+ });
21
+ it('should render with created-by element', async () => {
22
+ var _a, _b, _c, _d, _e;
23
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
24
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
25
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
26
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
27
+ const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
28
+ const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
29
+ const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
30
+ expect(container).to.exist;
31
+ expect(tileDetails).to.exist;
32
+ expect(itemInfo).to.exist;
33
+ expect(createdBy).to.exist;
34
+ expect(truncatedCreatorText).to.exist;
35
+ expect(dateSortedBy).to.not.exist;
36
+ });
37
+ it('should not render with created-by but date element', async () => {
38
+ var _a, _b;
39
+ const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
40
+ el.sortParam = {
41
+ field: 'date',
42
+ direction: 'desc',
43
+ };
44
+ await el.updateComplete;
45
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
46
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
47
+ expect(createdBy).to.not.exist;
48
+ expect(dateSortedBy).to.exist;
49
+ });
50
+ it('should not render with created-by but reviewdate element', async () => {
51
+ var _a, _b;
52
+ const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
53
+ el.sortParam = {
54
+ field: 'reviewdate',
55
+ direction: 'desc',
56
+ };
57
+ await el.updateComplete;
58
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
59
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
60
+ expect(createdBy).to.not.exist;
61
+ expect(dateSortedBy).to.exist;
62
+ });
63
+ it('should not render with created-by but publicdate element', async () => {
64
+ var _a, _b;
65
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
66
+ el.sortParam = {
67
+ field: 'publicdate',
68
+ direction: 'desc',
69
+ };
70
+ await el.updateComplete;
71
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
72
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
73
+ expect(createdBy).to.not.exist;
74
+ expect(dateSortedBy).to.exist;
75
+ });
76
+ it('should not render date-sorted-by element if date is not provided', async () => {
77
+ var _a, _b;
78
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
79
+ el.sortParam = {
80
+ field: 'publicdate',
81
+ direction: 'desc',
82
+ };
83
+ await el.updateComplete;
84
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
85
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
86
+ expect(createdBy).to.not.exist;
87
+ expect(dateSortedBy).to.not.exist;
88
+ });
89
+ it('should render with created-by when sorting not related to date', async () => {
90
+ var _a, _b, _c;
91
+ const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
92
+ el.sortParam = {
93
+ field: 'addeddate',
94
+ direction: 'asc',
95
+ };
96
+ await el.updateComplete;
97
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
98
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
99
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
100
+ expect(itemInfo).to.exist;
101
+ expect(createdBy).to.not.exist;
102
+ expect(dateSortedBy).to.exist;
103
+ });
104
+ it('should render with created-by when sort field id not like date', async () => {
105
+ var _a, _b, _c;
106
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
107
+ el.sortParam = {
108
+ field: 'week',
109
+ direction: 'asc',
110
+ };
111
+ await el.updateComplete;
112
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
113
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
114
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
115
+ expect(itemInfo).to.exist;
116
+ expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
117
+ expect(createdBy).to.exist;
118
+ });
119
+ it('should render with snippet block when it has snippets', async () => {
120
+ var _a;
121
121
  const el = await fixture(html `
122
122
  <item-tile .model=${{ snippets: ['some {{{snippet}}} text'] }}>
123
123
  </item-tile>
124
- `);
125
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
126
- expect(snippetBlock).to.exist;
127
- });
128
- it('should not render snippet block when no snippets are present', async () => {
129
- var _a;
130
- const el = await fixture(html `<item-tile></item-tile>`);
131
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
132
- expect(snippetBlock).to.not.exist;
133
- });
134
- it('should render info button when showInfoButton flag is set', async () => {
135
- var _a;
124
+ `);
125
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
126
+ expect(snippetBlock).to.exist;
127
+ });
128
+ it('should not render snippet block when no snippets are present', async () => {
129
+ var _a;
130
+ const el = await fixture(html `<item-tile></item-tile>`);
131
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
132
+ expect(snippetBlock).to.not.exist;
133
+ });
134
+ it('should render info button when showInfoButton flag is set', async () => {
135
+ var _a;
136
136
  const el = await fixture(html `
137
137
  <item-tile ?showInfoButton=${true}> </item-tile>
138
- `);
139
- const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
140
- expect(infoButton).to.exist;
141
- });
142
- it('should dispatch event when info button tapped', async () => {
143
- var _a;
144
- const infoButtonSpy = sinon.spy();
138
+ `);
139
+ const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
140
+ expect(infoButton).to.exist;
141
+ });
142
+ it('should dispatch event when info button tapped', async () => {
143
+ var _a;
144
+ const infoButtonSpy = sinon.spy();
145
145
  const el = await fixture(html `
146
146
  <item-tile ?showInfoButton=${true} @infoButtonPressed=${infoButtonSpy}>
147
147
  </item-tile>
148
- `);
149
- const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
150
- infoButton.click();
151
- await el.updateComplete;
152
- expect(infoButtonSpy.callCount).to.equal(1);
153
- });
154
- it('should render with volume/issue view', async () => {
155
- var _a;
148
+ `);
149
+ const infoButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.info-button');
150
+ infoButton.click();
151
+ await el.updateComplete;
152
+ expect(infoButtonSpy.callCount).to.equal(1);
153
+ });
154
+ it('should render with volume/issue view', async () => {
155
+ var _a;
156
156
  const el = await fixture(html `
157
157
  <item-tile .model=${{ volume: '1', issue: 'Index' }}></item-tile>
158
- `);
159
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
160
- expect(volumeIssueBlock).to.exist;
161
- });
162
- it('should render with volume/issue view to not render', async () => {
163
- var _a;
164
- const el = await fixture(html `<item-tile></item-tile>`);
165
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
166
- expect(volumeIssueBlock).to.not.exist;
167
- });
168
- });
158
+ `);
159
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
160
+ expect(volumeIssueBlock).to.exist;
161
+ });
162
+ it('should render with volume/issue view to not render', async () => {
163
+ var _a;
164
+ const el = await fixture(html `<item-tile></item-tile>`);
165
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
166
+ expect(volumeIssueBlock).to.not.exist;
167
+ });
168
+ });
169
169
  //# sourceMappingURL=item-tile.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};