@internetarchive/collection-browser 0.2.15 → 0.2.16-alpha1

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 (250) hide show
  1. package/dist/index.d.ts +9 -0
  2. package/dist/index.js.map +1 -0
  3. package/dist/src/app-root.d.ts +33 -0
  4. package/dist/src/app-root.js +312 -0
  5. package/dist/src/app-root.js.map +1 -0
  6. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -0
  7. package/dist/src/assets/img/icons/arrow-left.js +10 -0
  8. package/dist/src/assets/img/icons/arrow-left.js.map +1 -0
  9. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -0
  10. package/dist/src/assets/img/icons/arrow-right.js +10 -0
  11. package/dist/src/assets/img/icons/arrow-right.js.map +1 -0
  12. package/dist/src/assets/img/icons/chevron.d.ts +2 -0
  13. package/dist/src/assets/img/icons/chevron.js +4 -0
  14. package/dist/src/assets/img/icons/chevron.js.map +1 -0
  15. package/dist/src/assets/img/icons/empty-query.d.ts +2 -0
  16. package/dist/src/assets/img/icons/empty-query.js +5 -0
  17. package/dist/src/assets/img/icons/empty-query.js.map +1 -0
  18. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -0
  19. package/dist/src/assets/img/icons/eye-closed.js +5 -0
  20. package/dist/src/assets/img/icons/eye-closed.js.map +1 -0
  21. package/dist/src/assets/img/icons/eye.d.ts +2 -0
  22. package/dist/src/assets/img/icons/eye.js +5 -0
  23. package/dist/src/assets/img/icons/eye.js.map +1 -0
  24. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -0
  25. package/dist/src/assets/img/icons/favorite-filled.js +11 -0
  26. package/dist/src/assets/img/icons/favorite-filled.js.map +1 -0
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -0
  28. package/dist/src/assets/img/icons/login-required.js +30 -0
  29. package/dist/src/assets/img/icons/login-required.js.map +1 -0
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -0
  31. package/dist/src/assets/img/icons/mediatype/account.js +14 -0
  32. package/dist/src/assets/img/icons/mediatype/account.js.map +1 -0
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -0
  34. package/dist/src/assets/img/icons/mediatype/audio.js +14 -0
  35. package/dist/src/assets/img/icons/mediatype/audio.js.map +1 -0
  36. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -0
  37. package/dist/src/assets/img/icons/mediatype/collection.js +12 -0
  38. package/dist/src/assets/img/icons/mediatype/collection.js.map +1 -0
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -0
  40. package/dist/src/assets/img/icons/mediatype/data.js +15 -0
  41. package/dist/src/assets/img/icons/mediatype/data.js.map +1 -0
  42. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -0
  43. package/dist/src/assets/img/icons/mediatype/etree.js +14 -0
  44. package/dist/src/assets/img/icons/mediatype/etree.js.map +1 -0
  45. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -0
  46. package/dist/src/assets/img/icons/mediatype/film.js +14 -0
  47. package/dist/src/assets/img/icons/mediatype/film.js.map +1 -0
  48. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -0
  49. package/dist/src/assets/img/icons/mediatype/images.js +13 -0
  50. package/dist/src/assets/img/icons/mediatype/images.js.map +1 -0
  51. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -0
  52. package/dist/src/assets/img/icons/mediatype/radio.js +15 -0
  53. package/dist/src/assets/img/icons/mediatype/radio.js.map +1 -0
  54. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -0
  55. package/dist/src/assets/img/icons/mediatype/software.js +13 -0
  56. package/dist/src/assets/img/icons/mediatype/software.js.map +1 -0
  57. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -0
  58. package/dist/src/assets/img/icons/mediatype/texts.js +13 -0
  59. package/dist/src/assets/img/icons/mediatype/texts.js.map +1 -0
  60. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -0
  61. package/dist/src/assets/img/icons/mediatype/tv.js +14 -0
  62. package/dist/src/assets/img/icons/mediatype/tv.js.map +1 -0
  63. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -0
  64. package/dist/src/assets/img/icons/mediatype/video.js +14 -0
  65. package/dist/src/assets/img/icons/mediatype/video.js.map +1 -0
  66. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -0
  67. package/dist/src/assets/img/icons/mediatype/web.js +13 -0
  68. package/dist/src/assets/img/icons/mediatype/web.js.map +1 -0
  69. package/dist/src/assets/img/icons/null-result.d.ts +2 -0
  70. package/dist/src/assets/img/icons/null-result.js +5 -0
  71. package/dist/src/assets/img/icons/null-result.js.map +1 -0
  72. package/dist/src/assets/img/icons/restricted.d.ts +1 -0
  73. package/dist/src/assets/img/icons/restricted.js +29 -0
  74. package/dist/src/assets/img/icons/restricted.js.map +1 -0
  75. package/dist/src/assets/img/icons/reviews.d.ts +1 -0
  76. package/dist/src/assets/img/icons/reviews.js +11 -0
  77. package/dist/src/assets/img/icons/reviews.js.map +1 -0
  78. package/dist/src/assets/img/icons/upload.d.ts +1 -0
  79. package/dist/src/assets/img/icons/upload.js +12 -0
  80. package/dist/src/assets/img/icons/upload.js.map +1 -0
  81. package/dist/src/assets/img/icons/views.d.ts +1 -0
  82. package/dist/src/assets/img/icons/views.js +11 -0
  83. package/dist/src/assets/img/icons/views.js.map +1 -0
  84. package/dist/src/circular-activity-indicator.d.ts +5 -0
  85. package/dist/src/circular-activity-indicator.js +66 -0
  86. package/dist/src/circular-activity-indicator.js.map +1 -0
  87. package/dist/src/collection-browser.d.ts +216 -0
  88. package/dist/src/collection-browser.js +1249 -0
  89. package/dist/src/collection-browser.js.map +1 -0
  90. package/dist/src/collection-facets/more-facets-content.d.ts +56 -0
  91. package/dist/src/collection-facets/more-facets-content.js +374 -0
  92. package/dist/src/collection-facets/more-facets-content.js.map +1 -0
  93. package/dist/src/collection-facets/more-facets-pagination.d.ts +27 -0
  94. package/dist/src/collection-facets/more-facets-pagination.js +193 -0
  95. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -0
  96. package/dist/src/collection-facets.d.ts +80 -0
  97. package/dist/src/collection-facets.js +662 -0
  98. package/dist/src/collection-facets.js.map +1 -0
  99. package/dist/src/empty-placeholder.d.ts +11 -0
  100. package/dist/src/empty-placeholder.js +83 -0
  101. package/dist/src/empty-placeholder.js.map +1 -0
  102. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -0
  103. package/dist/src/language-code-handler/language-code-handler.js +27 -0
  104. package/dist/src/language-code-handler/language-code-handler.js.map +1 -0
  105. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -0
  106. package/dist/src/language-code-handler/language-code-mapping.js +563 -0
  107. package/dist/src/language-code-handler/language-code-mapping.js.map +1 -0
  108. package/dist/src/mediatype/mediatype-config.d.ts +3 -0
  109. package/dist/src/mediatype/mediatype-config.js +86 -0
  110. package/dist/src/mediatype/mediatype-config.js.map +1 -0
  111. package/dist/src/models.d.ts +85 -0
  112. package/dist/src/models.js +62 -0
  113. package/dist/src/models.js.map +1 -0
  114. package/dist/src/restoration-state-handler.d.ts +38 -0
  115. package/dist/src/restoration-state-handler.js +204 -0
  116. package/dist/src/restoration-state-handler.js.map +1 -0
  117. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -0
  118. package/dist/src/sort-filter-bar/alpha-bar.js +98 -0
  119. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -0
  120. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -0
  121. package/dist/src/sort-filter-bar/img/compact.js +5 -0
  122. package/dist/src/sort-filter-bar/img/compact.js.map +1 -0
  123. package/dist/src/sort-filter-bar/img/list.d.ts +1 -0
  124. package/dist/src/sort-filter-bar/img/list.js +5 -0
  125. package/dist/src/sort-filter-bar/img/list.js.map +1 -0
  126. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -0
  127. package/dist/src/sort-filter-bar/img/sort-triangle.js +5 -0
  128. package/dist/src/sort-filter-bar/img/sort-triangle.js.map +1 -0
  129. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -0
  130. package/dist/src/sort-filter-bar/img/tile.js +5 -0
  131. package/dist/src/sort-filter-bar/img/tile.js.map +1 -0
  132. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -0
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js +782 -0
  134. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -0
  135. package/dist/src/styles/item-image-styles.d.ts +8 -0
  136. package/dist/src/styles/item-image-styles.js +102 -0
  137. package/dist/src/styles/item-image-styles.js.map +1 -0
  138. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -0
  139. package/dist/src/tiles/collection-browser-loading-tile.js +32 -0
  140. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -0
  141. package/dist/src/tiles/grid/account-tile.d.ts +8 -0
  142. package/dist/src/tiles/grid/account-tile.js +126 -0
  143. package/dist/src/tiles/grid/account-tile.js.map +1 -0
  144. package/dist/src/tiles/grid/collection-tile.d.ts +7 -0
  145. package/dist/src/tiles/grid/collection-tile.js +159 -0
  146. package/dist/src/tiles/grid/collection-tile.js.map +1 -0
  147. package/dist/src/tiles/grid/item-tile.d.ts +21 -0
  148. package/dist/src/tiles/grid/item-tile.js +183 -0
  149. package/dist/src/tiles/grid/item-tile.js.map +1 -0
  150. package/dist/src/tiles/grid/tile-stats.d.ts +10 -0
  151. package/dist/src/tiles/grid/tile-stats.js +134 -0
  152. package/dist/src/tiles/grid/tile-stats.js.map +1 -0
  153. package/dist/src/tiles/image-block.d.ts +17 -0
  154. package/dist/src/tiles/image-block.js +136 -0
  155. package/dist/src/tiles/image-block.js.map +1 -0
  156. package/dist/src/tiles/item-image.d.ts +31 -0
  157. package/dist/src/tiles/item-image.js +118 -0
  158. package/dist/src/tiles/item-image.js.map +1 -0
  159. package/dist/src/tiles/list/account-label.d.ts +1 -0
  160. package/dist/src/tiles/list/account-label.js +7 -0
  161. package/dist/src/tiles/list/account-label.js.map +1 -0
  162. package/dist/src/tiles/list/date-label.d.ts +1 -0
  163. package/dist/src/tiles/list/date-label.js +13 -0
  164. package/dist/src/tiles/list/date-label.js.map +1 -0
  165. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -0
  166. package/dist/src/tiles/list/tile-list-compact-header.js +84 -0
  167. package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -0
  168. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -0
  169. package/dist/src/tiles/list/tile-list-compact.js +180 -0
  170. package/dist/src/tiles/list/tile-list-compact.js.map +1 -0
  171. package/dist/src/tiles/list/tile-list.d.ts +48 -0
  172. package/dist/src/tiles/list/tile-list.js +455 -0
  173. package/dist/src/tiles/list/tile-list.js.map +1 -0
  174. package/dist/src/tiles/mediatype-icon.d.ts +9 -0
  175. package/dist/src/tiles/mediatype-icon.js +82 -0
  176. package/dist/src/tiles/mediatype-icon.js.map +1 -0
  177. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -0
  178. package/dist/src/tiles/overlay/icon-overlay.js +43 -0
  179. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -0
  180. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -0
  181. package/dist/src/tiles/overlay/text-overlay.js +57 -0
  182. package/dist/src/tiles/overlay/text-overlay.js.map +1 -0
  183. package/dist/src/tiles/tile-dispatcher.d.ts +36 -0
  184. package/dist/src/tiles/tile-dispatcher.js +215 -0
  185. package/dist/src/tiles/tile-dispatcher.js.map +1 -0
  186. package/dist/src/utils/format-count.d.ts +7 -0
  187. package/dist/src/utils/format-count.js +76 -0
  188. package/dist/src/utils/format-count.js.map +1 -0
  189. package/dist/src/utils/format-date.d.ts +2 -0
  190. package/dist/src/utils/format-date.js +24 -0
  191. package/dist/src/utils/format-date.js.map +1 -0
  192. package/dist/test/collection-browser.test.d.ts +1 -0
  193. package/dist/test/collection-browser.test.js +82 -0
  194. package/dist/test/collection-browser.test.js.map +1 -0
  195. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -0
  196. package/dist/test/collection-facets/more-facets-content.test.js +75 -0
  197. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -0
  198. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -0
  199. package/dist/test/collection-facets/more-facets-pagination.test.js +38 -0
  200. package/dist/test/collection-facets/more-facets-pagination.test.js.map +1 -0
  201. package/dist/test/empty-placeholder.test.d.ts +1 -0
  202. package/dist/test/empty-placeholder.test.js +34 -0
  203. package/dist/test/empty-placeholder.test.js.map +1 -0
  204. package/dist/test/icon-overlay.test.d.ts +1 -0
  205. package/dist/test/icon-overlay.test.js +31 -0
  206. package/dist/test/icon-overlay.test.js.map +1 -0
  207. package/dist/test/item-image.test.d.ts +1 -0
  208. package/dist/test/item-image.test.js +73 -0
  209. package/dist/test/item-image.test.js.map +1 -0
  210. package/dist/test/mediatype-config.test.d.ts +1 -0
  211. package/dist/test/mediatype-config.test.js +17 -0
  212. package/dist/test/mediatype-config.test.js.map +1 -0
  213. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -0
  214. package/dist/test/mocks/mock-collection-name-cache.js +14 -0
  215. package/dist/test/mocks/mock-collection-name-cache.js.map +1 -0
  216. package/dist/test/mocks/mock-search-responses.d.ts +3 -0
  217. package/dist/test/mocks/mock-search-responses.js +45 -0
  218. package/dist/test/mocks/mock-search-responses.js.map +1 -0
  219. package/dist/test/mocks/mock-search-service.d.ts +8 -0
  220. package/dist/test/mocks/mock-search-service.js +16 -0
  221. package/dist/test/mocks/mock-search-service.js.map +1 -0
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -0
  223. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +122 -0
  224. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -0
  225. package/dist/test/text-overlay.test.d.ts +1 -0
  226. package/dist/test/text-overlay.test.js +48 -0
  227. package/dist/test/text-overlay.test.js.map +1 -0
  228. package/dist/test/tile-stats.test.d.ts +1 -0
  229. package/dist/test/tile-stats.test.js +42 -0
  230. package/dist/test/tile-stats.test.js.map +1 -0
  231. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -0
  232. package/dist/test/tiles/grid/item-tile.test.js +96 -0
  233. package/dist/test/tiles/grid/item-tile.test.js.map +1 -0
  234. package/dist/test/utils/format-count.test.d.ts +1 -0
  235. package/dist/test/utils/format-count.test.js +24 -0
  236. package/dist/test/utils/format-count.test.js.map +1 -0
  237. package/dist/test/utils/format-date.test.d.ts +1 -0
  238. package/dist/test/utils/format-date.test.js +18 -0
  239. package/dist/test/utils/format-date.test.js.map +1 -0
  240. package/package.json +3 -1
  241. package/src/app-root.ts +29 -2
  242. package/src/assets/img/icons/arrow-left.ts +10 -0
  243. package/src/assets/img/icons/arrow-right.ts +10 -0
  244. package/src/collection-browser.ts +6 -0
  245. package/src/collection-facets/more-facets-content.ts +393 -0
  246. package/src/collection-facets/more-facets-pagination.ts +201 -0
  247. package/src/collection-facets.ts +117 -1
  248. package/test/collection-facets/more-facets-content.test.ts +113 -0
  249. package/test/collection-facets/more-facets-pagination.test.ts +70 -0
  250. package/test/mocks/mock-search-responses.ts +13 -0
