@internetarchive/collection-browser 0.3.3 → 0.3.5-alpha.1

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 (224) 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 +43 -43
  12. package/dist/src/app-root.js +233 -233
  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 +245 -247
  68. package/dist/src/collection-browser.js +1359 -1396
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -0
  71. package/dist/src/collection-facets/facet-tombstone-row.js +43 -0
  72. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -0
  73. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  74. package/dist/src/collection-facets/facets-template.js +125 -125
  75. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  76. package/dist/src/collection-facets/more-facets-content.js +353 -349
  77. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  78. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  79. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  80. package/dist/src/collection-facets.d.ts +77 -75
  81. package/dist/src/collection-facets.js +551 -518
  82. package/dist/src/collection-facets.js.map +1 -1
  83. package/dist/src/empty-placeholder.d.ts +11 -11
  84. package/dist/src/empty-placeholder.js +42 -42
  85. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  86. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  87. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  88. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  89. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  90. package/dist/src/mediatype/mediatype-config.js +85 -85
  91. package/dist/src/models.d.ts +102 -97
  92. package/dist/src/models.js +117 -100
  93. package/dist/src/models.js.map +1 -1
  94. package/dist/src/restoration-state-handler.d.ts +45 -45
  95. package/dist/src/restoration-state-handler.js +220 -220
  96. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  97. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  98. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  100. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/list.js +2 -2
  102. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  104. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  106. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  107. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  108. package/dist/src/styles/item-image-styles.d.ts +8 -8
  109. package/dist/src/styles/item-image-styles.js +10 -9
  110. package/dist/src/styles/item-image-styles.js.map +1 -1
  111. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  112. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  113. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  114. package/dist/src/tiles/grid/account-tile.js +20 -20
  115. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  116. package/dist/src/tiles/grid/collection-tile.js +23 -23
  117. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  118. package/dist/src/tiles/grid/item-tile.js +87 -87
  119. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  120. package/dist/src/tiles/grid/tile-stats.js +35 -35
  121. package/dist/src/tiles/image-block.d.ts +17 -17
  122. package/dist/src/tiles/image-block.js +69 -69
  123. package/dist/src/tiles/item-image.d.ts +31 -31
  124. package/dist/src/tiles/item-image.js +103 -103
  125. package/dist/src/tiles/list/account-label.d.ts +1 -1
  126. package/dist/src/tiles/list/account-label.js +6 -6
  127. package/dist/src/tiles/list/date-label.d.ts +1 -1
  128. package/dist/src/tiles/list/date-label.js +12 -12
  129. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  130. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  131. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
  132. package/dist/src/tiles/list/tile-list-compact.js +87 -87
  133. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  134. package/dist/src/tiles/list/tile-list.js +269 -264
  135. package/dist/src/tiles/list/tile-list.js.map +1 -1
  136. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  137. package/dist/src/tiles/mediatype-icon.js +47 -47
  138. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  139. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  140. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  141. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  142. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  143. package/dist/src/tiles/text-snippet-block.js +81 -81
  144. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  145. package/dist/src/tiles/tile-dispatcher.js +128 -128
  146. package/dist/src/utils/analytics-events.d.ts +22 -22
  147. package/dist/src/utils/analytics-events.js +24 -24
  148. package/dist/src/utils/format-count.d.ts +7 -7
  149. package/dist/src/utils/format-count.js +76 -76
  150. package/dist/src/utils/format-date.d.ts +2 -2
  151. package/dist/src/utils/format-date.js +23 -23
  152. package/dist/test/collection-browser.test.d.ts +1 -1
  153. package/dist/test/collection-browser.test.js +415 -359
  154. package/dist/test/collection-browser.test.js.map +1 -1
  155. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  156. package/dist/test/collection-facets/facets-template.test.js +62 -62
  157. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  158. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  159. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  160. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  161. package/dist/test/collection-facets.test.d.ts +2 -2
  162. package/dist/test/collection-facets.test.js +498 -469
  163. package/dist/test/collection-facets.test.js.map +1 -1
  164. package/dist/test/empty-placeholder.test.d.ts +1 -1
  165. package/dist/test/empty-placeholder.test.js +33 -33
  166. package/dist/test/icon-overlay.test.d.ts +1 -1
  167. package/dist/test/icon-overlay.test.js +24 -24
  168. package/dist/test/image-block.test.d.ts +1 -1
  169. package/dist/test/image-block.test.js +48 -48
  170. package/dist/test/item-image.test.d.ts +1 -1
  171. package/dist/test/item-image.test.js +56 -56
  172. package/dist/test/mediatype-config.test.d.ts +1 -1
  173. package/dist/test/mediatype-config.test.js +16 -16
  174. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  175. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  176. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  177. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  178. package/dist/test/mocks/mock-search-responses.d.ts +8 -5
  179. package/dist/test/mocks/mock-search-responses.js +198 -103
  180. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  181. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  182. package/dist/test/mocks/mock-search-service.js +32 -25
  183. package/dist/test/mocks/mock-search-service.js.map +1 -1
  184. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  185. package/dist/test/restoration-state-handler.test.js +117 -117
  186. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  187. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  188. package/dist/test/text-overlay.test.d.ts +1 -1
  189. package/dist/test/text-overlay.test.js +41 -41
  190. package/dist/test/text-snippet-block.test.d.ts +1 -1
  191. package/dist/test/text-snippet-block.test.js +57 -57
  192. package/dist/test/tile-stats.test.d.ts +1 -1
  193. package/dist/test/tile-stats.test.js +33 -33
  194. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  195. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  196. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  197. package/dist/test/tiles/list/tile-list-compact.test.js +26 -26
  198. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  199. package/dist/test/tiles/list/tile-list.test.js +53 -36
  200. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  201. package/dist/test/utils/format-count.test.d.ts +1 -1
  202. package/dist/test/utils/format-count.test.js +23 -23
  203. package/dist/test/utils/format-date.test.d.ts +1 -1
  204. package/dist/test/utils/format-date.test.js +17 -17
  205. package/index.html +24 -24
  206. package/local.archive.org.cert +86 -86
  207. package/local.archive.org.key +27 -27
  208. package/package.json +115 -115
  209. package/renovate.json +6 -6
  210. package/src/collection-browser.ts +1488 -1523
  211. package/src/collection-facets/facet-tombstone-row.ts +40 -0
  212. package/src/collection-facets/more-facets-content.ts +8 -4
  213. package/src/collection-facets.ts +635 -597
  214. package/src/models.ts +18 -0
  215. package/src/styles/item-image-styles.ts +1 -0
  216. package/src/tiles/list/tile-list.ts +14 -10
  217. package/test/collection-browser.test.ts +599 -513
  218. package/test/collection-facets.test.ts +39 -0
  219. package/test/mocks/mock-search-responses.ts +226 -119
  220. package/test/mocks/mock-search-service.ts +61 -53
  221. package/test/tiles/list/tile-list.test.ts +21 -0
  222. package/tsconfig.json +21 -21
  223. package/web-dev-server.config.mjs +30 -30
  224. package/web-test-runner.config.mjs +41 -41
