@internetarchive/collection-browser 0.4.9 → 0.4.10-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 (243) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +50 -50
  12. package/dist/src/app-root.js +278 -278
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +280 -281
  68. package/dist/src/collection-browser.js +1173 -1202
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  71. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  72. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  73. package/dist/src/collection-facets/facets-template.js +125 -125
  74. package/dist/src/collection-facets/more-facets-content.d.ts +75 -77
  75. package/dist/src/collection-facets/more-facets-content.js +340 -357
  76. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  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 +81 -83
  80. package/dist/src/collection-facets.js +375 -393
  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 +115 -115
  91. package/dist/src/models.js +125 -125
  92. package/dist/src/models.js.map +1 -1
  93. package/dist/src/restoration-state-handler.d.ts +45 -45
  94. package/dist/src/restoration-state-handler.js +230 -230
  95. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  96. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  97. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
  98. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  99. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  101. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/list.js +2 -2
  103. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  104. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  105. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  106. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  107. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +113 -108
  108. package/dist/src/sort-filter-bar/sort-filter-bar.js +614 -548
  109. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  110. package/dist/src/styles/item-image-styles.d.ts +8 -8
  111. package/dist/src/styles/item-image-styles.js +9 -9
  112. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  113. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  114. package/dist/src/tiles/grid/account-tile.d.ts +20 -20
  115. package/dist/src/tiles/grid/account-tile.js +64 -64
  116. package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
  117. package/dist/src/tiles/grid/collection-tile.js +71 -71
  118. package/dist/src/tiles/grid/item-tile.d.ts +32 -32
  119. package/dist/src/tiles/grid/item-tile.js +129 -126
  120. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  121. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  122. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  123. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  124. package/dist/src/tiles/grid/tile-stats.js +40 -40
  125. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  126. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  127. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  128. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  129. package/dist/src/tiles/image-block.d.ts +17 -17
  130. package/dist/src/tiles/image-block.js +72 -72
  131. package/dist/src/tiles/item-image.d.ts +35 -35
  132. package/dist/src/tiles/item-image.js +117 -117
  133. package/dist/src/tiles/list/account-label.d.ts +1 -1
  134. package/dist/src/tiles/list/account-label.js +6 -6
  135. package/dist/src/tiles/list/date-label.d.ts +1 -1
  136. package/dist/src/tiles/list/date-label.js +12 -12
  137. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  138. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  139. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  140. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  141. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  142. package/dist/src/tiles/list/tile-list.js +301 -301
  143. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  144. package/dist/src/tiles/mediatype-icon.js +47 -47
  145. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  146. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  147. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  148. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  149. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  150. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  151. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  152. package/dist/src/tiles/text-snippet-block.js +73 -73
  153. package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
  154. package/dist/src/tiles/tile-dispatcher.js +194 -194
  155. package/dist/src/utils/analytics-events.d.ts +22 -22
  156. package/dist/src/utils/analytics-events.js +24 -24
  157. package/dist/src/utils/format-count.d.ts +7 -7
  158. package/dist/src/utils/format-count.js +76 -76
  159. package/dist/src/utils/format-date.d.ts +2 -2
  160. package/dist/src/utils/format-date.js +23 -23
  161. package/dist/src/utils/format-unit-size.d.ts +2 -2
  162. package/dist/src/utils/format-unit-size.js +33 -33
  163. package/dist/test/collection-browser.test.d.ts +1 -1
  164. package/dist/test/collection-browser.test.js +584 -584
  165. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  166. package/dist/test/collection-facets/facets-template.test.js +62 -62
  167. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  168. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  169. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  170. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  171. package/dist/test/collection-facets.test.d.ts +2 -2
  172. package/dist/test/collection-facets.test.js +460 -508
  173. package/dist/test/collection-facets.test.js.map +1 -1
  174. package/dist/test/empty-placeholder.test.d.ts +1 -1
  175. package/dist/test/empty-placeholder.test.js +33 -33
  176. package/dist/test/icon-overlay.test.d.ts +1 -1
  177. package/dist/test/icon-overlay.test.js +24 -24
  178. package/dist/test/image-block.test.d.ts +1 -1
  179. package/dist/test/image-block.test.js +48 -48
  180. package/dist/test/item-image.test.d.ts +1 -1
  181. package/dist/test/item-image.test.js +84 -84
  182. package/dist/test/mediatype-config.test.d.ts +1 -1
  183. package/dist/test/mediatype-config.test.js +16 -16
  184. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  185. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  186. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  187. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  188. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  189. package/dist/test/mocks/mock-search-responses.js +341 -341
  190. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  191. package/dist/test/mocks/mock-search-service.js +40 -40
  192. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  193. package/dist/test/restoration-state-handler.test.js +125 -125
  194. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  195. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  196. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  197. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  198. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  199. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +208 -197
  200. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  201. package/dist/test/text-overlay.test.d.ts +1 -1
  202. package/dist/test/text-overlay.test.js +48 -48
  203. package/dist/test/text-snippet-block.test.d.ts +1 -1
  204. package/dist/test/text-snippet-block.test.js +57 -57
  205. package/dist/test/tile-stats.test.d.ts +1 -1
  206. package/dist/test/tile-stats.test.js +33 -33
  207. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  208. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  209. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  210. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  211. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  212. package/dist/test/tiles/grid/item-tile.test.js +158 -158
  213. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  214. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  215. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  216. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  217. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  218. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  219. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  220. package/dist/test/tiles/list/tile-list.test.js +163 -163
  221. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  222. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  223. package/dist/test/utils/format-count.test.d.ts +1 -1
  224. package/dist/test/utils/format-count.test.js +23 -23
  225. package/dist/test/utils/format-date.test.d.ts +1 -1
  226. package/dist/test/utils/format-date.test.js +17 -17
  227. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  228. package/dist/test/utils/format-unit-size.test.js +17 -17
  229. package/local.archive.org.cert +86 -86
  230. package/local.archive.org.key +27 -27
  231. package/package.json +4 -3
  232. package/renovate.json +6 -6
  233. package/src/collection-browser.ts +1 -34
  234. package/src/collection-facets/more-facets-content.ts +2 -22
  235. package/src/collection-facets.ts +1 -24
  236. package/src/models.ts +6 -6
  237. package/src/sort-filter-bar/sort-filter-bar.ts +283 -197
  238. package/src/tiles/grid/item-tile.ts +5 -1
  239. package/test/collection-facets.test.ts +0 -67
  240. package/test/sort-filter-bar/sort-filter-bar.test.ts +56 -39
  241. package/tsconfig.json +21 -21
  242. package/web-dev-server.config.mjs +30 -30
  243. package/web-test-runner.config.mjs +41 -41