@@ -0,0 +1,48 @@
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import '../src/tiles/overlay/text-overlay';
5
+ describe('Text Overlay component', () => {
6
+ it('should render initial component', async () => {
7
+ var _a, _b;
8
+ const el = await fixture(html `<text-overlay></text-overlay>`);
9
+ const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
10
+ const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
11
+ expect(overlay).to.exist;
12
+ expect(noPreview).to.exist;
13
+ });
14
+ it('should render component if loggedIn required', async () => {
15
+ var _a, _b;
16
+ const el = await fixture(html `
17
+ <text-overlay .loggedIn=${false} .loginRequired=${true}> </text-overlay>
18
+ `);
19
+ const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
20
+ const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
21
+ expect(overlay).to.exist;
22
+ expect(noPreview).to.exist;
23
+ expect(noPreview === null || noPreview === void 0 ? void 0 : noPreview.textContent).to.equal('Log in\nto view this item');
24
+ });
25
+ it('should render component if content warning', async () => {
26
+ var _a, _b;
27
+ const el = await fixture(html `
28
+ <text-overlay .loggedIn=${false} .loginRequired=${false}> </text-overlay>
29
+ `);
30
+ const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
31
+ const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
32
+ expect(overlay).to.exist;
33
+ expect(noPreview).to.exist;
34
+ expect(noPreview === null || noPreview === void 0 ? void 0 : noPreview.textContent).to.equal('Content may be inappropriate');
35
+ });
36
+ it('should render component if content warning', async () => {
37
+ var _a, _b;
38
+ const el = await fixture(html `
39
+ <text-overlay .loggedIn=${true} .loginRequired=${true}> </text-overlay>
40
+ `);
41
+ const overlay = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.overlay');
42
+ const noPreview = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.no-preview');
43
+ expect(overlay).to.exist;
44
+ expect(noPreview).to.exist;
45
+ expect(noPreview === null || noPreview === void 0 ? void 0 : noPreview.textContent).to.equal('Content may be inappropriate');
46
+ });
47
+ });
48
+ //# sourceMappingURL=text-overlay.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-overlay.test.js","sourceRoot":"","sources":["../../test/text-overlay.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TextOverlay } from '../src/tiles/overlay/text-overlay';\n\nimport '../src/tiles/overlay/text-overlay';\n\ndescribe('Text Overlay component', () => {\n it('should render initial component', async () => {\n const el = await fixture<TextOverlay>(html`<text-overlay></text-overlay>`);\n\n const overlay = el.shadowRoot?.querySelector('.overlay');\n const noPreview = el.shadowRoot?.querySelector('.no-preview');\n\n expect(overlay).to.exist;\n expect(noPreview).to.exist;\n });\n\n it('should render component if loggedIn required', async () => {\n const el = await fixture<TextOverlay>(html`\n <text-overlay .loggedIn=${false} .loginRequired=${true}> </text-overlay>\n `);\n\n const overlay = el.shadowRoot?.querySelector('.overlay');\n const noPreview = el.shadowRoot?.querySelector('.no-preview');\n\n expect(overlay).to.exist;\n expect(noPreview).to.exist;\n expect(noPreview?.textContent).to.equal('Log in\\nto view this item');\n });\n\n it('should render component if content warning', async () => {\n const el = await fixture<TextOverlay>(html`\n <text-overlay .loggedIn=${false} .loginRequired=${false}> </text-overlay>\n `);\n\n const overlay = el.shadowRoot?.querySelector('.overlay');\n const noPreview = el.shadowRoot?.querySelector('.no-preview');\n\n expect(overlay).to.exist;\n expect(noPreview).to.exist;\n expect(noPreview?.textContent).to.equal('Content may be inappropriate');\n });\n\n it('should render component if content warning', async () => {\n const el = await fixture<TextOverlay>(html`\n <text-overlay .loggedIn=${true} .loginRequired=${true}> </text-overlay>\n `);\n\n const overlay = el.shadowRoot?.querySelector('.overlay');\n const noPreview = el.shadowRoot?.querySelector('.no-preview');\n\n expect(overlay).to.exist;\n expect(noPreview).to.exist;\n expect(noPreview?.textContent).to.equal('Content may be inappropriate');\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../src/tiles/grid/tile-stats';
@@ -0,0 +1,42 @@
1
+ /* eslint-disable import/no-duplicates */
2
+ import { expect, fixture } from '@open-wc/testing';
3
+ import { html } from 'lit';
4
+ import '../src/tiles/grid/tile-stats';
5
+ describe('Tile Stats', () => {
6
+ it('should render initial component', async () => {
7
+ var _a, _b;
8
+ const el = await fixture(html `<tile-stats></tile-stats>`);
9
+ const itemStats = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-stats');
10
+ const statsRow = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#stats-row');
11
+ const statsRowCount = statsRow === null || statsRow === void 0 ? void 0 : statsRow.childElementCount;
12
+ expect(itemStats).to.exist;
13
+ expect(statsRow).to.exist;
14
+ expect(statsRowCount).to.equal(4);
15
+ });
16
+ it('should render component with value', async () => {
17
+ var _a, _b, _c, _d, _e, _f, _g;
18
+ const el = await fixture(html `
19
+ <tile-stats
20
+ .mediatype=${'account'}
21
+ .itemCount=${1}
22
+ .favCount=${2}
23
+ .commentCount=${3}
24
+ >
25
+ </tile-stats>
26
+ `);
27
+ const statsRow = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#stats-row');
28
+ const mediatypeStat = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(0);
29
+ // get second column item in stats row
30
+ const itemStatCount = (_c = (_b = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(1)) === null || _b === void 0 ? void 0 : _b.querySelector('.status-text')) === null || _c === void 0 ? void 0 : _c.textContent;
31
+ // get third column item in stats row
32
+ const favoritesStatCount = (_e = (_d = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(2)) === null || _d === void 0 ? void 0 : _d.querySelector('.status-text')) === null || _e === void 0 ? void 0 : _e.textContent;
33
+ // get fourth column item in stats row
34
+ const reviewsStatCount = (_g = (_f = statsRow === null || statsRow === void 0 ? void 0 : statsRow.children.item(3)) === null || _f === void 0 ? void 0 : _f.querySelector('.status-text')) === null || _g === void 0 ? void 0 : _g.textContent;
35
+ expect(mediatypeStat).to.exist;
36
+ // Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing
37
+ expect(itemStatCount).to.equalSnapshot(1);
38
+ expect(favoritesStatCount).to.equalSnapshot(2);
39
+ expect(reviewsStatCount).to.equalSnapshot(3);
40
+ });
41
+ });
42
+ //# sourceMappingURL=tile-stats.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-stats.test.js","sourceRoot":"","sources":["../../test/tile-stats.test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,8BAA8B,CAAC;AAEtC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;;QAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAY,IAAI,CAAA,2BAA2B,CAAC,CAAC;QAErE,MAAM,SAAS,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,IAAI,CAAA;;uBAEa,SAAS;uBACT,CAAC;sBACF,CAAC;0BACG,CAAC;;;OAGpB,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,sCAAsC;QACtC,MAAM,aAAa,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CACrC,IAAI,CAAC,CAAC,CAAC,0CACN,aAAa,CAAC,cAAc,CAAC,0CAAE,WAAW,CAAC;QAC/C,qCAAqC;QACrC,MAAM,kBAAkB,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAC1C,IAAI,CAAC,CAAC,CAAC,0CACN,aAAa,CAAC,cAAc,CAAC,0CAAE,WAAW,CAAC;QAC/C,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CACxC,IAAI,CAAC,CAAC,CAAC,0CACN,aAAa,CAAC,cAAc,CAAC,0CAAE,WAAW,CAAC;QAE/C,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAE/B,qGAAqG;QACrG,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { TileStats } from '../src/tiles/grid/tile-stats';\n\nimport '../src/tiles/grid/tile-stats';\n\ndescribe('Tile Stats', () => {\n it('should render initial component', async () => {\n const el = await fixture<TileStats>(html`<tile-stats></tile-stats>`);\n\n const itemStats = el.shadowRoot?.querySelector('.item-stats');\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n const statsRowCount = statsRow?.childElementCount;\n\n expect(itemStats).to.exist;\n expect(statsRow).to.exist;\n expect(statsRowCount).to.equal(4);\n });\n\n it('should render component with value', async () => {\n const el = await fixture<TileStats>(\n html`\n <tile-stats\n .mediatype=${'account'}\n .itemCount=${1}\n .favCount=${2}\n .commentCount=${3}\n >\n </tile-stats>\n `\n );\n\n const statsRow = el.shadowRoot?.querySelector('#stats-row');\n\n const mediatypeStat = statsRow?.children.item(0);\n // get second column item in stats row\n const itemStatCount = statsRow?.children\n .item(1)\n ?.querySelector('.status-text')?.textContent;\n // get third column item in stats row\n const favoritesStatCount = statsRow?.children\n .item(2)\n ?.querySelector('.status-text')?.textContent;\n // get fourth column item in stats row\n const reviewsStatCount = statsRow?.children\n .item(3)\n ?.querySelector('.status-text')?.textContent;\n\n expect(mediatypeStat).to.exist;\n\n // Snapshot testing - reference: https://open-wc.org/docs/testing/semantic-dom-diff/#snapshot-testing\n expect(itemStatCount).to.equalSnapshot(1);\n expect(favoritesStatCount).to.equalSnapshot(2);\n expect(reviewsStatCount).to.equalSnapshot(3);\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ import '../../../src/tiles/grid/item-tile';
@@ -0,0 +1,96 @@
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;
8
+ const el = await fixture(html `<item-tile></item-tile>`);
9
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
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(itemInfo).to.exist;
13
+ expect(imageBlock).to.exist;
14
+ expect(itemTitle).to.exist;
15
+ });
16
+ it('should render with created-by element', async () => {
17
+ var _a, _b, _c;
18
+ const el = await fixture(html `<item-tile></item-tile>`);
19
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
20
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
21
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
22
+ expect(itemInfo).to.exist;
23
+ expect(createdBy).to.exist;
24
+ expect(dateSortedBy).to.not.exist;
25
+ });
26
+ it('should not render with created-by but date element', async () => {
27
+ var _a, _b;
28
+ const el = await fixture(html `<item-tile></item-tile>`);
29
+ el.sortParam = {
30
+ field: 'date',
31
+ direction: 'desc',
32
+ };
33
+ await el.updateComplete;
34
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
35
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
36
+ expect(createdBy).to.not.exist;
37
+ expect(dateSortedBy).to.exist;
38
+ });
39
+ it('should not render with created-by but reviewdate element', async () => {
40
+ var _a, _b;
41
+ const el = await fixture(html `<item-tile></item-tile>`);
42
+ el.sortParam = {
43
+ field: 'reviewdate',
44
+ direction: 'desc',
45
+ };
46
+ await el.updateComplete;
47
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
48
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
49
+ expect(createdBy).to.not.exist;
50
+ expect(dateSortedBy).to.exist;
51
+ });
52
+ it('should not render with created-by but publicdate element', async () => {
53
+ var _a, _b;
54
+ const el = await fixture(html `<item-tile></item-tile>`);
55
+ el.sortParam = {
56
+ field: 'publicdate',
57
+ direction: 'desc',
58
+ };
59
+ await el.updateComplete;
60
+ const createdBy = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.created-by');
61
+ const dateSortedBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.date-sorted-by');
62
+ expect(createdBy).to.not.exist;
63
+ expect(dateSortedBy).to.exist;
64
+ });
65
+ it('should render with created-by when sorting not related to date', async () => {
66
+ var _a, _b, _c;
67
+ const el = await fixture(html `<item-tile></item-tile>`);
68
+ el.sortParam = {
69
+ field: 'addeddate',
70
+ direction: 'asc',
71
+ };
72
+ await el.updateComplete;
73
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
74
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
75
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
76
+ expect(itemInfo).to.exist;
77
+ expect(createdBy).to.not.exist;
78
+ expect(dateSortedBy).to.exist;
79
+ });
80
+ it('should render with created-by when sort field id not like date', async () => {
81
+ var _a, _b, _c;
82
+ const el = await fixture(html `<item-tile></item-tile>`);
83
+ el.sortParam = {
84
+ field: 'week',
85
+ direction: 'asc',
86
+ };
87
+ await el.updateComplete;
88
+ const itemInfo = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-info');
89
+ const createdBy = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.created-by');
90
+ const dateSortedBy = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.date-sorted-by');
91
+ expect(itemInfo).to.exist;
92
+ expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort
93
+ expect(createdBy).to.exist;
94
+ });
95
+ });
96
+ //# sourceMappingURL=item-tile.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-tile.test.js","sourceRoot":"","sources":["../../../../test/tiles/grid/item-tile.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-duplicates */\nimport { expect, fixture } from '@open-wc/testing';\nimport { html } from 'lit';\nimport type { ItemTile } from '../../../src/tiles/grid/item-tile';\n\nimport '../../../src/tiles/grid/item-tile';\n\ndescribe('Item Tile', () => {\n it('should render initial component', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const itemTitle = el.shadowRoot?.querySelector('#title');\n const imageBlock = el.shadowRoot?.querySelector('image-block');\n\n expect(itemInfo).to.exist;\n expect(imageBlock).to.exist;\n expect(itemTitle).to.exist;\n });\n\n it('should render with created-by element', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(itemInfo).to.exist;\n expect(createdBy).to.exist;\n expect(dateSortedBy).to.not.exist;\n });\n\n it('should not render with created-by but date element', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n el.sortParam = {\n field: 'date',\n direction: 'desc',\n };\n await el.updateComplete;\n\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(createdBy).to.not.exist;\n expect(dateSortedBy).to.exist;\n });\n\n it('should not render with created-by but reviewdate element', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n el.sortParam = {\n field: 'reviewdate',\n direction: 'desc',\n };\n await el.updateComplete;\n\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(createdBy).to.not.exist;\n expect(dateSortedBy).to.exist;\n });\n\n it('should not render with created-by but publicdate element', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n el.sortParam = {\n field: 'publicdate',\n direction: 'desc',\n };\n await el.updateComplete;\n\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(createdBy).to.not.exist;\n expect(dateSortedBy).to.exist;\n });\n\n it('should render with created-by when sorting not related to date', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n el.sortParam = {\n field: 'addeddate',\n direction: 'asc',\n };\n await el.updateComplete;\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(itemInfo).to.exist;\n expect(createdBy).to.not.exist;\n expect(dateSortedBy).to.exist;\n });\n\n it('should render with created-by when sort field id not like date', async () => {\n const el = await fixture<ItemTile>(html`<item-tile></item-tile>`);\n\n el.sortParam = {\n field: 'week',\n direction: 'asc',\n };\n await el.updateComplete;\n\n const itemInfo = el.shadowRoot?.querySelector('.item-info');\n const createdBy = el.shadowRoot?.querySelector('.created-by');\n const dateSortedBy = el.shadowRoot?.querySelector('.date-sorted-by');\n\n expect(itemInfo).to.exist;\n expect(dateSortedBy).to.not.exist; // it should be exist because this is not related to date sort\n expect(createdBy).to.exist;\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { expect } from '@open-wc/testing';
2
+ import { formatCount } from '../../src/utils/format-count';
3
+ const testCount = 805342;
4
+ describe('formatCount', () => {
5
+ it('returns blank when undefined number', () => {
6
+ expect(formatCount(undefined)).to.equal('');
7
+ });
8
+ it('returns blank when negative number', () => {
9
+ expect(formatCount(testCount * -1)).to.equal('');
10
+ });
11
+ it('returns long number when no NumberFormat', () => {
12
+ expect(formatCount(testCount)).to.equal('805,342');
13
+ });
14
+ it('returns short number when short NumberFormat', () => {
15
+ expect(formatCount(testCount, 'short')).to.equal('805K');
16
+ });
17
+ it('returns decimal when value of significant digits < 10', () => {
18
+ expect(formatCount(testCount * 10, 'short', 'long')).to.equal('8.1 million');
19
+ });
20
+ it('returns locale formatted number', () => {
21
+ expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');
22
+ });
23
+ });
24
+ //# sourceMappingURL=format-count.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-count.test.js","sourceRoot":"","sources":["../../../test/utils/format-count.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC3D,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatCount } from '../../src/utils/format-count';\n\nconst testCount = 805342;\n\ndescribe('formatCount', () => {\n it('returns blank when undefined number', () => {\n expect(formatCount(undefined)).to.equal('');\n });\n\n it('returns blank when negative number', () => {\n expect(formatCount(testCount * -1)).to.equal('');\n });\n\n it('returns long number when no NumberFormat', () => {\n expect(formatCount(testCount)).to.equal('805,342');\n });\n\n it('returns short number when short NumberFormat', () => {\n expect(formatCount(testCount, 'short')).to.equal('805K');\n });\n\n it('returns decimal when value of significant digits < 10', () => {\n expect(formatCount(testCount * 10, 'short', 'long')).to.equal(\n '8.1 million'\n );\n });\n\n it('returns locale formatted number', () => {\n expect(formatCount(testCount, 'long', 'long', 'de-DE')).to.equal('805.342');\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { expect } from '@open-wc/testing';
2
+ import { formatDate } from '../../src/utils/format-date';
3
+ const testDate = new Date(Date.UTC(2020, 11, 9));
4
+ describe('formatDate', () => {
5
+ it('returns blank when undefined date', () => {
6
+ expect(formatDate(undefined)).to.equal('');
7
+ });
8
+ it('returns short date when no DateFormat', () => {
9
+ expect(formatDate(testDate)).to.equal('Dec 2020');
10
+ });
11
+ it('returns long date when long DateFormat', () => {
12
+ expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');
13
+ });
14
+ it('returns locale formatted date', () => {
15
+ expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');
16
+ });
17
+ });
18
+ //# sourceMappingURL=format-date.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-date.test.js","sourceRoot":"","sources":["../../../test/utils/format-date.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\nimport { formatDate } from '../../src/utils/format-date';\n\nconst testDate = new Date(Date.UTC(2020, 11, 9));\n\ndescribe('formatDate', () => {\n it('returns blank when undefined date', () => {\n expect(formatDate(undefined)).to.equal('');\n });\n\n it('returns short date when no DateFormat', () => {\n expect(formatDate(testDate)).to.equal('Dec 2020');\n });\n\n it('returns long date when long DateFormat', () => {\n expect(formatDate(testDate, 'long')).to.equal('Dec 09, 2020');\n });\n\n it('returns locale formatted date', () => {\n expect(formatDate(testDate, 'long', 'de-DE')).to.equal('09. Dez. 2020');\n });\n});\n"]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "The Internet Archive Collection Browser.",
4
4
  "license": "AGPL-3.0-only",