@@ -1,17 +1,17 @@
1
- import { CSSResultGroup, LitElement, nothing } from 'lit';
2
- import type { TileModel } from '../models';
3
- import './overlay/icon-overlay';
4
- import './overlay/text-overlay';
5
- export declare class ImageBlock extends LitElement {
6
- baseImageUrl?: string;
7
- isCompactTile: boolean;
8
- isListTile: boolean;
9
- loggedIn: boolean;
10
- model?: TileModel;
11
- viewSize: string;
12
- render(): import("lit-html").TemplateResult<1> | typeof nothing;
13
- private get baseClass();
14
- private get iconOverlayTemplate();
15
- private get textOverlayTemplate();
16
- static get styles(): CSSResultGroup;
17
- }
1
+ import { CSSResultGroup, LitElement, nothing } from 'lit';
2
+ import type { TileModel } from '../models';
3
+ import './overlay/icon-overlay';
4
+ import './overlay/text-overlay';
5
+ export declare class ImageBlock extends LitElement {
6
+ baseImageUrl?: string;
7
+ isCompactTile: boolean;
8
+ isListTile: boolean;
9
+ loggedIn: boolean;
10
+ model?: TileModel;
11
+ viewSize: string;
12
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
13
+ private get baseClass();
14
+ private get iconOverlayTemplate();
15
+ private get textOverlayTemplate();
16
+ static get styles(): CSSResultGroup;
17
+ }
@@ -1,21 +1,21 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { classMap } from 'lit/directives/class-map.js';
5
- import './overlay/icon-overlay';
6
- import './overlay/text-overlay';
7
- let ImageBlock = class ImageBlock extends LitElement {
8
- constructor() {
9
- super(...arguments);
10
- this.isCompactTile = false;
11
- this.isListTile = false;
12
- this.loggedIn = false;
13
- this.viewSize = 'desktop';
14
- }
15
- render() {
16
- var _a;
17
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier))
18
- return nothing;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import './overlay/icon-overlay';
6
+ import './overlay/text-overlay';
7
+ let ImageBlock = class ImageBlock extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.isCompactTile = false;
11
+ this.isListTile = false;
12
+ this.loggedIn = false;
13
+ this.viewSize = 'desktop';
14
+ }
15
+ render() {
16
+ var _a;
17
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier))
18
+ return nothing;
19
19
  return html `
20
20
  <div class=${classMap(this.baseClass)}>
21
21
  <item-image
@@ -29,44 +29,44 @@ let ImageBlock = class ImageBlock extends LitElement {
29
29
  </item-image>
30
30
  ${this.textOverlayTemplate} ${this.iconOverlayTemplate}
31
31
  </div>
32
- `;
33
- }
34
- get baseClass() {
35
- return {
36
- list: this.isListTile && !this.isCompactTile,
37
- 'list-compact': this.isListTile && this.isCompactTile,
38
- [this.viewSize]: true,
39
- };
40
- }
41
- get iconOverlayTemplate() {
42
- var _a, _b, _c;
43
- if (!this.isListTile)
44
- return nothing;
45
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
46
- return nothing;
32
+ `;
33
+ }
34
+ get baseClass() {
35
+ return {
36
+ list: this.isListTile && !this.isCompactTile,
37
+ 'list-compact': this.isListTile && this.isCompactTile,
38
+ [this.viewSize]: true,
39
+ };
40
+ }
41
+ get iconOverlayTemplate() {
42
+ var _a, _b, _c;
43
+ if (!this.isListTile)
44
+ return nothing;
45
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
46
+ return nothing;
47
47
  return html `
48
48
  <icon-overlay
49
49
  .loggedIn=${this.loggedIn}
50
50
  .loginRequired=${(_c = this.model) === null || _c === void 0 ? void 0 : _c.loginRequired}
51
51
  >
52
52
  </icon-overlay>
53
- `;
54
- }
55
- get textOverlayTemplate() {
56
- var _a, _b, _c;
57
- if (this.isListTile)
58
- return nothing;
59
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
60
- return nothing;
53
+ `;
54
+ }
55
+ get textOverlayTemplate() {
56
+ var _a, _b, _c;
57
+ if (this.isListTile)
58
+ return nothing;
59
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
60
+ return nothing;
61
61
  return html `
62
62
  <text-overlay
63
63
  .loggedIn=${this.loggedIn}
64
64
  .loginRequired=${(_c = this.model) === null || _c === void 0 ? void 0 : _c.loginRequired}
65
65
  >
66
66
  </text-overlay>
67
- `;
68
- }
69
- static get styles() {
67
+ `;
68
+ }
69
+ static get styles() {
70
70
  return css `
71
71
  div {
72
72
  display: flex;
@@ -104,29 +104,29 @@ let ImageBlock = class ImageBlock extends LitElement {
104
104
  width: 30px;
105
105
  height: 30px;
106
106
  }
107
- `;
108
- }
109
- };
110
- __decorate([
111
- property({ type: String })
112
- ], ImageBlock.prototype, "baseImageUrl", void 0);
113
- __decorate([
114
- property({ type: Boolean })
115
- ], ImageBlock.prototype, "isCompactTile", void 0);
116
- __decorate([
117
- property({ type: Boolean })
118
- ], ImageBlock.prototype, "isListTile", void 0);
119
- __decorate([
120
- property({ type: Boolean })
121
- ], ImageBlock.prototype, "loggedIn", void 0);
122
- __decorate([
123
- property({ type: Object })
124
- ], ImageBlock.prototype, "model", void 0);
125
- __decorate([
126
- property({ type: String })
127
- ], ImageBlock.prototype, "viewSize", void 0);
128
- ImageBlock = __decorate([
129
- customElement('image-block')
130
- ], ImageBlock);
131
- export { ImageBlock };
107
+ `;
108
+ }
109
+ };
110
+ __decorate([
111
+ property({ type: String })
112
+ ], ImageBlock.prototype, "baseImageUrl", void 0);
113
+ __decorate([
114
+ property({ type: Boolean })
115
+ ], ImageBlock.prototype, "isCompactTile", void 0);
116
+ __decorate([
117
+ property({ type: Boolean })
118
+ ], ImageBlock.prototype, "isListTile", void 0);
119
+ __decorate([
120
+ property({ type: Boolean })
121
+ ], ImageBlock.prototype, "loggedIn", void 0);
122
+ __decorate([
123
+ property({ type: Object })
124
+ ], ImageBlock.prototype, "model", void 0);
125
+ __decorate([
126
+ property({ type: String })
127
+ ], ImageBlock.prototype, "viewSize", void 0);
128
+ ImageBlock = __decorate([
129
+ customElement('image-block')
130
+ ], ImageBlock);
131
+ export { ImageBlock };
132
132
  //# sourceMappingURL=image-block.js.map