@@ -1,15 +1,15 @@
1
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
2
- import type { SortParam } from '@internetarchive/search-service';
3
- import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
4
- import type { TileModel } from '../../models';
5
- import '../list/tile-list';
6
- export declare class TileHoverPane extends LitElement {
7
- model?: TileModel;
8
- baseNavigationUrl?: string;
9
- baseImageUrl?: string;
10
- loggedIn: boolean;
11
- sortParam?: SortParam;
12
- collectionNameCache?: CollectionNameCacheInterface;
13
- protected render(): TemplateResult;
14
- static get styles(): CSSResultGroup;
15
- }
1
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
2
+ import type { SortParam } from '@internetarchive/search-service';
3
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
4
+ import type { TileModel } from '../../models';
5
+ import '../list/tile-list';
6
+ export declare class TileHoverPane extends LitElement {
7
+ model?: TileModel;
8
+ baseNavigationUrl?: string;
9
+ baseImageUrl?: string;
10
+ loggedIn: boolean;
11
+ sortParam?: SortParam;
12
+ collectionNameCache?: CollectionNameCacheInterface;
13
+ protected render(): TemplateResult;
14
+ static get styles(): CSSResultGroup;
15
+ }
@@ -1,13 +1,13 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import '../list/tile-list';
5
- let TileHoverPane = class TileHoverPane extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.loggedIn = false;
9
- }
10
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import '../list/tile-list';
5
+ let TileHoverPane = class TileHoverPane extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.loggedIn = false;
9
+ }
10
+ render() {
11
11
  return html `
12
12
  <div id="container">
13
13
  <tile-list
@@ -19,9 +19,9 @@ let TileHoverPane = class TileHoverPane extends LitElement {
19
19
  .collectionNameCache=${this.collectionNameCache}
20
20
  ></tile-list>
21
21
  </div>
22
- `;
23
- }
24
- static get styles() {
22
+ `;
23
+ }
24
+ static get styles() {
25
25
  return css `
26
26
  :host {
27
27
  visibility: hidden;
@@ -60,29 +60,29 @@ let TileHoverPane = class TileHoverPane extends LitElement {
60
60
  max-width: 80vw;
61
61
  }
62
62
  }
63
- `;
64
- }
65
- };
66
- __decorate([
67
- property({ type: Object })
68
- ], TileHoverPane.prototype, "model", void 0);
69
- __decorate([
70
- property({ type: String })
71
- ], TileHoverPane.prototype, "baseNavigationUrl", void 0);
72
- __decorate([
73
- property({ type: String })
74
- ], TileHoverPane.prototype, "baseImageUrl", void 0);
75
- __decorate([
76
- property({ type: Boolean })
77
- ], TileHoverPane.prototype, "loggedIn", void 0);
78
- __decorate([
79
- property({ type: Object })
80
- ], TileHoverPane.prototype, "sortParam", void 0);
81
- __decorate([
82
- property({ type: Object })
83
- ], TileHoverPane.prototype, "collectionNameCache", void 0);
84
- TileHoverPane = __decorate([
85
- customElement('tile-hover-pane')
86
- ], TileHoverPane);
87
- export { TileHoverPane };
63
+ `;
64
+ }
65
+ };
66
+ __decorate([
67
+ property({ type: Object })
68
+ ], TileHoverPane.prototype, "model", void 0);
69
+ __decorate([
70
+ property({ type: String })
71
+ ], TileHoverPane.prototype, "baseNavigationUrl", void 0);
72
+ __decorate([
73
+ property({ type: String })
74
+ ], TileHoverPane.prototype, "baseImageUrl", void 0);
75
+ __decorate([
76
+ property({ type: Boolean })
77
+ ], TileHoverPane.prototype, "loggedIn", void 0);
78
+ __decorate([
79
+ property({ type: Object })
80
+ ], TileHoverPane.prototype, "sortParam", void 0);
81
+ __decorate([
82
+ property({ type: Object })
83
+ ], TileHoverPane.prototype, "collectionNameCache", void 0);
84
+ TileHoverPane = __decorate([
85
+ customElement('tile-hover-pane')
86
+ ], TileHoverPane);
87
+ export { TileHoverPane };
88
88
  //# sourceMappingURL=tile-hover-pane.js.map
