@internetarchive/collection-browser 0.4.9-alpha.1 → 0.4.9

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 (263) 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 -281
  68. package/dist/src/collection-browser.js +1204 -1200
  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 -83
  79. package/dist/src/collection-facets.js +392 -392
  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 +115 -114
  90. package/dist/src/models.js +125 -125
  91. package/dist/src/models.js.map +1 -1
  92. package/dist/src/restoration-state-handler.d.ts +45 -45
  93. package/dist/src/restoration-state-handler.js +230 -230
  94. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -0
  95. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +61 -0
  96. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -0
  97. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -12
  98. package/dist/src/sort-filter-bar/alpha-bar.js +166 -58
  99. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  100. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  102. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/list.js +2 -2
  104. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  106. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  108. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  109. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  110. package/dist/src/styles/item-image-styles.d.ts +8 -8
  111. package/dist/src/styles/item-image-styles.js +9 -9
  112. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  113. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  114. package/dist/src/tiles/grid/account-tile.d.ts +20 -17
  115. package/dist/src/tiles/grid/account-tile.js +68 -46
  116. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  117. package/dist/src/tiles/grid/collection-tile.d.ts +17 -14
  118. package/dist/src/tiles/grid/collection-tile.js +75 -53
  119. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  120. package/dist/src/tiles/grid/item-tile.d.ts +32 -29
  121. package/dist/src/tiles/grid/item-tile.js +126 -108
  122. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  123. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  124. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +44 -8
  125. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
  126. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  127. package/dist/src/tiles/grid/tile-stats.js +40 -40
  128. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -197
  129. package/dist/src/tiles/hover/hover-pane-controller.js +352 -331
  130. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  131. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  132. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  133. package/dist/src/tiles/image-block.d.ts +17 -17
  134. package/dist/src/tiles/image-block.js +72 -72
  135. package/dist/src/tiles/item-image.d.ts +35 -35
  136. package/dist/src/tiles/item-image.js +117 -117
  137. package/dist/src/tiles/list/account-label.d.ts +1 -1
  138. package/dist/src/tiles/list/account-label.js +6 -6
  139. package/dist/src/tiles/list/date-label.d.ts +1 -1
  140. package/dist/src/tiles/list/date-label.js +12 -12
  141. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  142. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  143. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  144. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  145. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  146. package/dist/src/tiles/list/tile-list.js +303 -297
  147. package/dist/src/tiles/list/tile-list.js.map +1 -1
  148. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  149. package/dist/src/tiles/mediatype-icon.js +47 -47
  150. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  151. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  152. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  153. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  154. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  155. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  156. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  157. package/dist/src/tiles/text-snippet-block.js +73 -73
  158. package/dist/src/tiles/tile-dispatcher.d.ts +58 -55
  159. package/dist/src/tiles/tile-dispatcher.js +203 -179
  160. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  161. package/dist/src/utils/analytics-events.d.ts +22 -22
  162. package/dist/src/utils/analytics-events.js +24 -24
  163. package/dist/src/utils/format-count.d.ts +7 -7
  164. package/dist/src/utils/format-count.js +76 -76
  165. package/dist/src/utils/format-date.d.ts +2 -2
  166. package/dist/src/utils/format-date.js +23 -23
  167. package/dist/src/utils/format-unit-size.d.ts +2 -2
  168. package/dist/src/utils/format-unit-size.js +33 -33
  169. package/dist/test/collection-browser.test.d.ts +1 -1
  170. package/dist/test/collection-browser.test.js +584 -584
  171. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  172. package/dist/test/collection-facets/facets-template.test.js +62 -62
  173. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  174. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  175. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  176. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  177. package/dist/test/collection-facets.test.d.ts +2 -2
  178. package/dist/test/collection-facets.test.js +508 -508
  179. package/dist/test/empty-placeholder.test.d.ts +1 -1
  180. package/dist/test/empty-placeholder.test.js +33 -33
  181. package/dist/test/icon-overlay.test.d.ts +1 -1
  182. package/dist/test/icon-overlay.test.js +24 -24
  183. package/dist/test/image-block.test.d.ts +1 -1
  184. package/dist/test/image-block.test.js +48 -48
  185. package/dist/test/item-image.test.d.ts +1 -1
  186. package/dist/test/item-image.test.js +84 -84
  187. package/dist/test/mediatype-config.test.d.ts +1 -1
  188. package/dist/test/mediatype-config.test.js +16 -16
  189. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  190. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  191. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  192. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  193. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  194. package/dist/test/mocks/mock-search-responses.js +341 -341
  195. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  196. package/dist/test/mocks/mock-search-service.js +40 -40
  197. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  198. package/dist/test/restoration-state-handler.test.js +125 -125
  199. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -0
  200. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +13 -0
  201. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -0
  202. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  203. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -43
  204. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  205. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  206. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  207. package/dist/test/text-overlay.test.d.ts +1 -1
  208. package/dist/test/text-overlay.test.js +48 -48
  209. package/dist/test/text-snippet-block.test.d.ts +1 -1
  210. package/dist/test/text-snippet-block.test.js +57 -57
  211. package/dist/test/tile-stats.test.d.ts +1 -1
  212. package/dist/test/tile-stats.test.js +33 -33
  213. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  214. package/dist/test/tiles/grid/account-tile.test.js +81 -60
  215. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  216. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  217. package/dist/test/tiles/grid/collection-tile.test.js +81 -57
  218. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  219. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  220. package/dist/test/tiles/grid/item-tile.test.js +163 -142
  221. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  222. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  223. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  224. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  225. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  226. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  227. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  228. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  229. package/dist/test/tiles/list/tile-list.test.js +163 -163
  230. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -0
  231. package/dist/test/tiles/tile-dispatcher.test.js +101 -0
  232. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -0
  233. package/dist/test/utils/format-count.test.d.ts +1 -1
  234. package/dist/test/utils/format-count.test.js +23 -23
  235. package/dist/test/utils/format-date.test.d.ts +1 -1
  236. package/dist/test/utils/format-date.test.js +17 -17
  237. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  238. package/dist/test/utils/format-unit-size.test.js +17 -17
  239. package/local.archive.org.cert +86 -86
  240. package/local.archive.org.key +27 -27
  241. package/package.json +1 -1
  242. package/renovate.json +6 -6
  243. package/src/collection-browser.ts +4 -0
  244. package/src/collection-facets.ts +3 -5
  245. package/src/models.ts +1 -0
  246. package/src/sort-filter-bar/alpha-bar-tooltip.ts +54 -0
  247. package/src/sort-filter-bar/alpha-bar.ts +133 -9
  248. package/src/tiles/grid/account-tile.ts +23 -1
  249. package/src/tiles/grid/collection-tile.ts +31 -2
  250. package/src/tiles/grid/item-tile.ts +22 -2
  251. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +37 -1
  252. package/src/tiles/hover/hover-pane-controller.ts +38 -1
  253. package/src/tiles/list/tile-list.ts +8 -1
  254. package/src/tiles/tile-dispatcher.ts +29 -2
  255. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +17 -0
  256. package/test/sort-filter-bar/alpha-bar.test.ts +46 -1
  257. package/test/tiles/grid/account-tile.test.ts +27 -0
  258. package/test/tiles/grid/collection-tile.test.ts +30 -0
  259. package/test/tiles/grid/item-tile.test.ts +27 -0
  260. package/test/tiles/tile-dispatcher.test.ts +122 -0
  261. package/tsconfig.json +21 -21
  262. package/web-dev-server.config.mjs +30 -30
  263. package/web-test-runner.config.mjs +41 -41