5
5
  "author": "Internet Archive",
6
- "version": "0.2.15",
6
+ "version": "0.2.16-alpha1",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
9
9
  "scripts": {
@@ -26,8 +26,10 @@
26
26
  "@internetarchive/feature-feedback": "^0.1.4",
27
27
  "@internetarchive/field-parsers": "^0.1.3",
28
28
  "@internetarchive/histogram-date-range": "^0.1.7",
29
+ "@internetarchive/ia-activity-indicator": "^0.0.3",
29
30
  "@internetarchive/infinite-scroller": "^0.1.3",
30
31
  "@internetarchive/local-cache": "^0.2.1",
32
+ "@internetarchive/modal-manager": "^0.2.6",
31
33
  "@internetarchive/search-service": "^0.3.4",
32
34
  "@internetarchive/shared-resize-observer": "^0.2.0",
33
35
  "@lit/localize": "^0.11.2",
package/src/app-root.ts CHANGED
@@ -4,6 +4,7 @@ import { html, css, LitElement, PropertyValues } from 'lit';
4
4
  import { customElement, query, state } from 'lit/decorators.js';
5
5
  import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
6
6
  import { CollectionNameCache } from '@internetarchive/collection-name-cache';
7
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
7
8
  import type { CollectionBrowser } from '../src/collection-browser';
8
9
  import '../src/collection-browser';
9
10
 
@@ -40,6 +41,8 @@ export class AppRoot extends LitElement {
40
41
 
41
42
  @query('collection-browser') private collectionBrowser!: CollectionBrowser;
42
43
 
44
+ @query('modal-manager') private modalManager!: ModalManagerInterface;
45
+
43
46
  private searchPressed(e: Event) {
44
47
  e.preventDefault();
45
48
  this.searchQuery = this.baseQueryField.value;
@@ -171,11 +174,13 @@ export class AppRoot extends LitElement {
171
174
  .collectionNameCache=${this.collectionNameCache}
172
175
  .showHistogramDatePicker=${true}
173
176
  .loggedIn=${this.loggedIn}
177
+ .modalManager=${this.modalManager}
174
178
  @visiblePageChanged=${this.visiblePageChanged}
175
179
  @baseQueryChanged=${this.baseQueryChanged}
176
180
  >
177
181
  </collection-browser>
178
182
  </div>
183
+ <modal-manager></modal-manager>
179
184
  `;
180
185
  }
181
186
 
@@ -255,6 +260,28 @@ export class AppRoot extends LitElement {
255
260
  static styles = css`
256
261
  :host {
257
262
  display: block;
263
+ --primaryButtonBGColor: #194880;
264
+ }
265
+
266
+ /* add the following styles to ensure proper modal visibility */
267
+ body.modal-manager-open {
268
+ overflow: hidden;
269
+ }
270
+ modal-manager {
271
+ display: none;
272
+ }
273
+ modal-manager[mode='open'] {
274
+ display: block;
275
+ }
276
+ modal-manager.more-search-facets {
277
+ --modalWidth: 85rem;
278
+ --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);
279
+ --modalTitleLineHeight: 4rem;
280
+ --modalTitleFontSize: 1.8rem;
281
+ --modalCornerRadius: 0;
282
+ --modalBottomPadding: 0;
283
+ --modalScrollOffset: 0;
284
+ --modalCornerRadius: 0.5rem;
258
285
  }
259
286
 
260
287
  input,
@@ -263,7 +290,7 @@ export class AppRoot extends LitElement {
263
290
  }
264
291
 
265
292
  collection-browser {
266
- margin-top: 30rem;
293
+ margin-top: 20rem;
267
294
  }
268
295
 
269
296
  #base-query-field {
@@ -274,7 +301,7 @@ export class AppRoot extends LitElement {
274
301
  position: fixed;
275
302
  top: 0;
276
303
  left: 0;
277
- z-index: 10;
304
+ z-index: 1;
278
305
  -webkit-backdrop-filter: blur(10px);
279
306
  backdrop-filter: blur(10px);
280
307
  padding: 0.5rem 1rem;
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export default svg`
4
+ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ d="m20.1116715 50.0035012-.1116715-.1085359 43.1159942-46.61088155c2.401537-2.18938917 4.6902018-3.28408375 6.8659943-3.28408375s4.1642651.63837733 5.9654178 1.91513199c1.8011528 1.27675467 3.1520173 2.97248092 4.0525937 5.08717877l-39.4020173 42.99768924 39.4020173 42.9976892c-.9005764 2.1146979-2.2514409 3.8104241-4.0525937 5.0871788-1.8011527 1.2767547-3.7896253 1.915132-5.9654178 1.915132-2.1013449 0-4.3900096-1.0573489-6.8659943-3.1720468l-43.1159942-46.7194174z"
7
+ />
8
+ <title>Go left icon</title>
9
+ </svg>
10
+ `;
@@ -0,0 +1,10 @@
1
+ import { svg } from 'lit';
2
+
3
+ export default svg`
4
+ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
5
+ <path
6
+ d="m79.8883285 50.0035012.1116715-.1085359-43.1159942-46.61088155c-2.401537-2.18938917-4.6902018-3.28408375-6.8659943-3.28408375s-4.1642651.63837733-5.9654178 1.91513199c-1.8011528 1.27675467-3.1520173 2.97248092-4.0525937 5.08717877l39.4020173 42.99768924-39.4020173 42.9976892c.9005764 2.1146979 2.2514409 3.8104241 4.0525937 5.0871788 1.8011527 1.2767547 3.7896253 1.915132 5.9654178 1.915132 2.1013449 0 4.3900096-1.0573489 6.8659943-3.1720468l43.1159942-46.7194174z"
7
+ />
8
+ <title>Go right icon</title>
9
+ </svg>
10
+ `;
@@ -27,6 +27,7 @@ import type {
27
27
  } from '@internetarchive/shared-resize-observer';
28
28
  import '@internetarchive/infinite-scroller';
29
29
  import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
30
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
30
31
  import './tiles/tile-dispatcher';
31
32
  import './tiles/collection-browser-loading-tile';
32
33
  import './sort-filter-bar/sort-filter-bar';
@@ -115,6 +116,8 @@ export class CollectionBrowser
115
116
 
116
117
  @property({ type: Boolean }) loggedIn = false;
117
118
 
119
+ @property({ type: Object }) modalManager?: ModalManagerInterface = undefined;
120
+
118
121
  /**
119
122
  * If item management UI active
120
123
  */
@@ -425,6 +428,7 @@ export class CollectionBrowser
425
428
  <collection-facets
426
429
  @facetsChanged=${this.facetsChanged}
427
430
  @histogramDateRangeUpdated=${this.histogramDateRangeUpdated}
431
+ .searchService=${this.searchService}
428
432
  .aggregations=${this.aggregations}
429
433
  .fullYearsHistogramAggregation=${this.fullYearsHistogramAggregation}
430
434
  .minSelectedDate=${this.minSelectedDate}
@@ -433,6 +437,8 @@ export class CollectionBrowser
433
437
  .collectionNameCache=${this.collectionNameCache}
434
438
  .languageCodeHandler=${this.languageCodeHandler}
435
439
  .showHistogramDatePicker=${this.showHistogramDatePicker}
440
+ .fullQuery=${this.fullQuery}
441
+ .modalManager=${this.modalManager}
436
442
  ?collapsableFacets=${this.mobileView}
437
443
  ?facetsLoading=${this.facetDataLoading}
438
444
  ?fullYearAggregationLoading=${this.fullYearAggregationLoading}