@@ -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,23 +29,23 @@ 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
- var _a;
36
- return {
37
- list: this.isListTile && !this.isCompactTile,
38
- 'list-compact': this.isListTile && this.isCompactTile,
39
- collection: ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'collection',
40
- [this.viewSize]: true,
41
- };
42
- }
43
- get iconOverlayTemplate() {
44
- var _a, _b, _c;
45
- if (!this.isListTile)
46
- return nothing;
47
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
48
- return nothing;
32
+ `;
33
+ }
34
+ get baseClass() {
35
+ var _a;
36
+ return {
37
+ list: this.isListTile && !this.isCompactTile,
38
+ 'list-compact': this.isListTile && this.isCompactTile,
39
+ collection: ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'collection',
40
+ [this.viewSize]: true,
41
+ };
42
+ }
43
+ get iconOverlayTemplate() {
44
+ var _a, _b, _c;
45
+ if (!this.isListTile)
46
+ return nothing;
47
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
48
+ return nothing;
49
49
  return html `
50
50
  <icon-overlay
51
51
  .loggedIn=${this.loggedIn}
@@ -53,14 +53,14 @@ let ImageBlock = class ImageBlock extends LitElement {
53
53
  .isCompactTile=${this.isCompactTile}
54
54
  >
55
55
  </icon-overlay>
56
- `;
57
- }
58
- get textOverlayTemplate() {
59
- var _a, _b, _c;
60
- if (this.isListTile)
61
- return nothing;
62
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
63
- return nothing;
56
+ `;
57
+ }
58
+ get textOverlayTemplate() {
59
+ var _a, _b, _c;
60
+ if (this.isListTile)
61
+ return nothing;
62
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.loginRequired) && !((_b = this.model) === null || _b === void 0 ? void 0 : _b.contentWarning))
63
+ return nothing;
64
64
  return html `
65
65
  <text-overlay
66
66
  .loggedIn=${this.loggedIn}
@@ -68,10 +68,10 @@ let ImageBlock = class ImageBlock extends LitElement {
68
68
  ?iconRequired=${true}
69
69
  >
70
70
  </text-overlay>
71
- `;
72
- }
73
- static get styles() {
74
- const imageBlockBackgroundColor = css `var(--imageBlockBackgroundColor, #f1f1f4)`;
71
+ `;
72
+ }
73
+ static get styles() {
74
+ const imageBlockBackgroundColor = css `var(--imageBlockBackgroundColor, #f1f1f4)`;
75
75
  return css `
76
76
  div {
77
77
  display: flex;
@@ -130,29 +130,29 @@ let ImageBlock = class ImageBlock extends LitElement {
130
130
  width: 30px;
131
131
  height: 30px;
132
132
  }
133
- `;
134
- }
135
- };
136
- __decorate([
137
- property({ type: String })
138
- ], ImageBlock.prototype, "baseImageUrl", void 0);
139
- __decorate([
140
- property({ type: Boolean })
141
- ], ImageBlock.prototype, "isCompactTile", void 0);
142
- __decorate([
143
- property({ type: Boolean })
144
- ], ImageBlock.prototype, "isListTile", void 0);
145
- __decorate([
146
- property({ type: Boolean })
147
- ], ImageBlock.prototype, "loggedIn", void 0);
148
- __decorate([
149
- property({ type: Object })
150
- ], ImageBlock.prototype, "model", void 0);
151
- __decorate([
152
- property({ type: String })
153
- ], ImageBlock.prototype, "viewSize", void 0);
154
- ImageBlock = __decorate([
155
- customElement('image-block')
156
- ], ImageBlock);
157
- export { ImageBlock };
133
+ `;
134
+ }
135
+ };
136
+ __decorate([
137
+ property({ type: String })
138
+ ], ImageBlock.prototype, "baseImageUrl", void 0);
139
+ __decorate([
140
+ property({ type: Boolean })
141
+ ], ImageBlock.prototype, "isCompactTile", void 0);
142
+ __decorate([
143
+ property({ type: Boolean })
144
+ ], ImageBlock.prototype, "isListTile", void 0);
145
+ __decorate([
146
+ property({ type: Boolean })
147
+ ], ImageBlock.prototype, "loggedIn", void 0);
148
+ __decorate([
149
+ property({ type: Object })
150
+ ], ImageBlock.prototype, "model", void 0);
151
+ __decorate([
152
+ property({ type: String })
153
+ ], ImageBlock.prototype, "viewSize", void 0);
154
+ ImageBlock = __decorate([
155
+ customElement('image-block')
156
+ ], ImageBlock);
157
+ export { ImageBlock };
158
158
  //# sourceMappingURL=image-block.js.map
@@ -1,35 +1,35 @@
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
- * Helper function to determine if account tile image
25
- */
26
- private get isAccountImage();
27
- /**
28
- * Event listener sets isWaveform true if image is waveform
29
- */
30
- private onLoad;
31
- /**
32
- * CSS
33
- */
34
- static get styles(): CSSResultGroup;
35
- }
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
+ * Helper function to determine if account tile image
25
+ */
26
+ private get isAccountImage();
27
+ /**
28
+ * Event listener sets isWaveform true if image is waveform
29
+ */
30
+ private onLoad;
31
+ /**
32
+ * CSS
33
+ */
34
+ static get styles(): CSSResultGroup;
35
+ }
@@ -1,17 +1,17 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing } 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, nothing } 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,112 +21,112 @@ 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
- // Don't try to load invalid image URLs
32
- return this.baseImageUrl && ((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)
33
- ? `${this.baseImageUrl}/services/img/${this.model.identifier}`
34
- : nothing;
35
- }
36
- get hashBasedGradient() {
37
- var _a;
38
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
39
- return 'waveform-grad0';
40
- }
41
- const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
42
- return `waveform-grad${gradient}`;
43
- }
44
- hashStrToInt(str) {
45
- return str
46
- .split('')
47
- .reduce((acc, char) => acc + char.charCodeAt(0), 0);
48
- }
49
- /**
50
- * Classes
51
- */
52
- get itemBaseClass() {
53
- return {
54
- 'drop-shadow': true,
55
- 'list-box': this.isListTile,
56
- [this.hashBasedGradient]: this.isWaveform,
57
- };
58
- }
59
- get itemImageClass() {
60
- var _a, _b, _c;
61
- const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
62
- return {
63
- contain: !this.isCompactTile && !this.isWaveform,
64
- cover: this.isCompactTile,
65
- blur: toBlur || false,
66
- waveform: this.isWaveform,
67
- 'account-image': this.isAccountImage,
68
- 'collection-image': ((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'collection', // for collection tile image
69
- };
70
- }
71
- /**
72
- * Helper function to determine if account tile image
73
- */
74
- get isAccountImage() {
75
- var _a;
76
- return (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'account' &&
77
- !this.isCompactTile &&
78
- !this.isListTile);
79
- }
80
- /**
81
- * Event listener sets isWaveform true if image is waveform
82
- */
83
- onLoad() {
84
- var _a, _b;
85
- if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
86
- ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
87
- this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
88
- this.isWaveform = true;
89
- }
90
- }
91
- /**
92
- * CSS
93
- */
94
- static get styles() {
95
- return [
96
- baseItemImageStyles,
97
- waveformGradientStyles,
24
+ `;
25
+ }
26
+ /**
27
+ * Helpers
28
+ */
29
+ get imageSrc() {
30
+ var _a;
31
+ // Don't try to load invalid image URLs
32
+ return this.baseImageUrl && ((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)
33
+ ? `${this.baseImageUrl}/services/img/${this.model.identifier}`
34
+ : nothing;
35
+ }
36
+ get hashBasedGradient() {
37
+ var _a;
38
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
39
+ return 'waveform-grad0';
40
+ }
41
+ const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
42
+ return `waveform-grad${gradient}`;
43
+ }
44
+ hashStrToInt(str) {
45
+ return str
46
+ .split('')
47
+ .reduce((acc, char) => acc + char.charCodeAt(0), 0);
48
+ }
49
+ /**
50
+ * Classes
51
+ */
52
+ get itemBaseClass() {
53
+ return {
54
+ 'drop-shadow': true,
55
+ 'list-box': this.isListTile,
56
+ [this.hashBasedGradient]: this.isWaveform,
57
+ };
58
+ }
59
+ get itemImageClass() {
60
+ var _a, _b, _c;
61
+ const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
62
+ return {
63
+ contain: !this.isCompactTile && !this.isWaveform,
64
+ cover: this.isCompactTile,
65
+ blur: toBlur || false,
66
+ waveform: this.isWaveform,
67
+ 'account-image': this.isAccountImage,
68
+ 'collection-image': ((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'collection', // for collection tile image
69
+ };
70
+ }
71
+ /**
72
+ * Helper function to determine if account tile image
73
+ */
74
+ get isAccountImage() {
75
+ var _a;
76
+ return (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'account' &&
77
+ !this.isCompactTile &&
78
+ !this.isListTile);
79
+ }
80
+ /**
81
+ * Event listener sets isWaveform true if image is waveform
82
+ */
83
+ onLoad() {
84
+ var _a, _b;
85
+ if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
86
+ ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
87
+ this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
88
+ this.isWaveform = true;
89
+ }
90
+ }
91
+ /**
92
+ * CSS
93
+ */
94
+ static get styles() {
95
+ return [
96
+ baseItemImageStyles,
97
+ waveformGradientStyles,
98
98
  css `
99
99
  img {
100
100
  height: var(--imgHeight, 16rem);
101
101
  width: var(--imgWidth, 16rem);
102
102
  }
103
- `,
104
- ];
105
- }
106
- };
107
- __decorate([
108
- property({ type: Object })
109
- ], ItemImage.prototype, "model", void 0);
110
- __decorate([
111
- property({ type: String })
112
- ], ItemImage.prototype, "baseImageUrl", void 0);
113
- __decorate([
114
- property({ type: Boolean })
115
- ], ItemImage.prototype, "isListTile", void 0);
116
- __decorate([
117
- property({ type: Boolean })
118
- ], ItemImage.prototype, "isCompactTile", void 0);
119
- __decorate([
120
- property({ type: Boolean })
121
- ], ItemImage.prototype, "loggedIn", void 0);
122
- __decorate([
123
- state()
124
- ], ItemImage.prototype, "isWaveform", void 0);
125
- __decorate([
126
- query('img')
127
- ], ItemImage.prototype, "baseImage", void 0);
128
- ItemImage = __decorate([
129
- customElement('item-image')
130
- ], ItemImage);
131
- export { ItemImage };
103
+ `,
104
+ ];
105
+ }
106
+ };
107
+ __decorate([
108
+ property({ type: Object })
109
+ ], ItemImage.prototype, "model", void 0);
110
+ __decorate([
111
+ property({ type: String })
112
+ ], ItemImage.prototype, "baseImageUrl", void 0);
113
+ __decorate([
114
+ property({ type: Boolean })
115
+ ], ItemImage.prototype, "isListTile", void 0);
116
+ __decorate([
117
+ property({ type: Boolean })
118
+ ], ItemImage.prototype, "isCompactTile", void 0);
119
+ __decorate([
120
+ property({ type: Boolean })
121
+ ], ItemImage.prototype, "loggedIn", void 0);
122
+ __decorate([
123
+ state()
124
+ ], ItemImage.prototype, "isWaveform", void 0);
125
+ __decorate([
126
+ query('img')
127
+ ], ItemImage.prototype, "baseImage", void 0);
128
+ ItemImage = __decorate([
129
+ customElement('item-image')
130
+ ], ItemImage);
131
+ export { ItemImage };
132
132
  //# 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