@internetarchive/collection-browser 0.4.8 → 0.4.9-alpha.2

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 (225) 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 +281 -277
  68. package/dist/src/collection-browser.js +1203 -1194
  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 +77 -77
  75. package/dist/src/collection-facets/more-facets-content.js +357 -357
  76. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  77. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  78. package/dist/src/collection-facets.d.ts +83 -77
  79. package/dist/src/collection-facets.js +402 -384
  80. package/dist/src/collection-facets.js.map +1 -1
  81. package/dist/src/empty-placeholder.d.ts +11 -11
  82. package/dist/src/empty-placeholder.js +42 -42
  83. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  84. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  85. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  86. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  87. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  88. package/dist/src/mediatype/mediatype-config.js +85 -85
  89. package/dist/src/models.d.ts +114 -114
  90. package/dist/src/models.js +125 -125
  91. package/dist/src/restoration-state-handler.d.ts +45 -45
  92. package/dist/src/restoration-state-handler.js +230 -230
  93. package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
  94. package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
  95. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  97. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/list.js +2 -2
  99. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  101. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  103. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  104. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  105. package/dist/src/styles/item-image-styles.d.ts +8 -8
  106. package/dist/src/styles/item-image-styles.js +9 -9
  107. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  108. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  109. package/dist/src/tiles/grid/account-tile.d.ts +17 -17
  110. package/dist/src/tiles/grid/account-tile.js +46 -46
  111. package/dist/src/tiles/grid/collection-tile.d.ts +14 -14
  112. package/dist/src/tiles/grid/collection-tile.js +53 -53
  113. package/dist/src/tiles/grid/item-tile.d.ts +29 -29
  114. package/dist/src/tiles/grid/item-tile.js +108 -108
  115. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  116. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  117. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  118. package/dist/src/tiles/grid/tile-stats.js +40 -40
  119. package/dist/src/tiles/hover/hover-pane-controller.d.ts +197 -197
  120. package/dist/src/tiles/hover/hover-pane-controller.js +331 -331
  121. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  122. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  123. package/dist/src/tiles/image-block.d.ts +17 -17
  124. package/dist/src/tiles/image-block.js +72 -72
  125. package/dist/src/tiles/item-image.d.ts +35 -35
  126. package/dist/src/tiles/item-image.js +117 -117
  127. package/dist/src/tiles/list/account-label.d.ts +1 -1
  128. package/dist/src/tiles/list/account-label.js +6 -6
  129. package/dist/src/tiles/list/date-label.d.ts +1 -1
  130. package/dist/src/tiles/list/date-label.js +12 -12
  131. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  132. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  133. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  134. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  135. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  136. package/dist/src/tiles/list/tile-list.js +297 -297
  137. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  138. package/dist/src/tiles/mediatype-icon.js +47 -47
  139. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  140. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  141. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  142. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  143. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  144. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  145. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  146. package/dist/src/tiles/text-snippet-block.js +73 -73
  147. package/dist/src/tiles/tile-dispatcher.d.ts +55 -55
  148. package/dist/src/tiles/tile-dispatcher.js +176 -176
  149. package/dist/src/utils/analytics-events.d.ts +22 -22
  150. package/dist/src/utils/analytics-events.js +24 -24
  151. package/dist/src/utils/format-count.d.ts +7 -7
  152. package/dist/src/utils/format-count.js +76 -76
  153. package/dist/src/utils/format-date.d.ts +2 -2
  154. package/dist/src/utils/format-date.js +23 -23
  155. package/dist/src/utils/format-unit-size.d.ts +2 -2
  156. package/dist/src/utils/format-unit-size.js +33 -33
  157. package/dist/test/collection-browser.test.d.ts +1 -1
  158. package/dist/test/collection-browser.test.js +584 -584
  159. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  160. package/dist/test/collection-facets/facets-template.test.js +62 -62
  161. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  162. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  163. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  164. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  165. package/dist/test/collection-facets.test.d.ts +2 -2
  166. package/dist/test/collection-facets.test.js +508 -508
  167. package/dist/test/empty-placeholder.test.d.ts +1 -1
  168. package/dist/test/empty-placeholder.test.js +33 -33
  169. package/dist/test/icon-overlay.test.d.ts +1 -1
  170. package/dist/test/icon-overlay.test.js +24 -24
  171. package/dist/test/image-block.test.d.ts +1 -1
  172. package/dist/test/image-block.test.js +48 -48
  173. package/dist/test/item-image.test.d.ts +1 -1
  174. package/dist/test/item-image.test.js +84 -84
  175. package/dist/test/mediatype-config.test.d.ts +1 -1
  176. package/dist/test/mediatype-config.test.js +16 -16
  177. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  178. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  179. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  180. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  181. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  182. package/dist/test/mocks/mock-search-responses.js +341 -341
  183. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  184. package/dist/test/mocks/mock-search-service.js +40 -40
  185. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  186. package/dist/test/restoration-state-handler.test.js +125 -125
  187. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  188. package/dist/test/sort-filter-bar/alpha-bar.test.js +43 -43
  189. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  190. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  191. package/dist/test/text-overlay.test.d.ts +1 -1
  192. package/dist/test/text-overlay.test.js +48 -48
  193. package/dist/test/text-snippet-block.test.d.ts +1 -1
  194. package/dist/test/text-snippet-block.test.js +57 -57
  195. package/dist/test/tile-stats.test.d.ts +1 -1
  196. package/dist/test/tile-stats.test.js +33 -33
  197. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  198. package/dist/test/tiles/grid/account-tile.test.js +60 -60
  199. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  200. package/dist/test/tiles/grid/collection-tile.test.js +57 -57
  201. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  202. package/dist/test/tiles/grid/item-tile.test.js +142 -142
  203. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  204. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  205. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  206. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  207. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  208. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  209. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  210. package/dist/test/tiles/list/tile-list.test.js +163 -163
  211. package/dist/test/utils/format-count.test.d.ts +1 -1
  212. package/dist/test/utils/format-count.test.js +23 -23
  213. package/dist/test/utils/format-date.test.d.ts +1 -1
  214. package/dist/test/utils/format-date.test.js +17 -17
  215. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  216. package/dist/test/utils/format-unit-size.test.js +17 -17
  217. package/local.archive.org.cert +86 -86
  218. package/local.archive.org.key +27 -27
  219. package/package.json +1 -1
  220. package/renovate.json +6 -6
  221. package/src/collection-browser.ts +10 -0
  222. package/src/collection-facets.ts +25 -6
  223. package/tsconfig.json +21 -21
  224. package/web-dev-server.config.mjs +30 -30
  225. package/web-test-runner.config.mjs +41 -41