@@ -1,31 +1,31 @@
1
- import { CSSResultGroup, LitElement } from 'lit';
2
- import type { TileModel } from '../models';
3
- export declare class ItemImage extends LitElement {
4
- model?: TileModel;
5
- baseImageUrl?: string;
6
- isListTile: boolean;
7
- isCompactTile: boolean;
8
- loggedIn: boolean;
9
- private isWaveform;
10
- private baseImage;
11
- render(): import("lit-html").TemplateResult<1>;
12
- /**
13
- * Helpers
14
- */
15
- private get imageSrc();
16
- private get hashBasedGradient();
17
- private hashStrToInt;
18
- /**
19
- * Classes
20
- */
21
- private get itemBaseClass();
22
- private get itemImageClass();
23
- /**
24
- * Event listener sets isWaveform true if image is waveform
25
- */
26
- private onLoad;
27
- /**
28
- * CSS
29
- */
30
- static get styles(): CSSResultGroup;
31
- }
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ import type { TileModel } from '../models';
3
+ export declare class ItemImage extends LitElement {
4
+ model?: TileModel;
5
+ baseImageUrl?: string;
6
+ isListTile: boolean;
7
+ isCompactTile: boolean;
8
+ loggedIn: boolean;
9
+ private isWaveform;
10
+ private baseImage;
11
+ render(): import("lit-html").TemplateResult<1>;
12
+ /**
13
+ * Helpers
14
+ */
15
+ private get imageSrc();
16
+ private get hashBasedGradient();
17
+ private hashStrToInt;
18
+ /**
19
+ * Classes
20
+ */
21
+ private get itemBaseClass();
22
+ private get itemImageClass();
23
+ /**
24
+ * Event listener sets isWaveform true if image is waveform
25
+ */
26
+ private onLoad;
27
+ /**
28
+ * CSS
29
+ */
30
+ static get styles(): CSSResultGroup;
31
+ }
@@ -1,17 +1,17 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property, query, state } from 'lit/decorators.js';
4
- import { classMap } from 'lit/directives/class-map.js';
5
- import { baseItemImageStyles, waveformGradientStyles, } from '../styles/item-image-styles';
6
- let ItemImage = class ItemImage extends LitElement {
7
- constructor() {
8
- super(...arguments);
9
- this.isListTile = false;
10
- this.isCompactTile = false;
11
- this.loggedIn = false;
12
- this.isWaveform = false;
13
- }
14
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property, query, state } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import { baseItemImageStyles, waveformGradientStyles, } from '../styles/item-image-styles';
6
+ let ItemImage = class ItemImage extends LitElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.isListTile = false;
10
+ this.isCompactTile = false;
11
+ this.loggedIn = false;
12
+ this.isWaveform = false;
13
+ }
14
+ render() {
15
15
  return html `
16
16
  <div class=${classMap(this.itemBaseClass)}>
17
17
  <img
@@ -21,98 +21,98 @@ let ItemImage = class ItemImage extends LitElement {
21
21
  @load=${this.onLoad}
22
22
  />
23
23
  </div>
24
- `;
25
- }
26
- /**
27
- * Helpers
28
- */
29
- get imageSrc() {
30
- var _a;
31
- return `${this.baseImageUrl}/services/img/${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}`;
32
- }
33
- get hashBasedGradient() {
34
- var _a;
35
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
36
- return 'waveform-grad0';
37
- }
38
- const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
39
- return `waveform-grad${gradient}`;
40
- }
41
- hashStrToInt(str) {
42
- return str
43
- .split('')
44
- .reduce((acc, char) => acc + char.charCodeAt(0), 0);
45
- }
46
- /**
47
- * Classes
48
- */
49
- get itemBaseClass() {
50
- return {
51
- 'drop-shadow': true,
52
- 'list-box': this.isListTile,
53
- [this.hashBasedGradient]: this.isWaveform,
54
- };
55
- }
56
- get itemImageClass() {
57
- var _a, _b;
58
- const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
59
- return {
60
- contain: !this.isCompactTile && !this.isWaveform,
61
- cover: this.isCompactTile,
62
- blur: toBlur || false,
63
- waveform: this.isWaveform,
64
- };
65
- }
66
- /**
67
- * Event listener sets isWaveform true if image is waveform
68
- */
69
- onLoad() {
70
- var _a, _b;
71
- if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
72
- ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
73
- this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
74
- this.isWaveform = true;
75
- }
76
- }
77
- /**
78
- * CSS
79
- */
80
- static get styles() {
81
- return [
82
- baseItemImageStyles,
83
- waveformGradientStyles,
24
+ `;
25
+ }
26
+ /**
27
+ * Helpers
28
+ */
29
+ get imageSrc() {
30
+ var _a;
31
+ return `${this.baseImageUrl}/services/img/${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}`;
32
+ }
33
+ get hashBasedGradient() {
34
+ var _a;
35
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
36
+ return 'waveform-grad0';
37
+ }
38
+ const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
39
+ return `waveform-grad${gradient}`;
40
+ }
41
+ hashStrToInt(str) {
42
+ return str
43
+ .split('')
44
+ .reduce((acc, char) => acc + char.charCodeAt(0), 0);
45
+ }
46
+ /**
47
+ * Classes
48
+ */
49
+ get itemBaseClass() {
50
+ return {
51
+ 'drop-shadow': true,
52
+ 'list-box': this.isListTile,
53
+ [this.hashBasedGradient]: this.isWaveform,
54
+ };
55
+ }
56
+ get itemImageClass() {
57
+ var _a, _b;
58
+ const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
59
+ return {
60
+ contain: !this.isCompactTile && !this.isWaveform,
61
+ cover: this.isCompactTile,
62
+ blur: toBlur || false,
63
+ waveform: this.isWaveform,
64
+ };
65
+ }
66
+ /**
67
+ * Event listener sets isWaveform true if image is waveform
68
+ */
69
+ onLoad() {
70
+ var _a, _b;
71
+ if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
72
+ ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
73
+ this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
74
+ this.isWaveform = true;
75
+ }
76
+ }
77
+ /**
78
+ * CSS
79
+ */
80
+ static get styles() {
81
+ return [
82
+ baseItemImageStyles,
83
+ waveformGradientStyles,
84
84
  css `
85
85
  img {
86
86
  height: var(--imgHeight, 16rem);
87
87
  width: var(--imgWidth, 16rem);
88
88
  }
89
- `,
90
- ];
91
- }
92
- };
93
- __decorate([
94
- property({ type: Object })
95
- ], ItemImage.prototype, "model", void 0);
96
- __decorate([
97
- property({ type: String })
98
- ], ItemImage.prototype, "baseImageUrl", void 0);
99
- __decorate([
100
- property({ type: Boolean })
101
- ], ItemImage.prototype, "isListTile", void 0);
102
- __decorate([
103
- property({ type: Boolean })
104
- ], ItemImage.prototype, "isCompactTile", void 0);
105
- __decorate([
106
- property({ type: Boolean })
107
- ], ItemImage.prototype, "loggedIn", void 0);
108
- __decorate([
109
- state()
110
- ], ItemImage.prototype, "isWaveform", void 0);
111
- __decorate([
112
- query('img')
113
- ], ItemImage.prototype, "baseImage", void 0);
114
- ItemImage = __decorate([
115
- customElement('item-image')
116
- ], ItemImage);
117
- export { ItemImage };
89
+ `,
90
+ ];
91
+ }
92
+ };
93
+ __decorate([
94
+ property({ type: Object })
95
+ ], ItemImage.prototype, "model", void 0);
96
+ __decorate([
97
+ property({ type: String })
98
+ ], ItemImage.prototype, "baseImageUrl", void 0);
99
+ __decorate([
100
+ property({ type: Boolean })
101
+ ], ItemImage.prototype, "isListTile", void 0);
102
+ __decorate([
103
+ property({ type: Boolean })
104
+ ], ItemImage.prototype, "isCompactTile", void 0);
105
+ __decorate([
106
+ property({ type: Boolean })
107
+ ], ItemImage.prototype, "loggedIn", void 0);
108
+ __decorate([
109
+ state()
110
+ ], ItemImage.prototype, "isWaveform", void 0);
111
+ __decorate([
112
+ query('img')
113
+ ], ItemImage.prototype, "baseImage", void 0);
114
+ ItemImage = __decorate([
115
+ customElement('item-image')
116
+ ], ItemImage);
117
+ export { ItemImage };
118
118
  //# sourceMappingURL=item-image.js.map
