@internetarchive/collection-browser 1.8.0 → 1.9.0-alpha2

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 +1677 -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 +42 -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,23 +1,23 @@
1
- import { __decorate } from "tslib";
2
- import { css, html } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- import { msg } from '@lit/localize';
5
- import { BaseTileComponent } from '../base-tile-component';
6
- let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponent {
7
- /*
8
- * Reactive properties inherited from BaseTileComponent:
9
- * - model?: TileModel;
10
- * - currentWidth?: number;
11
- * - currentHeight?: number;
12
- * - baseNavigationUrl?: string;
13
- * - baseImageUrl?: string;
14
- * - collectionPagePath?: string;
15
- * - sortParam: SortParam | null = null;
16
- * - creatorFilter?: string;
17
- * - mobileBreakpoint?: number;
18
- * - loggedIn = false;
19
- */
20
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import { msg } from '@lit/localize';
5
+ import { BaseTileComponent } from '../base-tile-component';
6
+ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponent {
7
+ /*
8
+ * Reactive properties inherited from BaseTileComponent:
9
+ * - model?: TileModel;
10
+ * - currentWidth?: number;
11
+ * - currentHeight?: number;
12
+ * - baseNavigationUrl?: string;
13
+ * - baseImageUrl?: string;
14
+ * - collectionPagePath?: string;
15
+ * - sortParam: SortParam | null = null;
16
+ * - creatorFilter?: string;
17
+ * - mobileBreakpoint?: number;
18
+ * - loggedIn = false;
19
+ */
20
+ render() {
21
21
  return html `
22
22
  <div id="list-line-header" class="${this.classSize}">
23
23
  <div id="thumb"></div>
@@ -27,17 +27,17 @@ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponen
27
27
  <div id="icon">${msg('Type')}</div>
28
28
  <div id="views">${msg('Views')}</div>
29
29
  </div>
30
- `;
31
- }
32
- get classSize() {
33
- if (this.mobileBreakpoint &&
34
- this.currentWidth &&
35
- this.currentWidth < this.mobileBreakpoint) {
36
- return 'mobile';
37
- }
38
- return 'desktop';
39
- }
40
- static get styles() {
30
+ `;
31
+ }
32
+ get classSize() {
33
+ if (this.mobileBreakpoint &&
34
+ this.currentWidth &&
35
+ this.currentWidth < this.mobileBreakpoint) {
36
+ return 'mobile';
37
+ }
38
+ return 'desktop';
39
+ }
40
+ static get styles() {
41
41
  return css `
42
42
  html {
43
43
  font-size: unset;
@@ -72,11 +72,11 @@ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponen
72
72
  #list-line-header.desktop {
73
73
  grid-template-columns: 51px 3fr 2fr 95px 30px 60px;
74
74
  }
75
- `;
76
- }
77
- };
78
- TileListCompactHeader = __decorate([
79
- customElement('tile-list-compact-header')
80
- ], TileListCompactHeader);
81
- export { TileListCompactHeader };
75
+ `;
76
+ }
77
+ };
78
+ TileListCompactHeader = __decorate([
79
+ customElement('tile-list-compact-header')
80
+ ], TileListCompactHeader);
81
+ export { TileListCompactHeader };
82
82
  //# sourceMappingURL=tile-list-compact-header.js.map
@@ -1,15 +1,15 @@
1
- import { BaseTileComponent } from '../base-tile-component';
2
- import '../image-block';
3
- import '../mediatype-icon';
4
- export declare class TileListCompact extends BaseTileComponent {
5
- render(): import("lit-html").TemplateResult<1>;
6
- private get href();
7
- private get creator();
8
- private get date();
9
- private get views();
10
- private get classSize();
11
- private get dateFormatSize();
12
- private get formatSize();
13
- private get isSortedByDate();
14
- static get styles(): import("lit").CSSResult;
15
- }
1
+ import { BaseTileComponent } from '../base-tile-component';
2
+ import '../image-block';
3
+ import '../mediatype-icon';
4
+ export declare class TileListCompact extends BaseTileComponent {
5
+ render(): import("lit-html").TemplateResult<1>;
6
+ private get href();
7
+ private get creator();
8
+ private get date();
9
+ private get views();
10
+ private get classSize();
11
+ private get dateFormatSize();
12
+ private get formatSize();
13
+ private get isSortedByDate();
14
+ static get styles(): import("lit").CSSResult;
15
+ }
@@ -1,29 +1,29 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, nothing } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- import DOMPurify from 'dompurify';
5
- import { BaseTileComponent } from '../base-tile-component';
6
- import { formatCount } from '../../utils/format-count';
7
- import { formatDate } from '../../utils/format-date';
8
- import { isFirstMillisecondOfUTCYear } from '../../utils/local-date-from-utc';
9
- import '../image-block';
10
- import '../mediatype-icon';
11
- let TileListCompact = class TileListCompact extends BaseTileComponent {
12
- /*
13
- * Reactive properties inherited from BaseTileComponent:
14
- * - model?: TileModel;
15
- * - currentWidth?: number;
16
- * - currentHeight?: number;
17
- * - baseNavigationUrl?: string;
18
- * - baseImageUrl?: string;
19
- * - collectionPagePath?: string;
20
- * - sortParam: SortParam | null = null;
21
- * - creatorFilter?: string;
22
- * - mobileBreakpoint?: number;
23
- * - loggedIn = false;
24
- */
25
- render() {
26
- var _a, _b, _c, _d, _e, _f;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, nothing } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import DOMPurify from 'dompurify';
5
+ import { BaseTileComponent } from '../base-tile-component';
6
+ import { formatCount } from '../../utils/format-count';
7
+ import { formatDate } from '../../utils/format-date';
8
+ import { isFirstMillisecondOfUTCYear } from '../../utils/local-date-from-utc';
9
+ import '../image-block';
10
+ import '../mediatype-icon';
11
+ let TileListCompact = class TileListCompact extends BaseTileComponent {
12
+ /*
13
+ * Reactive properties inherited from BaseTileComponent:
14
+ * - model?: TileModel;
15
+ * - currentWidth?: number;
16
+ * - currentHeight?: number;
17
+ * - baseNavigationUrl?: string;
18
+ * - baseImageUrl?: string;
19
+ * - collectionPagePath?: string;
20
+ * - sortParam: SortParam | null = null;
21
+ * - creatorFilter?: string;
22
+ * - mobileBreakpoint?: number;
23
+ * - loggedIn = false;
24
+ */
25
+ render() {
26
+ var _a, _b, _c, _d, _e, _f;
27
27
  return html `
28
28
  <div id="list-line" class="${this.classSize}">
29
29
  <image-block
@@ -39,8 +39,8 @@ let TileListCompact = class TileListCompact extends BaseTileComponent {
39
39
  >${DOMPurify.sanitize((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : '')}</a
40
40
  >
41
41
  <div id="creator">
42
- ${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
43
- ? this.displayValueProvider.accountLabel
42
+ ${((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'account'
43
+ ? this.displayValueProvider.accountLabel
44
44
  : this.creator}
45
45
  </div>
46
46
  <div id="date">${formatDate(this.date, this.dateFormatSize)}</div>
@@ -53,85 +53,85 @@ let TileListCompact = class TileListCompact extends BaseTileComponent {
53
53
  </div>
54
54
  <div id="views">${formatCount((_f = this.views) !== null && _f !== void 0 ? _f : 0, this.formatSize)}</div>
55
55
  </div>
56
- `;
57
- }
58
- get href() {
59
- var _a;
60
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
61
- return nothing;
62
- // Use the server-specified href if available.
63
- // Otherwise, construct a details page URL from the item identifier.
64
- if (this.model.href) {
65
- return `${this.baseNavigationUrl}${this.model.href}`;
66
- }
67
- return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
68
- }
69
- get creator() {
70
- var _a;
71
- return (_a = this.displayValueProvider.firstCreatorMatchingFilter) !== null && _a !== void 0 ? _a : nothing;
72
- }
73
- /*
74
- * TODO: fix field names to match model in src/collection-browser.ts
75
- * private get dateSortSelector()
76
- * @see src/models.ts
77
- */
78
- get date() {
79
- var _a, _b, _c, _d, _e;
80
- // Note on 'publicdate' vs. 'date':
81
- // The search engine metadata uses 'publicdate' as the key for the date the item
82
- // was created on archive.org, which in the UI is referred to as "Date Archived".
83
- // In contrast, the search engine metadata uses 'date' to refer to the actual
84
- // publication date of the underlying media ("Date Published" in the UI).
85
- // Refer to the full metadata schema for more info.
86
- switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
87
- case 'publicdate':
88
- return (_b = this.model) === null || _b === void 0 ? void 0 : _b.dateArchived;
89
- case 'reviewdate':
90
- return (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed;
91
- case 'addeddate':
92
- return (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded;
93
- default:
94
- return (_e = this.model) === null || _e === void 0 ? void 0 : _e.datePublished;
95
- }
96
- }
97
- get views() {
98
- var _a, _b, _c;
99
- return ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'week'
100
- ? (_b = this.model) === null || _b === void 0 ? void 0 : _b.weeklyViewCount // weekly views
101
- : (_c = this.model) === null || _c === void 0 ? void 0 : _c.viewCount; // all-time views
102
- }
103
- get classSize() {
104
- if (this.mobileBreakpoint &&
105
- this.currentWidth &&
106
- this.currentWidth < this.mobileBreakpoint) {
107
- return 'mobile';
108
- }
109
- return 'desktop';
110
- }
111
- get dateFormatSize() {
112
- var _a, _b;
113
- // If we're showing a date published of Jan 1 at midnight, only show the year.
114
- // This is because items with only a year for their publication date are normalized to
115
- // Jan 1 at midnight timestamps in the search engine documents.
116
- if ((!this.isSortedByDate || ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'date') && // Any sort except dates that aren't published date
117
- isFirstMillisecondOfUTCYear((_b = this.model) === null || _b === void 0 ? void 0 : _b.datePublished)) {
118
- return 'year-only';
119
- }
120
- return this.formatSize;
121
- }
122
- get formatSize() {
123
- if (this.mobileBreakpoint &&
124
- this.currentWidth &&
125
- this.currentWidth < this.mobileBreakpoint) {
126
- return 'short';
127
- }
128
- return 'long';
129
- }
130
- get isSortedByDate() {
131
- var _a;
132
- return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field);
133
- }
134
- static get styles() {
56
+ `;
57
+ }
58
+ get href() {
59
+ var _a;
60
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
61
+ return nothing;
62
+ // Use the server-specified href if available.
63
+ // Otherwise, construct a details page URL from the item identifier.
64
+ if (this.model.href) {
65
+ return `${this.baseNavigationUrl}${this.model.href}`;
66
+ }
67
+ return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
68
+ }
69
+ get creator() {
70
+ var _a;
71
+ return (_a = this.displayValueProvider.firstCreatorMatchingFilter) !== null && _a !== void 0 ? _a : nothing;
72
+ }
73
+ /*
74
+ * TODO: fix field names to match model in src/collection-browser.ts
75
+ * private get dateSortSelector()
76
+ * @see src/models.ts
77
+ */
78
+ get date() {
79
+ var _a, _b, _c, _d, _e;
80
+ // Note on 'publicdate' vs. 'date':
81
+ // The search engine metadata uses 'publicdate' as the key for the date the item
82
+ // was created on archive.org, which in the UI is referred to as "Date Archived".
83
+ // In contrast, the search engine metadata uses 'date' to refer to the actual
84
+ // publication date of the underlying media ("Date Published" in the UI).
85
+ // Refer to the full metadata schema for more info.
86
+ switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
87
+ case 'publicdate':
88
+ return (_b = this.model) === null || _b === void 0 ? void 0 : _b.dateArchived;
89
+ case 'reviewdate':
90
+ return (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed;
91
+ case 'addeddate':
92
+ return (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded;
93
+ default:
94
+ return (_e = this.model) === null || _e === void 0 ? void 0 : _e.datePublished;
95
+ }
96
+ }
97
+ get views() {
98
+ var _a, _b, _c;
99
+ return ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'week'
100
+ ? (_b = this.model) === null || _b === void 0 ? void 0 : _b.weeklyViewCount // weekly views
101
+ : (_c = this.model) === null || _c === void 0 ? void 0 : _c.viewCount; // all-time views
102
+ }
103
+ get classSize() {
104
+ if (this.mobileBreakpoint &&
105
+ this.currentWidth &&
106
+ this.currentWidth < this.mobileBreakpoint) {
107
+ return 'mobile';
108
+ }
109
+ return 'desktop';
110
+ }
111
+ get dateFormatSize() {
112
+ var _a, _b;
113
+ // If we're showing a date published of Jan 1 at midnight, only show the year.
114
+ // This is because items with only a year for their publication date are normalized to
115
+ // Jan 1 at midnight timestamps in the search engine documents.
116
+ if ((!this.isSortedByDate || ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) === 'date') && // Any sort except dates that aren't published date
117
+ isFirstMillisecondOfUTCYear((_b = this.model) === null || _b === void 0 ? void 0 : _b.datePublished)) {
118
+ return 'year-only';
119
+ }
120
+ return this.formatSize;
121
+ }
122
+ get formatSize() {
123
+ if (this.mobileBreakpoint &&
124
+ this.currentWidth &&
125
+ this.currentWidth < this.mobileBreakpoint) {
126
+ return 'short';
127
+ }
128
+ return 'long';
129
+ }
130
+ get isSortedByDate() {
131
+ var _a;
132
+ return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field);
133
+ }
134
+ static get styles() {
135
135
  return css `
136
136
  html {
137
137
  font-size: unset;
@@ -205,11 +205,11 @@ let TileListCompact = class TileListCompact extends BaseTileComponent {
205
205
  --imgHeight: 100%;
206
206
  --imgWidth: 100%;
207
207
  }
208
- `;
209
- }
210
- };
211
- TileListCompact = __decorate([
212
- customElement('tile-list-compact')
213
- ], TileListCompact);
214
- export { TileListCompact };
208
+ `;
209
+ }
210
+ };
211
+ TileListCompact = __decorate([
212
+ customElement('tile-list-compact')
213
+ ], TileListCompact);
214
+ export { TileListCompact };
215
215
  //# sourceMappingURL=tile-list-compact.js.map
@@ -1,46 +1,46 @@
1
- import { PropertyValues, TemplateResult } from 'lit';
2
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
- import { BaseTileComponent } from '../base-tile-component';
4
- import '../image-block';
5
- import '../mediatype-icon';
6
- export declare class TileList extends BaseTileComponent {
7
- collectionNameCache?: CollectionNameCacheInterface;
8
- private collectionLinks;
9
- render(): TemplateResult<1>;
10
- /**
11
- * Templates
12
- */
13
- private get mobileTemplate();
14
- private get desktopTemplate();
15
- private get imageBlockTemplate();
16
- private get detailsTemplate();
17
- private get iconRightTemplate();
18
- private get titleTemplate();
19
- private get itemLineTemplate();
20
- private get sourceTemplate();
21
- private get volumeTemplate();
22
- private get issueTemplate();
23
- private get creatorTemplate();
24
- private get datePublishedTemplate();
25
- private get dateSortByTemplate();
26
- private get viewsTemplate();
27
- private get ratingTemplate();
28
- private get reviewsTemplate();
29
- private get topicsTemplate();
30
- private get collectionsTemplate();
31
- private get descriptionTemplate();
32
- private get textSnippetsTemplate();
33
- private get hasSnippets();
34
- private metadataTemplate;
35
- private labelTemplate;
36
- private searchLink;
37
- private detailsLink;
38
- /** The URL of this item's mediatype collection, if defined. */
39
- private get mediatypeURL();
40
- protected updated(changed: PropertyValues): void;
41
- private fetchCollectionNames;
42
- private get date();
43
- private get classSize();
44
- private get formatSize();
45
- static get styles(): import("lit").CSSResult;
46
- }
1
+ import { PropertyValues, TemplateResult } from 'lit';
2
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
+ import { BaseTileComponent } from '../base-tile-component';
4
+ import '../image-block';
5
+ import '../mediatype-icon';
6
+ export declare class TileList extends BaseTileComponent {
7
+ collectionNameCache?: CollectionNameCacheInterface;
8
+ private collectionLinks;
9
+ render(): TemplateResult<1>;
10
+ /**
11
+ * Templates
12
+ */
13
+ private get mobileTemplate();
14
+ private get desktopTemplate();
15
+ private get imageBlockTemplate();
16
+ private get detailsTemplate();
17
+ private get iconRightTemplate();
18
+ private get titleTemplate();
19
+ private get itemLineTemplate();
20
+ private get sourceTemplate();
21
+ private get volumeTemplate();
22
+ private get issueTemplate();
23
+ private get creatorTemplate();
24
+ private get datePublishedTemplate();
25
+ private get dateSortByTemplate();
26
+ private get viewsTemplate();
27
+ private get ratingTemplate();
28
+ private get reviewsTemplate();
29
+ private get topicsTemplate();
30
+ private get collectionsTemplate();
31
+ private get descriptionTemplate();
32
+ private get textSnippetsTemplate();
33
+ private get hasSnippets();
34
+ private metadataTemplate;
35
+ private labelTemplate;
36
+ private searchLink;
37
+ private detailsLink;
38
+ /** The URL of this item's mediatype collection, if defined. */
39
+ private get mediatypeURL();
40
+ protected updated(changed: PropertyValues): void;
41
+ private fetchCollectionNames;
42
+ private get date();
43
+ private get classSize();
44
+ private get formatSize();
45
+ static get styles(): import("lit").CSSResult;
46
+ }