@@ -1,148 +1,148 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { expect, fixture } from '@open-wc/testing';
3
- import { html } from 'lit';
4
- import '../../../src/tiles/grid/item-tile';
5
- describe('Item Tile', () => {
6
- it('should render initial component', async () => {
7
- var _a, _b, _c, _d, _e;
8
- const el = await fixture(html `<item-tile></item-tile>`);
9
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
10
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
11
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
12
- const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
13
- const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
14
- expect(container).to.exist;
15
- expect(tileDetails).to.exist;
16
- expect(itemInfo).to.exist;
17
- expect(imageBlock).to.exist;
18
- expect(itemTitle).to.exist;
19
- });
20
- it('should render with created-by element', async () => {
21
- var _a, _b, _c, _d, _e;
22
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
23
- const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
24
- const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
25
- const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
26
- const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
27
- const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
28
- const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
29
- expect(container).to.exist;
30
- expect(tileDetails).to.exist;
31
- expect(itemInfo).to.exist;
32
- expect(createdBy).to.exist;
33
- expect(truncatedCreatorText).to.exist;
34
- expect(dateSortedBy).to.not.exist;
35
- });
36
- it('should not render with created-by but date element', async () => {
37
- var _a, _b;
38
- const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
39
- el.sortParam = {
40
- field: 'date',
41
- direction: 'desc',
42
- };
43
- await el.updateComplete;
44
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
45
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
46
- expect(createdBy).to.not.exist;
47
- expect(dateSortedBy).to.exist;
48
- });
49
- it('should not render with created-by but reviewdate element', async () => {
50
- var _a, _b;
51
- const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
52
- el.sortParam = {
53
- field: 'reviewdate',
54
- direction: 'desc',
55
- };
56
- await el.updateComplete;
57
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
58
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
59
- expect(createdBy).to.not.exist;
60
- expect(dateSortedBy).to.exist;
61
- });
62
- it('should not render with created-by but publicdate element', async () => {
63
- var _a, _b;
64
- const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
65
- el.sortParam = {
66
- field: 'publicdate',
67
- direction: 'desc',
68
- };
69
- await el.updateComplete;
70
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
71
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
72
- expect(createdBy).to.not.exist;
73
- expect(dateSortedBy).to.exist;
74
- });
75
- it('should not render date-sorted-by element if date is not provided', async () => {
76
- var _a, _b;
77
- const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
78
- el.sortParam = {
79
- field: 'publicdate',
80
- direction: 'desc',
81
- };
82
- await el.updateComplete;
83
- const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
84
- const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
85
- expect(createdBy).to.not.exist;
86
- expect(dateSortedBy).to.not.exist;
87
- });
88
- it('should render with created-by when sorting not related to date', async () => {
89
- var _a, _b, _c;
90
- const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
91
- el.sortParam = {
92
- field: 'addeddate',
93
- direction: 'asc',
94
- };
95
- await el.updateComplete;
96
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
97
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
98
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
99
- expect(itemInfo).to.exist;
100
- expect(createdBy).to.not.exist;
101
- expect(dateSortedBy).to.exist;
102
- });
103
- it('should render with created-by when sort field id not like date', async () => {
104
- var _a, _b, _c;
105
- const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
106
- el.sortParam = {
107
- field: 'week',
108
- direction: 'asc',
109
- };
110
- await el.updateComplete;
111
- const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
112
- const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
113
- const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
114
- expect(itemInfo).to.exist;
115
- expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
116
- expect(createdBy).to.exist;
117
- });
118
- it('should render with snippet block when it has snippets', async () => {
119
- var _a;
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import '../../../src/tiles/grid/item-tile';
5
+ describe('Item Tile', () => {
6
+ it('should render initial component', async () => {
7
+ var _a, _b, _c, _d, _e;
8
+ const el = await fixture(html `<item-tile></item-tile>`);
9
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
10
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
11
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
12
+ const itemTitle = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('#title');
13
+ const imageBlock = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('image-block');
14
+ expect(container).to.exist;
15
+ expect(tileDetails).to.exist;
16
+ expect(itemInfo).to.exist;
17
+ expect(imageBlock).to.exist;
18
+ expect(itemTitle).to.exist;
19
+ });
20
+ it('should render with created-by element', async () => {
21
+ var _a, _b, _c, _d, _e;
22
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
23
+ const container = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.container');
24
+ const tileDetails = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tile-details');
25
+ const itemInfo = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.item-info');
26
+ const createdBy = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.created-by');
27
+ const truncatedCreatorText = createdBy === null || createdBy === void 0 ? void 0 : createdBy.querySelector('.truncated');
28
+ const dateSortedBy = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.date-sorted-by');
29
+ expect(container).to.exist;
30
+ expect(tileDetails).to.exist;
31
+ expect(itemInfo).to.exist;
32
+ expect(createdBy).to.exist;
33
+ expect(truncatedCreatorText).to.exist;
34
+ expect(dateSortedBy).to.not.exist;
35
+ });
36
+ it('should not render with created-by but date element', async () => {
37
+ var _a, _b;
38
+ const el = await fixture(html `<item-tile .model=${{ datePublished: new Date() }}></item-tile>`);
39
+ el.sortParam = {
40
+ field: 'date',
41
+ direction: 'desc',
42
+ };
43
+ await el.updateComplete;
44
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
45
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
46
+ expect(createdBy).to.not.exist;
47
+ expect(dateSortedBy).to.exist;
48
+ });
49
+ it('should not render with created-by but reviewdate element', async () => {
50
+ var _a, _b;
51
+ const el = await fixture(html `<item-tile .model=${{ dateReviewed: new Date() }}></item-tile>`);
52
+ el.sortParam = {
53
+ field: 'reviewdate',
54
+ direction: 'desc',
55
+ };
56
+ await el.updateComplete;
57
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
58
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
59
+ expect(createdBy).to.not.exist;
60
+ expect(dateSortedBy).to.exist;
61
+ });
62
+ it('should not render with created-by but publicdate element', async () => {
63
+ var _a, _b;
64
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: new Date() }}></item-tile>`);
65
+ el.sortParam = {
66
+ field: 'publicdate',
67
+ direction: 'desc',
68
+ };
69
+ await el.updateComplete;
70
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
71
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
72
+ expect(createdBy).to.not.exist;
73
+ expect(dateSortedBy).to.exist;
74
+ });
75
+ it('should not render date-sorted-by element if date is not provided', async () => {
76
+ var _a, _b;
77
+ const el = await fixture(html `<item-tile .model=${{ dateArchived: undefined }}></item-tile>`);
78
+ el.sortParam = {
79
+ field: 'publicdate',
80
+ direction: 'desc',
81
+ };
82
+ await el.updateComplete;
83
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
84
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
85
+ expect(createdBy).to.not.exist;
86
+ expect(dateSortedBy).to.not.exist;
87
+ });
88
+ it('should render with created-by when sorting not related to date', async () => {
89
+ var _a, _b, _c;
90
+ const el = await fixture(html `<item-tile .model=${{ dateAdded: new Date() }}></item-tile>`);
91
+ el.sortParam = {
92
+ field: 'addeddate',
93
+ direction: 'asc',
94
+ };
95
+ await el.updateComplete;
96
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
97
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
98
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
99
+ expect(itemInfo).to.exist;
100
+ expect(createdBy).to.not.exist;
101
+ expect(dateSortedBy).to.exist;
102
+ });
103
+ it('should render with created-by when sort field id not like date', async () => {
104
+ var _a, _b, _c;
105
+ const el = await fixture(html `<item-tile .model=${{ creator: 'someone' }}></item-tile>`);
106
+ el.sortParam = {
107
+ field: 'week',
108
+ direction: 'asc',
109
+ };
110
+ await el.updateComplete;
111
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
112
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
113
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
114
+ expect(itemInfo).to.exist;
115
+ expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
116
+ expect(createdBy).to.exist;
117
+ });
118
+ it('should render with snippet block when it has snippets', async () => {
119
+ var _a;
120
120
  const el = await fixture(html `
121
121
  <item-tile .model=${{ snippets: ['some {{{snippet}}} text'] }}>
122
122
  </item-tile>
123
- `);
124
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
125
- expect(snippetBlock).to.exist;
126
- });
127
- it('should not render snippet block when no snippets are present', async () => {
128
- var _a;
129
- const el = await fixture(html `<item-tile></item-tile>`);
130
- const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
131
- expect(snippetBlock).to.not.exist;
132
- });
133
- it('should render with volume/issue view', async () => {
134
- var _a;
123
+ `);
124
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
125
+ expect(snippetBlock).to.exist;
126
+ });
127
+ it('should not render snippet block when no snippets are present', async () => {
128
+ var _a;
129
+ const el = await fixture(html `<item-tile></item-tile>`);
130
+ const snippetBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('text-snippet-block');
131
+ expect(snippetBlock).to.not.exist;
132
+ });
133
+ it('should render with volume/issue view', async () => {
134
+ var _a;
135
135
  const el = await fixture(html `
136
136
  <item-tile .model=${{ volume: '1', issue: 'Index' }}></item-tile>
137
- `);
138
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
139
- expect(volumeIssueBlock).to.exist;
140
- });
141
- it('should render with volume/issue view to not render', async () => {
142
- var _a;
143
- const el = await fixture(html `<item-tile></item-tile>`);
144
- const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
145
- expect(volumeIssueBlock).to.not.exist;
146
- });
147
- });
137
+ `);
138
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
139
+ expect(volumeIssueBlock).to.exist;
140
+ });
141
+ it('should render with volume/issue view to not render', async () => {
142
+ var _a;
143
+ const el = await fixture(html `<item-tile></item-tile>`);
144
+ const volumeIssueBlock = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.volume-issue');
145
+ expect(volumeIssueBlock).to.not.exist;
146
+ });
147
+ });
148
148
  //# sourceMappingURL=item-tile.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};