@@ -1 +1 @@
1
- export declare function accountLabel(date: Date | undefined): string;
1
+ export declare function accountLabel(date: Date | undefined): string;
@@ -1,7 +1,7 @@
1
- export function accountLabel(date) {
2
- if (!date) {
3
- return '';
4
- }
5
- return `Archivist since ${date.getFullYear()}`;
6
- }
1
+ export function accountLabel(date) {
2
+ if (!date) {
3
+ return '';
4
+ }
5
+ return `Archivist since ${date.getFullYear()}`;
6
+ }
7
7
  //# sourceMappingURL=account-label.js.map
@@ -1 +1 @@
1
- export declare function dateLabel(sortField: string | undefined): string;
1
+ export declare function dateLabel(sortField: string | undefined): string;
@@ -1,13 +1,13 @@
1
- export function dateLabel(sortField) {
2
- switch (sortField) {
3
- case 'date':
4
- return 'Published';
5
- case 'reviewdate':
6
- return 'Reviewed';
7
- case 'addeddate':
8
- return 'Added';
9
- default:
10
- return 'Archived';
11
- }
12
- }
1
+ export function dateLabel(sortField) {
2
+ switch (sortField) {
3
+ case 'date':
4
+ return 'Published';
5
+ case 'reviewdate':
6
+ return 'Reviewed';
7
+ case 'addeddate':
8
+ return 'Added';
9
+ default:
10
+ return 'Archived';
11
+ }
12
+ }
13
13
  //# sourceMappingURL=date-label.js.map
