@internetarchive/collection-browser 1.8.0 → 1.9.0-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 (269) 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 +54 -54
  12. package/dist/src/app-root.js +293 -293
  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/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +469 -469
  72. package/dist/src/collection-browser.js +1666 -1653
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  75. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  76. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  77. package/dist/src/collection-facets/facets-template.js +152 -152
  78. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  79. package/dist/src/collection-facets/more-facets-content.js +359 -359
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  82. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  83. package/dist/src/collection-facets/toggle-switch.js +94 -94
  84. package/dist/src/collection-facets.d.ts +99 -99
  85. package/dist/src/collection-facets.js +471 -471
  86. package/dist/src/empty-placeholder.d.ts +21 -21
  87. package/dist/src/empty-placeholder.js +69 -69
  88. package/dist/src/expanded-date-picker.d.ts +43 -43
  89. package/dist/src/expanded-date-picker.js +109 -109
  90. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  91. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  92. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  93. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  94. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  95. package/dist/src/mediatype/mediatype-config.js +85 -85
  96. package/dist/src/models.d.ts +162 -149
  97. package/dist/src/models.js +256 -195
  98. package/dist/src/models.js.map +1 -1
  99. package/dist/src/restoration-state-handler.d.ts +70 -63
  100. package/dist/src/restoration-state-handler.js +355 -326
  101. package/dist/src/restoration-state-handler.js.map +1 -1
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  103. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  104. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  105. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  106. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  108. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/list.js +2 -2
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  112. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  118. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  120. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +201 -199
  121. package/dist/src/sort-filter-bar/sort-filter-bar.js +622 -617
  122. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  123. package/dist/src/styles/item-image-styles.d.ts +8 -8
  124. package/dist/src/styles/item-image-styles.js +9 -9
  125. package/dist/src/styles/sr-only.d.ts +1 -1
  126. package/dist/src/styles/sr-only.js +2 -2
  127. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  128. package/dist/src/tiles/base-tile-component.js +59 -59
  129. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  130. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  131. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  132. package/dist/src/tiles/grid/account-tile.js +72 -72
  133. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  134. package/dist/src/tiles/grid/collection-tile.js +80 -80
  135. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  136. package/dist/src/tiles/grid/item-tile.js +134 -134
  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 +8 -8
  139. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  140. package/dist/src/tiles/grid/tile-stats.js +48 -48
  141. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  142. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  143. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  144. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  145. package/dist/src/tiles/image-block.d.ts +17 -17
  146. package/dist/src/tiles/image-block.js +72 -72
  147. package/dist/src/tiles/item-image.d.ts +35 -35
  148. package/dist/src/tiles/item-image.js +117 -117
  149. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  150. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  151. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  152. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  153. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  154. package/dist/src/tiles/list/tile-list.js +298 -298
  155. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  156. package/dist/src/tiles/mediatype-icon.js +47 -47
  157. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  158. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  159. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  160. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  161. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  162. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  163. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  164. package/dist/src/tiles/text-snippet-block.js +73 -73
  165. package/dist/src/tiles/tile-dispatcher.d.ts +50 -50
  166. package/dist/src/tiles/tile-dispatcher.js +185 -185
  167. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  168. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  169. package/dist/src/utils/analytics-events.d.ts +24 -24
  170. package/dist/src/utils/analytics-events.js +26 -26
  171. package/dist/src/utils/array-equals.d.ts +4 -4
  172. package/dist/src/utils/array-equals.js +10 -10
  173. package/dist/src/utils/format-count.d.ts +7 -7
  174. package/dist/src/utils/format-count.js +76 -76
  175. package/dist/src/utils/format-date.d.ts +2 -2
  176. package/dist/src/utils/format-date.js +25 -25
  177. package/dist/src/utils/format-unit-size.d.ts +2 -2
  178. package/dist/src/utils/format-unit-size.js +33 -33
  179. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  180. package/dist/src/utils/local-date-from-utc.js +15 -15
  181. package/dist/src/utils/sha1.d.ts +2 -2
  182. package/dist/src/utils/sha1.js +8 -8
  183. package/dist/test/collection-browser.test.d.ts +1 -1
  184. package/dist/test/collection-browser.test.js +808 -808
  185. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  186. package/dist/test/collection-facets/facets-template.test.js +134 -134
  187. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  188. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  189. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  190. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  191. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  192. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  193. package/dist/test/collection-facets.test.d.ts +2 -2
  194. package/dist/test/collection-facets.test.js +645 -645
  195. package/dist/test/empty-placeholder.test.d.ts +1 -1
  196. package/dist/test/empty-placeholder.test.js +56 -56
  197. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  198. package/dist/test/expanded-date-picker.test.js +95 -95
  199. package/dist/test/icon-overlay.test.d.ts +1 -1
  200. package/dist/test/icon-overlay.test.js +24 -24
  201. package/dist/test/image-block.test.d.ts +1 -1
  202. package/dist/test/image-block.test.js +48 -48
  203. package/dist/test/item-image.test.d.ts +1 -1
  204. package/dist/test/item-image.test.js +84 -84
  205. package/dist/test/mediatype-config.test.d.ts +1 -1
  206. package/dist/test/mediatype-config.test.js +16 -16
  207. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  208. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  209. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  210. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  211. package/dist/test/mocks/mock-search-responses.d.ts +19 -19
  212. package/dist/test/mocks/mock-search-responses.js +623 -623
  213. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  214. package/dist/test/mocks/mock-search-service.js +48 -48
  215. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  216. package/dist/test/restoration-state-handler.test.js +270 -218
  217. package/dist/test/restoration-state-handler.test.js.map +1 -1
  218. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  219. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  220. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  221. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  223. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  224. package/dist/test/text-overlay.test.d.ts +1 -1
  225. package/dist/test/text-overlay.test.js +48 -48
  226. package/dist/test/text-snippet-block.test.d.ts +1 -1
  227. package/dist/test/text-snippet-block.test.js +57 -57
  228. package/dist/test/tile-stats.test.d.ts +1 -1
  229. package/dist/test/tile-stats.test.js +33 -33
  230. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  231. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  232. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  233. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  234. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  235. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  236. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  237. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  238. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  239. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  240. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  241. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  242. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  243. package/dist/test/tiles/list/tile-list.test.js +242 -242
  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/tiles/tile-display-value-provider.test.d.ts +1 -1
  247. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  248. package/dist/test/utils/array-equals.test.d.ts +1 -1
  249. package/dist/test/utils/array-equals.test.js +26 -26
  250. package/dist/test/utils/format-count.test.d.ts +1 -1
  251. package/dist/test/utils/format-count.test.js +23 -23
  252. package/dist/test/utils/format-date.test.d.ts +1 -1
  253. package/dist/test/utils/format-date.test.js +17 -17
  254. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  255. package/dist/test/utils/format-unit-size.test.js +17 -17
  256. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  257. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  258. package/local.archive.org.cert +86 -86
  259. package/local.archive.org.key +27 -27
  260. package/package.json +1 -1
  261. package/renovate.json +6 -6
  262. package/src/collection-browser.ts +24 -8
  263. package/src/models.ts +193 -109
  264. package/src/restoration-state-handler.ts +66 -40
  265. package/src/sort-filter-bar/sort-filter-bar.ts +34 -27
  266. package/test/restoration-state-handler.test.ts +68 -1
  267. package/tsconfig.json +21 -21
  268. package/web-dev-server.config.mjs +30 -30
  269. package/web-test-runner.config.mjs +41 -41