@@ -1,20 +1,20 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import DOMPurify from 'dompurify';
5
- import { formatCount } from '../../utils/format-count';
6
- import { formatDate } from '../../utils/format-date';
7
- import { accountLabel } from './account-label';
8
- import '../image-block';
9
- import '../mediatype-icon';
10
- let TileListCompact = class TileListCompact extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- this.sortParam = null;
14
- this.loggedIn = false;
15
- }
16
- render() {
17
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import DOMPurify from 'dompurify';
5
+ import { formatCount } from '../../utils/format-count';
6
+ import { formatDate } from '../../utils/format-date';
7
+ import { accountLabel } from './account-label';
8
+ import '../image-block';
9
+ import '../mediatype-icon';
10
+ let TileListCompact = class TileListCompact extends LitElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.sortParam = null;
14
+ this.loggedIn = false;
15
+ }
16
+ render() {
17
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
18
18
  return html `
19
19
  <div id="list-line" class="${this.classSize}">
20
20
  <image-block
@@ -28,8 +28,8 @@ let TileListCompact = class TileListCompact extends LitElement {
28
28
  </image-block>
29
29
  <div id="title">${DOMPurify.sanitize((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : '')}</div>
30
30
  <div id="creator">
31
- ${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
32
- ? accountLabel((_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded)
31
+ ${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
32
+ ? accountLabel((_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded)
33
33
  : DOMPurify.sanitize((_f = (_e = this.model) === null || _e === void 0 ? void 0 : _e.creator) !== null && _f !== void 0 ? _f : '')}
34
34
  </div>
35
35
  <div id="date">${formatDate(this.date, this.formatSize)}</div>
@@ -42,55 +42,55 @@ let TileListCompact = class TileListCompact extends LitElement {
42
42
  </div>
43
43
  <div id="views">${formatCount((_j = this.views) !== null && _j !== void 0 ? _j : 0, this.formatSize)}</div>
44
44
  </div>
45
- `;
46
- }
47
- /*
48
- * TODO: fix field names to match model in src/collection-browser.ts
49
- * private get dateSortSelector()
50
- * @see src/models.ts
51
- */
52
- get date() {
53
- var _a, _b, _c, _d, _e;
54
- // Note on 'publicdate' vs. 'date':
55
- // The search engine metadata uses 'publicdate' as the key for the date the item
56
- // was created on archive.org, which in the UI is referred to as "Date Archived".
57
- // In contrast, the search engine metadata uses 'date' to refer to the actual
58
- // publication date of the underlying media ("Date Published" in the UI).
59
- // Refer to the full metadata schema for more info.
60
- switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
61
- case 'publicdate':
62
- return (_b = this.model) === null || _b === void 0 ? void 0 : _b.dateArchived;
63
- case 'reviewdate':
64
- return (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed;
65
- case 'addeddate':
66
- return (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded;
67
- default:
68
- return (_e = this.model) === null || _e === void 0 ? void 0 : _e.datePublished;
69
- }
70
- }
71
- get views() {
72
- var _a, _b, _c;
73
- return ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'week'
74
- ? (_b = this.model) === null || _b === void 0 ? void 0 : _b.weeklyViewCount // weekly views
75
- : (_c = this.model) === null || _c === void 0 ? void 0 : _c.viewCount; // all-time views
76
- }
77
- get classSize() {
78
- if (this.mobileBreakpoint &&
79
- this.currentWidth &&
80
- this.currentWidth < this.mobileBreakpoint) {
81
- return 'mobile';
82
- }
83
- return 'desktop';
84
- }
85
- get formatSize() {
86
- if (this.mobileBreakpoint &&
87
- this.currentWidth &&
88
- this.currentWidth < this.mobileBreakpoint) {
89
- return 'short';
90
- }
91
- return 'long';
92
- }
93
- static get styles() {
45
+ `;
46
+ }
47
+ /*
48
+ * TODO: fix field names to match model in src/collection-browser.ts
49
+ * private get dateSortSelector()
50
+ * @see src/models.ts
51
+ */
52
+ get date() {
53
+ var _a, _b, _c, _d, _e;
54
+ // Note on 'publicdate' vs. 'date':
55
+ // The search engine metadata uses 'publicdate' as the key for the date the item
56
+ // was created on archive.org, which in the UI is referred to as "Date Archived".
57
+ // In contrast, the search engine metadata uses 'date' to refer to the actual
58
+ // publication date of the underlying media ("Date Published" in the UI).
59
+ // Refer to the full metadata schema for more info.
60
+ switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
61
+ case 'publicdate':
62
+ return (_b = this.model) === null || _b === void 0 ? void 0 : _b.dateArchived;
63
+ case 'reviewdate':
64
+ return (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed;
65
+ case 'addeddate':
66
+ return (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded;
67
+ default:
68
+ return (_e = this.model) === null || _e === void 0 ? void 0 : _e.datePublished;
69
+ }
70
+ }
71
+ get views() {
72
+ var _a, _b, _c;
73
+ return ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'week'
74
+ ? (_b = this.model) === null || _b === void 0 ? void 0 : _b.weeklyViewCount // weekly views
75
+ : (_c = this.model) === null || _c === void 0 ? void 0 : _c.viewCount; // all-time views
76
+ }
77
+ get classSize() {
78
+ if (this.mobileBreakpoint &&
79
+ this.currentWidth &&
80
+ this.currentWidth < this.mobileBreakpoint) {
81
+ return 'mobile';
82
+ }
83
+ return 'desktop';
84
+ }
85
+ get formatSize() {
86
+ if (this.mobileBreakpoint &&
87
+ this.currentWidth &&
88
+ this.currentWidth < this.mobileBreakpoint) {
89
+ return 'short';
90
+ }
91
+ return 'long';
92
+ }
93
+ static get styles() {
94
94
  return css `
95
95
  html {
96
96
  font-size: unset;
@@ -161,35 +161,35 @@ let TileListCompact = class TileListCompact extends LitElement {
161
161
  --imgHeight: 100%;
162
162
  --imgWidth: 100%;
163
163
  }
164
- `;
165
- }
166
- };
167
- __decorate([
168
- property({ type: Object })
169
- ], TileListCompact.prototype, "model", void 0);
170
- __decorate([
171
- property({ type: String })
172
- ], TileListCompact.prototype, "baseNavigationUrl", void 0);
173
- __decorate([
174
- property({ type: Number })
175
- ], TileListCompact.prototype, "currentWidth", void 0);
176
- __decorate([
177
- property({ type: Number })
178
- ], TileListCompact.prototype, "currentHeight", void 0);
179
- __decorate([
180
- property({ type: Object })
181
- ], TileListCompact.prototype, "sortParam", void 0);
182
- __decorate([
183
- property({ type: Number })
184
- ], TileListCompact.prototype, "mobileBreakpoint", void 0);
185
- __decorate([
186
- property({ type: String })
187
- ], TileListCompact.prototype, "baseImageUrl", void 0);
188
- __decorate([
189
- property({ type: Boolean })
190
- ], TileListCompact.prototype, "loggedIn", void 0);
191
- TileListCompact = __decorate([
192
- customElement('tile-list-compact')
193
- ], TileListCompact);
194
- export { TileListCompact };
164
+ `;
165
+ }
166
+ };
167
+ __decorate([
168
+ property({ type: Object })
169
+ ], TileListCompact.prototype, "model", void 0);
170
+ __decorate([
171
+ property({ type: String })
172
+ ], TileListCompact.prototype, "baseNavigationUrl", void 0);
173
+ __decorate([
174
+ property({ type: Number })
175
+ ], TileListCompact.prototype, "currentWidth", void 0);
176
+ __decorate([
177
+ property({ type: Number })
178
+ ], TileListCompact.prototype, "currentHeight", void 0);
179
+ __decorate([
180
+ property({ type: Object })
181
+ ], TileListCompact.prototype, "sortParam", void 0);
182
+ __decorate([
183
+ property({ type: Number })
184
+ ], TileListCompact.prototype, "mobileBreakpoint", void 0);
185
+ __decorate([
186
+ property({ type: String })
187
+ ], TileListCompact.prototype, "baseImageUrl", void 0);
188
+ __decorate([
189
+ property({ type: Boolean })
190
+ ], TileListCompact.prototype, "loggedIn", void 0);
191
+ TileListCompact = __decorate([
192
+ customElement('tile-list-compact')
193
+ ], TileListCompact);
194
+ export { TileListCompact };
195
195
  //# sourceMappingURL=tile-list-compact.js.map
@@ -1,55 +1,55 @@
1
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
- import type { SortParam } from '@internetarchive/search-service';
4
- import { TileModel } from '../../models';
5
- import '../image-block';
6
- import '../mediatype-icon';
7
- export declare class TileList extends LitElement {
8
- model?: TileModel;
9
- baseNavigationUrl?: string;
10
- collectionNameCache?: CollectionNameCacheInterface;
11
- currentWidth?: number;
12
- currentHeight?: number;
13
- sortParam: SortParam | null;
14
- mobileBreakpoint?: number;
15
- private collectionLinks;
16
- baseImageUrl?: string;
17
- loggedIn: boolean;
18
- render(): TemplateResult<1>;
19
- /**
20
- * Templates
21
- */
22
- private get mobileTemplate();
23
- private get desktopTemplate();
24
- private get imageBlockTemplate();
25
- private get detailsTemplate();
26
- private get iconRightTemplate();
27
- private get titleTemplate();
28
- private get itemLineTemplate();
29
- private get sourceTemplate();
30
- private get volumeTemplate();
31
- private get issueTemplate();
32
- private get creatorTemplate();
33
- private get datePublishedTemplate();
34
- private get dateSortByTemplate();
35
- private get viewsTemplate();
36
- private get ratingTemplate();
37
- private get reviewsTemplate();
38
- private get topicsTemplate();
39
- private get collectionsTemplate();
40
- private get descriptionTemplate();
41
- private get textSnippetsTemplate();
42
- private get hasSnippets();
43
- private metadataTemplate;
44
- private labelTemplate;
45
- private searchLink;
46
- private detailsLink;
47
- /** The URL of this item's mediatype collection, if defined. */
48
- private get mediatypeURL();
49
- protected updated(changed: PropertyValues): void;
50
- private fetchCollectionNames;
51
- private get date();
52
- private get classSize();
53
- private get formatSize();
54
- static get styles(): import("lit").CSSResult;
55
- }
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
+ import type { SortParam } from '@internetarchive/search-service';
4
+ import { TileModel } from '../../models';
5
+ import '../image-block';
6
+ import '../mediatype-icon';
7
+ export declare class TileList extends LitElement {
8
+ model?: TileModel;
9
+ baseNavigationUrl?: string;
10
+ collectionNameCache?: CollectionNameCacheInterface;
11
+ currentWidth?: number;
12
+ currentHeight?: number;
13
+ sortParam: SortParam | null;
14
+ mobileBreakpoint?: number;
15
+ private collectionLinks;
16
+ baseImageUrl?: string;
17
+ loggedIn: boolean;
18
+ render(): TemplateResult<1>;
19
+ /**
20
+ * Templates
21
+ */
22
+ private get mobileTemplate();
23
+ private get desktopTemplate();
24
+ private get imageBlockTemplate();
25
+ private get detailsTemplate();
26
+ private get iconRightTemplate();
27
+ private get titleTemplate();
28
+ private get itemLineTemplate();
29
+ private get sourceTemplate();
30
+ private get volumeTemplate();
31
+ private get issueTemplate();
32
+ private get creatorTemplate();
33
+ private get datePublishedTemplate();
34
+ private get dateSortByTemplate();
35
+ private get viewsTemplate();
36
+ private get ratingTemplate();
37
+ private get reviewsTemplate();
38
+ private get topicsTemplate();
39
+ private get collectionsTemplate();
40
+ private get descriptionTemplate();
41
+ private get textSnippetsTemplate();
42
+ private get hasSnippets();
43
+ private metadataTemplate;
44
+ private labelTemplate;
45
+ private searchLink;
46
+ private detailsLink;
47
+ /** The URL of this item's mediatype collection, if defined. */
48
+ private get mediatypeURL();
49
+ protected updated(changed: PropertyValues): void;
50
+ private fetchCollectionNames;
51
+ private get date();
52
+ private get classSize();
53
+ private get formatSize();
54
+ static get styles(): import("lit").CSSResult;
55
+ }