@@ -1,12 +1,12 @@
1
- import { LitElement } from 'lit';
2
- import type { SortParam } from '@internetarchive/search-service';
3
- import type { TileModel } from '../../models';
4
- export declare class TileListCompactHeader extends LitElement {
5
- model?: TileModel;
6
- currentWidth?: number;
7
- sortParam: SortParam | null;
8
- mobileBreakpoint?: number;
9
- render(): import("lit-html").TemplateResult<1>;
10
- private get classSize();
11
- static get styles(): import("lit").CSSResult;
12
- }
1
+ import { LitElement } from 'lit';
2
+ import type { SortParam } from '@internetarchive/search-service';
3
+ import type { TileModel } from '../../models';
4
+ export declare class TileListCompactHeader extends LitElement {
5
+ model?: TileModel;
6
+ currentWidth?: number;
7
+ sortParam: SortParam | null;
8
+ mobileBreakpoint?: number;
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ private get classSize();
11
+ static get styles(): import("lit").CSSResult;
12
+ }
@@ -1,14 +1,14 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { dateLabel } from './date-label';
5
- let TileListCompactHeader = class TileListCompactHeader extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.sortParam = null;
9
- }
10
- render() {
11
- var _a;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { dateLabel } from './date-label';
5
+ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.sortParam = null;
9
+ }
10
+ render() {
11
+ var _a;
12
12
  return html `
13
13
  <div id="list-line-header" class="${this.classSize}">
14
14
  <div id="thumb"></div>
@@ -18,17 +18,17 @@ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
18
18
  <div id="icon"></div>
19
19
  <div id="views">Views</div>
20
20
  </div>
21
- `;
22
- }
23
- get classSize() {
24
- if (this.mobileBreakpoint &&
25
- this.currentWidth &&
26
- this.currentWidth < this.mobileBreakpoint) {
27
- return 'mobile';
28
- }
29
- return 'desktop';
30
- }
31
- static get styles() {
21
+ `;
22
+ }
23
+ get classSize() {
24
+ if (this.mobileBreakpoint &&
25
+ this.currentWidth &&
26
+ this.currentWidth < this.mobileBreakpoint) {
27
+ return 'mobile';
28
+ }
29
+ return 'desktop';
30
+ }
31
+ static get styles() {
32
32
  return css `
33
33
  html {
34
34
  font-size: unset;
@@ -62,23 +62,23 @@ let TileListCompactHeader = class TileListCompactHeader extends LitElement {
62
62
  #list-line-header.desktop {
63
63
  grid-template-columns: 51px 3fr 2fr 100px 20px 60px;
64
64
  }
65
- `;
66
- }
67
- };
68
- __decorate([
69
- property({ type: Object })
70
- ], TileListCompactHeader.prototype, "model", void 0);
71
- __decorate([
72
- property({ type: Number })
73
- ], TileListCompactHeader.prototype, "currentWidth", void 0);
74
- __decorate([
75
- property({ type: Object })
76
- ], TileListCompactHeader.prototype, "sortParam", void 0);
77
- __decorate([
78
- property({ type: Number })
79
- ], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
80
- TileListCompactHeader = __decorate([
81
- customElement('tile-list-compact-header')
82
- ], TileListCompactHeader);
83
- export { TileListCompactHeader };
65
+ `;
66
+ }
67
+ };
68
+ __decorate([
69
+ property({ type: Object })
70
+ ], TileListCompactHeader.prototype, "model", void 0);
71
+ __decorate([
72
+ property({ type: Number })
73
+ ], TileListCompactHeader.prototype, "currentWidth", void 0);
74
+ __decorate([
75
+ property({ type: Object })
76
+ ], TileListCompactHeader.prototype, "sortParam", void 0);
77
+ __decorate([
78
+ property({ type: Number })
79
+ ], TileListCompactHeader.prototype, "mobileBreakpoint", void 0);
80
+ TileListCompactHeader = __decorate([
81
+ customElement('tile-list-compact-header')
82
+ ], TileListCompactHeader);
83
+ export { TileListCompactHeader };
84
84
  //# sourceMappingURL=tile-list-compact-header.js.map