@@ -1,80 +1,80 @@
1
- import { aTimeout, expect, fixture } from '@open-wc/testing';
2
- import { html } from 'lit';
3
- import '../../src/tiles/tile-dispatcher';
4
- import { TileHoverPane } from '../../src/tiles/hover/tile-hover-pane';
5
- describe('Tile Dispatcher', () => {
6
- it('should render item-tile for grid mode by default', async () => {
7
- var _a;
1
+ import { aTimeout, expect, fixture } from '@open-wc/testing';
2
+ import { html } from 'lit';
3
+ import '../../src/tiles/tile-dispatcher';
4
+ import { TileHoverPane } from '../../src/tiles/hover/tile-hover-pane';
5
+ describe('Tile Dispatcher', () => {
6
+ it('should render item-tile for grid mode by default', async () => {
7
+ var _a;
8
8
  const el = await fixture(html `
9
9
  <tile-dispatcher
10
10
  .tileDisplayMode=${'grid'}
11
11
  .model=${{ mediatype: 'texts' }}
12
12
  >
13
13
  </tile-dispatcher>
14
- `);
15
- const itemTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('item-tile');
16
- expect(itemTile).to.exist;
17
- });
18
- it('should render collection-tile for grid mode and collection mediatype', async () => {
19
- var _a;
14
+ `);
15
+ const itemTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('item-tile');
16
+ expect(itemTile).to.exist;
17
+ });
18
+ it('should render collection-tile for grid mode and collection mediatype', async () => {
19
+ var _a;
20
20
  const el = await fixture(html `
21
21
  <tile-dispatcher
22
22
  .tileDisplayMode=${'grid'}
23
23
  .model=${{ mediatype: 'collection' }}
24
24
  >
25
25
  </tile-dispatcher>
26
- `);
27
- const collectionTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('collection-tile');
28
- expect(collectionTile).to.exist;
29
- });
30
- it('should render account-tile for grid mode and account mediatype', async () => {
31
- var _a;
26
+ `);
27
+ const collectionTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('collection-tile');
28
+ expect(collectionTile).to.exist;
29
+ });
30
+ it('should render account-tile for grid mode and account mediatype', async () => {
31
+ var _a;
32
32
  const el = await fixture(html `
33
33
  <tile-dispatcher
34
34
  .tileDisplayMode=${'grid'}
35
35
  .model=${{ mediatype: 'account' }}
36
36
  >
37
37
  </tile-dispatcher>
38
- `);
39
- const accountTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('account-tile');
40
- expect(accountTile).to.exist;
41
- });
42
- it('should render tile-list for extended list mode', async () => {
43
- var _a;
38
+ `);
39
+ const accountTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('account-tile');
40
+ expect(accountTile).to.exist;
41
+ });
42
+ it('should render tile-list for extended list mode', async () => {
43
+ var _a;
44
44
  const el = await fixture(html `
45
45
  <tile-dispatcher .tileDisplayMode=${'list-detail'} .model=${{}}>
46
46
  </tile-dispatcher>
47
- `);
48
- const listTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-list');
49
- expect(listTile).to.exist;
50
- });
51
- it('should render tile-list-compact for compact list mode', async () => {
52
- var _a;
47
+ `);
48
+ const listTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-list');
49
+ expect(listTile).to.exist;
50
+ });
51
+ it('should render tile-list-compact for compact list mode', async () => {
52
+ var _a;
53
53
  const el = await fixture(html `
54
54
  <tile-dispatcher .tileDisplayMode=${'list-compact'} .model=${{}}>
55
55
  </tile-dispatcher>
56
- `);
57
- const compactListTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-list-compact');
58
- expect(compactListTile).to.exist;
59
- });
60
- it('should return hover pane props', async () => {
56
+ `);
57
+ const compactListTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('tile-list-compact');
58
+ expect(compactListTile).to.exist;
59
+ });
60
+ it('should return hover pane props', async () => {
61
61
  const el = await fixture(html `
62
62
  <tile-dispatcher .model=${{ identifier: 'foo' }}> </tile-dispatcher>
63
- `);
64
- expect(el.getHoverPaneProps()).to.satisfy((props) => { var _a; return ((_a = props === null || props === void 0 ? void 0 : props.model) === null || _a === void 0 ? void 0 : _a.identifier) === 'foo'; });
65
- });
66
- describe('Hover pane info button behavior', () => {
67
- let oldMatchMedia;
68
- before(() => {
69
- oldMatchMedia = window.matchMedia;
70
- // Pretend that there is no hover-capable input device
71
- window.matchMedia = () => ({ matches: false });
72
- });
73
- after(() => {
74
- window.matchMedia = oldMatchMedia;
75
- });
76
- it('should toggle hover pane when tile info button is pressed', async () => {
77
- var _a, _b;
63
+ `);
64
+ expect(el.getHoverPaneProps()).to.satisfy((props) => { var _a; return ((_a = props === null || props === void 0 ? void 0 : props.model) === null || _a === void 0 ? void 0 : _a.identifier) === 'foo'; });
65
+ });
66
+ describe('Hover pane info button behavior', () => {
67
+ let oldMatchMedia;
68
+ before(() => {
69
+ oldMatchMedia = window.matchMedia;
70
+ // Pretend that there is no hover-capable input device
71
+ window.matchMedia = () => ({ matches: false });
72
+ });
73
+ after(() => {
74
+ window.matchMedia = oldMatchMedia;
75
+ });
76
+ it('should toggle hover pane when tile info button is pressed', async () => {
77
+ var _a, _b;
78
78
  const el = await fixture(html `
79
79
  <tile-dispatcher
80
80
  .tileDisplayMode=${'grid'}
@@ -82,20 +82,20 @@ describe('Tile Dispatcher', () => {
82
82
  .enableHoverPane=${true}
83
83
  >
84
84
  </tile-dispatcher>
85
- `);
86
- const itemTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('item-tile');
87
- expect(itemTile).to.exist;
88
- const infoButton = (_b = itemTile.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.info-button');
89
- expect(infoButton).to.exist;
90
- infoButton.click();
91
- await aTimeout(500);
92
- await el.updateComplete;
93
- expect(el.getHoverPane()).to.be.instanceOf(TileHoverPane);
94
- infoButton.click();
95
- await aTimeout(500);
96
- await el.updateComplete;
97
- expect(el.getHoverPane()).not.to.exist;
98
- });
99
- });
100
- });
85
+ `);
86
+ const itemTile = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('item-tile');
87
+ expect(itemTile).to.exist;
88
+ const infoButton = (_b = itemTile.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.info-button');
89
+ expect(infoButton).to.exist;
90
+ infoButton.click();
91
+ await aTimeout(500);
92
+ await el.updateComplete;
93
+ expect(el.getHoverPane()).to.be.instanceOf(TileHoverPane);
94
+ infoButton.click();
95
+ await aTimeout(500);
96
+ await el.updateComplete;
97
+ expect(el.getHoverPane()).not.to.exist;
98
+ });
99
+ });
100
+ });
101
101
  //# sourceMappingURL=tile-dispatcher.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,142 +1,142 @@
1
- import { expect } from '@open-wc/testing';
2
- import { nothing } from 'lit';
3
- import { TileDisplayValueProvider } from '../../src/tiles/tile-display-value-provider';
4
- describe('Tile Display Value Provider', () => {
5
- describe('basic construction', () => {
6
- it('constructs w/ no options', () => {
7
- const provider = new TileDisplayValueProvider();
8
- expect(provider).to.exist;
9
- });
10
- it('constructs w/ options', () => {
11
- const provider = new TileDisplayValueProvider({
12
- model: {},
13
- baseNavigationUrl: 'foo',
14
- collectionPagePath: 'bar',
15
- sortParam: { field: 'baz', direction: 'asc' },
16
- creatorFilter: 'X',
17
- });
18
- expect(provider).to.exist;
19
- });
20
- });
21
- describe('firstCreatorMatchingFilter', () => {
22
- it('provides undefined creator when no model set', () => {
23
- const provider = new TileDisplayValueProvider();
24
- expect(provider.firstCreatorMatchingFilter).to.be.undefined;
25
- });
26
- it('provides creator from model with no filter', () => {
27
- const provider = new TileDisplayValueProvider({
28
- model: { creator: 'foo', creators: ['foo', 'bar', 'baz'] },
29
- });
30
- expect(provider.firstCreatorMatchingFilter).to.equal('foo');
31
- });
32
- it('provides first creator matching filter when present', () => {
33
- const provider = new TileDisplayValueProvider({
34
- model: { creator: 'foo', creators: ['foo', 'bar', 'baz'] },
35
- creatorFilter: 'B',
36
- });
37
- expect(provider.firstCreatorMatchingFilter).to.equal('bar');
38
- });
39
- it('matches letters with diacritics', () => {
40
- const provider = new TileDisplayValueProvider({
41
- model: {
42
- creator: 'foo',
43
- creators: ['foo', 'émile', 'ernest'],
44
- },
45
- creatorFilter: 'E',
46
- });
47
- expect(provider.firstCreatorMatchingFilter).to.equal('émile');
48
- });
49
- it('ignores non-alphabetical characters when matching', () => {
50
- const provider = new TileDisplayValueProvider({
51
- model: {
52
- creator: 'foo',
53
- creators: ['foo', '"(bar)"', 'baz'],
54
- },
55
- creatorFilter: 'B',
56
- });
57
- expect(provider.firstCreatorMatchingFilter).to.equal('"(bar)"');
58
- });
59
- });
60
- describe('accountLabel', () => {
61
- it('provides empty account label when no model', () => {
62
- const provider = new TileDisplayValueProvider();
63
- expect(provider.accountLabel).to.equal('');
64
- });
65
- it('provides empty account label when no date added', () => {
66
- const provider = new TileDisplayValueProvider({ model: {} });
67
- expect(provider.accountLabel).to.equal('');
68
- });
69
- it('provides Archivist label from date added', () => {
70
- const provider = new TileDisplayValueProvider({
71
- model: { dateAdded: new Date(2010, 1, 2) },
72
- });
73
- expect(provider.accountLabel).to.equal('Archivist since 2010');
74
- });
75
- });
76
- describe('dateLabel', () => {
77
- it('provides empty date label when no sort param', () => {
78
- const provider = new TileDisplayValueProvider();
79
- expect(provider.dateLabel).to.equal('');
80
- });
81
- it('provides empty date label when sorting by non-date', () => {
82
- const provider = new TileDisplayValueProvider({
83
- sortParam: { field: 'downloads', direction: 'desc' },
84
- });
85
- expect(provider.dateLabel).to.equal('');
86
- });
87
- it('provides correct date label for publicdate', () => {
88
- const provider = new TileDisplayValueProvider({
89
- sortParam: { field: 'publicdate', direction: 'asc' },
90
- });
91
- expect(provider.dateLabel).to.equal('Archived');
92
- });
93
- it('provides correct date label for reviewdate', () => {
94
- const provider = new TileDisplayValueProvider({
95
- sortParam: { field: 'reviewdate', direction: 'asc' },
96
- });
97
- expect(provider.dateLabel).to.equal('Reviewed');
98
- });
99
- it('provides correct date label for addeddate', () => {
100
- const provider = new TileDisplayValueProvider({
101
- sortParam: { field: 'addeddate', direction: 'asc' },
102
- });
103
- expect(provider.dateLabel).to.equal('Added');
104
- });
105
- it('provides correct date label for published date', () => {
106
- const provider = new TileDisplayValueProvider({
107
- sortParam: { field: 'date', direction: 'asc' },
108
- });
109
- expect(provider.dateLabel).to.equal('Published');
110
- });
111
- });
112
- describe('itemPageUrl', () => {
113
- it('provides nothing when no base url set', () => {
114
- const provider = new TileDisplayValueProvider();
115
- expect(provider.itemPageUrl('foo')).to.equal(nothing);
116
- });
117
- it('provides nothing when identifier is empty', () => {
118
- const provider = new TileDisplayValueProvider({
119
- baseNavigationUrl: 'foo',
120
- });
121
- expect(provider.itemPageUrl('')).to.equal(nothing);
122
- });
123
- it('builds correct url from base and identifier', () => {
124
- const provider = new TileDisplayValueProvider({
125
- baseNavigationUrl: 'base',
126
- });
127
- expect(provider.itemPageUrl('foo')).to.equal('base/details/foo');
128
- });
129
- it('allows base url to be empty', () => {
130
- const provider = new TileDisplayValueProvider({ baseNavigationUrl: '' });
131
- expect(provider.itemPageUrl('foo')).to.equal('/details/foo');
132
- });
133
- it('uses provided collection base path for collections', () => {
134
- const provider = new TileDisplayValueProvider({
135
- baseNavigationUrl: 'base',
136
- collectionPagePath: '/collection/',
137
- });
138
- expect(provider.itemPageUrl('foo', true)).to.equal('base/collection/foo');
139
- });
140
- });
141
- });
1
+ import { expect } from '@open-wc/testing';
2
+ import { nothing } from 'lit';
3
+ import { TileDisplayValueProvider } from '../../src/tiles/tile-display-value-provider';
4
+ describe('Tile Display Value Provider', () => {
5
+ describe('basic construction', () => {
6
+ it('constructs w/ no options', () => {
7
+ const provider = new TileDisplayValueProvider();
8
+ expect(provider).to.exist;
9
+ });
10
+ it('constructs w/ options', () => {
11
+ const provider = new TileDisplayValueProvider({
12
+ model: {},
13
+ baseNavigationUrl: 'foo',
14
+ collectionPagePath: 'bar',
15
+ sortParam: { field: 'baz', direction: 'asc' },
16
+ creatorFilter: 'X',
17
+ });
18
+ expect(provider).to.exist;
19
+ });
20
+ });
21
+ describe('firstCreatorMatchingFilter', () => {
22
+ it('provides undefined creator when no model set', () => {
23
+ const provider = new TileDisplayValueProvider();
24
+ expect(provider.firstCreatorMatchingFilter).to.be.undefined;
25
+ });
26
+ it('provides creator from model with no filter', () => {
27
+ const provider = new TileDisplayValueProvider({
28
+ model: { creator: 'foo', creators: ['foo', 'bar', 'baz'] },
29
+ });
30
+ expect(provider.firstCreatorMatchingFilter).to.equal('foo');
31
+ });
32
+ it('provides first creator matching filter when present', () => {
33
+ const provider = new TileDisplayValueProvider({
34
+ model: { creator: 'foo', creators: ['foo', 'bar', 'baz'] },
35
+ creatorFilter: 'B',
36
+ });
37
+ expect(provider.firstCreatorMatchingFilter).to.equal('bar');
38
+ });
39
+ it('matches letters with diacritics', () => {
40
+ const provider = new TileDisplayValueProvider({
41
+ model: {
42
+ creator: 'foo',
43
+ creators: ['foo', 'émile', 'ernest'],
44
+ },
45
+ creatorFilter: 'E',
46
+ });
47
+ expect(provider.firstCreatorMatchingFilter).to.equal('émile');
48
+ });
49
+ it('ignores non-alphabetical characters when matching', () => {
50
+ const provider = new TileDisplayValueProvider({
51
+ model: {
52
+ creator: 'foo',
53
+ creators: ['foo', '"(bar)"', 'baz'],
54
+ },
55
+ creatorFilter: 'B',
56
+ });
57
+ expect(provider.firstCreatorMatchingFilter).to.equal('"(bar)"');
58
+ });
59
+ });
60
+ describe('accountLabel', () => {
61
+ it('provides empty account label when no model', () => {
62
+ const provider = new TileDisplayValueProvider();
63
+ expect(provider.accountLabel).to.equal('');
64
+ });
65
+ it('provides empty account label when no date added', () => {
66
+ const provider = new TileDisplayValueProvider({ model: {} });
67
+ expect(provider.accountLabel).to.equal('');
68
+ });
69
+ it('provides Archivist label from date added', () => {
70
+ const provider = new TileDisplayValueProvider({
71
+ model: { dateAdded: new Date(2010, 1, 2) },
72
+ });
73
+ expect(provider.accountLabel).to.equal('Archivist since 2010');
74
+ });
75
+ });
76
+ describe('dateLabel', () => {
77
+ it('provides empty date label when no sort param', () => {
78
+ const provider = new TileDisplayValueProvider();
79
+ expect(provider.dateLabel).to.equal('');
80
+ });
81
+ it('provides empty date label when sorting by non-date', () => {
82
+ const provider = new TileDisplayValueProvider({
83
+ sortParam: { field: 'downloads', direction: 'desc' },
84
+ });
85
+ expect(provider.dateLabel).to.equal('');
86
+ });
87
+ it('provides correct date label for publicdate', () => {
88
+ const provider = new TileDisplayValueProvider({
89
+ sortParam: { field: 'publicdate', direction: 'asc' },
90
+ });
91
+ expect(provider.dateLabel).to.equal('Archived');
92
+ });
93
+ it('provides correct date label for reviewdate', () => {
94
+ const provider = new TileDisplayValueProvider({
95
+ sortParam: { field: 'reviewdate', direction: 'asc' },
96
+ });
97
+ expect(provider.dateLabel).to.equal('Reviewed');
98
+ });
99
+ it('provides correct date label for addeddate', () => {
100
+ const provider = new TileDisplayValueProvider({
101
+ sortParam: { field: 'addeddate', direction: 'asc' },
102
+ });
103
+ expect(provider.dateLabel).to.equal('Added');
104
+ });
105
+ it('provides correct date label for published date', () => {
106
+ const provider = new TileDisplayValueProvider({
107
+ sortParam: { field: 'date', direction: 'asc' },
108
+ });
109
+ expect(provider.dateLabel).to.equal('Published');
110
+ });
111
+ });
112
+ describe('itemPageUrl', () => {
113
+ it('provides nothing when no base url set', () => {
114
+ const provider = new TileDisplayValueProvider();
115
+ expect(provider.itemPageUrl('foo')).to.equal(nothing);
116
+ });
117
+ it('provides nothing when identifier is empty', () => {
118
+ const provider = new TileDisplayValueProvider({
119
+ baseNavigationUrl: 'foo',
120
+ });
121
+ expect(provider.itemPageUrl('')).to.equal(nothing);
122
+ });
123
+ it('builds correct url from base and identifier', () => {
124
+ const provider = new TileDisplayValueProvider({
125
+ baseNavigationUrl: 'base',
126
+ });
127
+ expect(provider.itemPageUrl('foo')).to.equal('base/details/foo');
128
+ });
129
+ it('allows base url to be empty', () => {
130
+ const provider = new TileDisplayValueProvider({ baseNavigationUrl: '' });
131
+ expect(provider.itemPageUrl('foo')).to.equal('/details/foo');
132
+ });
133
+ it('uses provided collection base path for collections', () => {
134
+ const provider = new TileDisplayValueProvider({
135
+ baseNavigationUrl: 'base',
136
+ collectionPagePath: '/collection/',
137
+ });
138
+ expect(provider.itemPageUrl('foo', true)).to.equal('base/collection/foo');
139
+ });
140
+ });
141
+ });
142
142
  //# sourceMappingURL=tile-display-value-provider.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,27 +1,27 @@
1
- import { expect } from '@open-wc/testing';
2
- import { arrayEquals } from '../../src/utils/array-equals';
3
- describe('arrayEquals', () => {
4
- it('returns true for empty args', () => {
5
- expect(arrayEquals([], [])).to.be.true;
6
- });
7
- it('returns true for identical array objects', () => {
8
- const arr = ['foo', 'bar'];
9
- expect(arrayEquals(arr, arr)).to.be.true;
10
- });
11
- it('returns true for arrays with identical contents', () => {
12
- const arr1 = ['foo', 'bar'];
13
- const arr2 = ['foo', 'bar'];
14
- expect(arrayEquals(arr1, arr2)).to.be.true;
15
- });
16
- it('returns false for arrays of unequal length', () => {
17
- const arr1 = [1, 2, 3];
18
- const arr2 = [1, 2, 3, 4];
19
- expect(arrayEquals(arr1, arr2)).to.be.false;
20
- });
21
- it('returns false for unequal arrays of same length', () => {
22
- const arr1 = ['foo', 'bar'];
23
- const arr2 = ['foo', 'qux'];
24
- expect(arrayEquals(arr1, arr2)).to.be.false;
25
- });
26
- });
1
+ import { expect } from '@open-wc/testing';
2
+ import { arrayEquals } from '../../src/utils/array-equals';
3
+ describe('arrayEquals', () => {
4
+ it('returns true for empty args', () => {
5
+ expect(arrayEquals([], [])).to.be.true;
6
+ });
7
+ it('returns true for identical array objects', () => {
8
+ const arr = ['foo', 'bar'];
9
+ expect(arrayEquals(arr, arr)).to.be.true;
10
+ });
11
+ it('returns true for arrays with identical contents', () => {
12
+ const arr1 = ['foo', 'bar'];
13
+ const arr2 = ['foo', 'bar'];
14
+ expect(arrayEquals(arr1, arr2)).to.be.true;
15
+ });
16
+ it('returns false for arrays of unequal length', () => {
17
+ const arr1 = [1, 2, 3];
18
+ const arr2 = [1, 2, 3, 4];
19
+ expect(arrayEquals(arr1, arr2)).to.be.false;
20
+ });
21
+ it('returns false for unequal arrays of same length', () => {
22
+ const arr1 = ['foo', 'bar'];
23
+ const arr2 = ['foo', 'qux'];
24
+ expect(arrayEquals(arr1, arr2)).to.be.false;
25
+ });
26
+ });
27
27
  //# sourceMappingURL=array-equals.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,24 +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
- });
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
24
  //# sourceMappingURL=format-count.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,18 +1,18 @@
1
- import { expect } from '@open-wc/testing';
2
- import { formatDate } from '../../src/utils/format-date';
3
- const testDate = new Date(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
- });
1
+ import { expect } from '@open-wc/testing';
2
+ import { formatDate } from '../../src/utils/format-date';
3
+ const testDate = new Date(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
18
  //# sourceMappingURL=format-date.test.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};