@internetarchive/collection-browser 0.3.7 → 0.3.8

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 (218) 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 +48 -47
  12. package/dist/src/app-root.js +271 -250
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +2 -2
  60. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  61. package/dist/src/assets/img/icons/reviews.js +2 -2
  62. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  63. package/dist/src/assets/img/icons/upload.js +2 -2
  64. package/dist/src/assets/img/icons/views.d.ts +1 -1
  65. package/dist/src/assets/img/icons/views.js +2 -2
  66. package/dist/src/circular-activity-indicator.d.ts +5 -5
  67. package/dist/src/circular-activity-indicator.js +17 -17
  68. package/dist/src/collection-browser.d.ts +278 -246
  69. package/dist/src/collection-browser.js +1105 -1031
  70. package/dist/src/collection-browser.js.map +1 -1
  71. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  72. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  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 -353
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  79. package/dist/src/collection-facets.d.ts +77 -77
  80. package/dist/src/collection-facets.js +388 -389
  81. package/dist/src/collection-facets.js.map +1 -1
  82. package/dist/src/empty-placeholder.d.ts +11 -11
  83. package/dist/src/empty-placeholder.js +42 -42
  84. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  85. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  86. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  87. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  88. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  89. package/dist/src/mediatype/mediatype-config.js +85 -85
  90. package/dist/src/models.d.ts +103 -103
  91. package/dist/src/models.js +117 -117
  92. package/dist/src/restoration-state-handler.d.ts +46 -46
  93. package/dist/src/restoration-state-handler.js +230 -230
  94. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  95. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  96. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  97. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  98. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  99. package/dist/src/sort-filter-bar/img/list.js +2 -2
  100. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  102. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  104. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  105. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  106. package/dist/src/styles/item-image-styles.d.ts +8 -8
  107. package/dist/src/styles/item-image-styles.js +9 -9
  108. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  109. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  110. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  111. package/dist/src/tiles/grid/account-tile.js +20 -20
  112. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  113. package/dist/src/tiles/grid/collection-tile.js +23 -23
  114. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  115. package/dist/src/tiles/grid/item-tile.js +87 -87
  116. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  117. package/dist/src/tiles/grid/tile-stats.js +40 -40
  118. package/dist/src/tiles/image-block.d.ts +17 -17
  119. package/dist/src/tiles/image-block.js +69 -69
  120. package/dist/src/tiles/item-image.d.ts +31 -31
  121. package/dist/src/tiles/item-image.js +103 -103
  122. package/dist/src/tiles/list/account-label.d.ts +1 -1
  123. package/dist/src/tiles/list/account-label.js +6 -6
  124. package/dist/src/tiles/list/date-label.d.ts +1 -1
  125. package/dist/src/tiles/list/date-label.js +12 -12
  126. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  127. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  128. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  129. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  130. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  131. package/dist/src/tiles/list/tile-list.js +275 -272
  132. package/dist/src/tiles/list/tile-list.js.map +1 -1
  133. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  134. package/dist/src/tiles/mediatype-icon.js +47 -47
  135. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  136. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  137. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  138. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  139. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  140. package/dist/src/tiles/text-snippet-block.js +81 -81
  141. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  142. package/dist/src/tiles/tile-dispatcher.js +128 -128
  143. package/dist/src/utils/analytics-events.d.ts +22 -22
  144. package/dist/src/utils/analytics-events.js +24 -24
  145. package/dist/src/utils/format-count.d.ts +7 -7
  146. package/dist/src/utils/format-count.js +76 -76
  147. package/dist/src/utils/format-date.d.ts +2 -2
  148. package/dist/src/utils/format-date.js +23 -23
  149. package/dist/test/collection-browser.test.d.ts +1 -1
  150. package/dist/test/collection-browser.test.js +583 -444
  151. package/dist/test/collection-browser.test.js.map +1 -1
  152. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  153. package/dist/test/collection-facets/facets-template.test.js +62 -62
  154. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  155. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  156. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  157. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  158. package/dist/test/collection-facets.test.d.ts +2 -2
  159. package/dist/test/collection-facets.test.js +544 -498
  160. package/dist/test/collection-facets.test.js.map +1 -1
  161. package/dist/test/empty-placeholder.test.d.ts +1 -1
  162. package/dist/test/empty-placeholder.test.js +33 -33
  163. package/dist/test/icon-overlay.test.d.ts +1 -1
  164. package/dist/test/icon-overlay.test.js +24 -24
  165. package/dist/test/image-block.test.d.ts +1 -1
  166. package/dist/test/image-block.test.js +48 -48
  167. package/dist/test/item-image.test.d.ts +1 -1
  168. package/dist/test/item-image.test.js +56 -56
  169. package/dist/test/mediatype-config.test.d.ts +1 -1
  170. package/dist/test/mediatype-config.test.js +16 -16
  171. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  172. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  173. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  174. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  175. package/dist/test/mocks/mock-search-responses.d.ts +10 -8
  176. package/dist/test/mocks/mock-search-responses.js +271 -198
  177. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  178. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  179. package/dist/test/mocks/mock-search-service.js +36 -32
  180. package/dist/test/mocks/mock-search-service.js.map +1 -1
  181. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  182. package/dist/test/restoration-state-handler.test.js +126 -126
  183. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  184. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  185. package/dist/test/text-overlay.test.d.ts +1 -1
  186. package/dist/test/text-overlay.test.js +41 -41
  187. package/dist/test/text-snippet-block.test.d.ts +1 -1
  188. package/dist/test/text-snippet-block.test.js +57 -57
  189. package/dist/test/tile-stats.test.d.ts +1 -1
  190. package/dist/test/tile-stats.test.js +33 -33
  191. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  192. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  193. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  194. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  195. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  196. package/dist/test/tiles/list/tile-list.test.js +96 -67
  197. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  198. package/dist/test/utils/format-count.test.d.ts +1 -1
  199. package/dist/test/utils/format-count.test.js +23 -23
  200. package/dist/test/utils/format-date.test.d.ts +1 -1
  201. package/dist/test/utils/format-date.test.js +17 -17
  202. package/index.html +24 -24
  203. package/local.archive.org.cert +86 -86
  204. package/local.archive.org.key +27 -27
  205. package/package.json +3 -3
  206. package/renovate.json +6 -6
  207. package/src/app-root.ts +32 -9
  208. package/src/collection-browser.ts +130 -35
  209. package/src/collection-facets.ts +2 -3
  210. package/src/tiles/list/tile-list.ts +6 -2
  211. package/test/collection-browser.test.ts +207 -0
  212. package/test/collection-facets.test.ts +67 -0
  213. package/test/mocks/mock-search-responses.ts +82 -0
  214. package/test/mocks/mock-search-service.ts +6 -0
  215. package/test/tiles/list/tile-list.test.ts +40 -0
  216. package/tsconfig.json +21 -21
  217. package/web-dev-server.config.mjs +30 -30
  218. 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