@internetarchive/collection-browser 0.4.3-alpha.9 → 0.4.4-alpha

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 (250) 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 -48
  12. package/dist/src/app-root.js +449 -412
  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 +315 -276
  69. package/dist/src/collection-browser.js +1276 -1179
  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 +77 -77
  76. package/dist/src/collection-facets/more-facets-content.js +357 -357
  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 +78 -78
  80. package/dist/src/collection-facets.js +391 -391
  81. package/dist/src/empty-placeholder.d.ts +11 -11
  82. package/dist/src/empty-placeholder.js +42 -42
  83. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  84. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  85. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  86. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  87. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  88. package/dist/src/mediatype/mediatype-config.js +85 -85
  89. package/dist/src/models.d.ts +114 -112
  90. package/dist/src/models.js +125 -125
  91. package/dist/src/models.js.map +1 -1
  92. package/dist/src/restoration-state-handler.d.ts +45 -45
  93. package/dist/src/restoration-state-handler.js +230 -230
  94. package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
  95. package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
  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 +108 -108
  105. package/dist/src/sort-filter-bar/sort-filter-bar.js +428 -428
  106. package/dist/src/styles/item-image-styles.d.ts +8 -8
  107. package/dist/src/styles/item-image-styles.js +22 -12
  108. package/dist/src/styles/item-image-styles.js.map +1 -1
  109. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  110. package/dist/src/tiles/collection-browser-loading-tile.js +16 -16
  111. package/dist/src/tiles/collection-browser-loading-tile.js.map +1 -1
  112. package/dist/src/tiles/grid/account-tile.d.ts +17 -17
  113. package/dist/src/tiles/grid/account-tile.js +48 -47
  114. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  115. package/dist/src/tiles/grid/collection-tile.d.ts +14 -7
  116. package/dist/src/tiles/grid/collection-tile.js +112 -146
  117. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  118. package/dist/src/tiles/grid/item-tile.d.ts +29 -29
  119. package/dist/src/tiles/grid/item-tile.js +110 -105
  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 +12 -8
  123. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
  124. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  125. package/dist/src/tiles/grid/tile-stats.js +41 -40
  126. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  127. package/dist/src/tiles/image-block.d.ts +17 -17
  128. package/dist/src/tiles/image-block.js +76 -72
  129. package/dist/src/tiles/image-block.js.map +1 -1
  130. package/dist/src/tiles/item-image.d.ts +35 -35
  131. package/dist/src/tiles/item-image.js +117 -116
  132. package/dist/src/tiles/item-image.js.map +1 -1
  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 +93 -93
  141. package/dist/src/tiles/list/tile-list.d.ts +53 -53
  142. package/dist/src/tiles/list/tile-list.js +279 -279
  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 +36 -36
  154. package/dist/src/tiles/tile-dispatcher.js +145 -128
  155. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  156. package/dist/src/utils/analytics-events.d.ts +22 -22
  157. package/dist/src/utils/analytics-events.js +24 -24
  158. package/dist/src/utils/format-count.d.ts +7 -7
  159. package/dist/src/utils/format-count.js +76 -76
  160. package/dist/src/utils/format-date.d.ts +2 -2
  161. package/dist/src/utils/format-date.js +23 -23
  162. package/dist/src/utils/format-unit-size.d.ts +2 -0
  163. package/dist/src/utils/format-unit-size.js +34 -0
  164. package/dist/src/utils/format-unit-size.js.map +1 -0
  165. package/dist/test/collection-browser.test.d.ts +1 -1
  166. package/dist/test/collection-browser.test.js +646 -646
  167. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  168. package/dist/test/collection-facets/facets-template.test.js +62 -62
  169. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  170. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  171. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  172. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  173. package/dist/test/collection-facets.test.d.ts +2 -2
  174. package/dist/test/collection-facets.test.js +544 -544
  175. package/dist/test/empty-placeholder.test.d.ts +1 -1
  176. package/dist/test/empty-placeholder.test.js +33 -33
  177. package/dist/test/icon-overlay.test.d.ts +1 -1
  178. package/dist/test/icon-overlay.test.js +24 -24
  179. package/dist/test/image-block.test.d.ts +1 -1
  180. package/dist/test/image-block.test.js +48 -48
  181. package/dist/test/item-image.test.d.ts +1 -1
  182. package/dist/test/item-image.test.js +84 -80
  183. package/dist/test/item-image.test.js.map +1 -1
  184. package/dist/test/mediatype-config.test.d.ts +1 -1
  185. package/dist/test/mediatype-config.test.js +16 -16
  186. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  187. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  188. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  189. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  190. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  191. package/dist/test/mocks/mock-search-responses.js +341 -341
  192. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  193. package/dist/test/mocks/mock-search-service.js +40 -40
  194. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  195. package/dist/test/restoration-state-handler.test.js +125 -125
  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 +43 -43
  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 +141 -141
  200. package/dist/test/text-overlay.test.d.ts +1 -1
  201. package/dist/test/text-overlay.test.js +48 -48
  202. package/dist/test/text-snippet-block.test.d.ts +1 -1
  203. package/dist/test/text-snippet-block.test.js +57 -57
  204. package/dist/test/tile-stats.test.d.ts +1 -1
  205. package/dist/test/tile-stats.test.js +33 -33
  206. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  207. package/dist/test/tiles/grid/account-tile.test.js +60 -60
  208. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -0
  209. package/dist/test/tiles/grid/collection-tile.test.js +73 -0
  210. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -0
  211. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  212. package/dist/test/tiles/grid/item-tile.test.js +142 -129
  213. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  214. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  215. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  216. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  217. package/dist/test/tiles/list/tile-list.test.js +123 -123
  218. package/dist/test/utils/format-count.test.d.ts +1 -1
  219. package/dist/test/utils/format-count.test.js +23 -23
  220. package/dist/test/utils/format-date.test.d.ts +1 -1
  221. package/dist/test/utils/format-date.test.js +17 -17
  222. package/dist/test/utils/format-unit-size.test.d.ts +1 -0
  223. package/dist/test/utils/format-unit-size.test.js +18 -0
  224. package/dist/test/utils/format-unit-size.test.js.map +1 -0
  225. package/index.html +24 -24
  226. package/local.archive.org.cert +86 -86
  227. package/local.archive.org.key +27 -27
  228. package/package.json +2 -2
  229. package/renovate.json +6 -6
  230. package/src/app-root.ts +214 -169
  231. package/src/collection-browser.ts +122 -3
  232. package/src/models.ts +2 -0
  233. package/src/styles/item-image-styles.ts +13 -3
  234. package/src/tiles/collection-browser-loading-tile.ts +1 -1
  235. package/src/tiles/grid/account-tile.ts +4 -2
  236. package/src/tiles/grid/collection-tile.ts +106 -136
  237. package/src/tiles/grid/item-tile.ts +8 -2
  238. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +6 -2
  239. package/src/tiles/grid/tile-stats.ts +1 -0
  240. package/src/tiles/image-block.ts +5 -2
  241. package/src/tiles/item-image.ts +4 -3
  242. package/src/tiles/tile-dispatcher.ts +17 -0
  243. package/src/utils/format-unit-size.ts +43 -0
  244. package/test/item-image.test.ts +4 -0
  245. package/test/tiles/grid/collection-tile.test.ts +85 -0
  246. package/test/tiles/grid/item-tile.test.ts +30 -4
  247. package/test/utils/format-unit-size.test.ts +21 -0
  248. package/tsconfig.json +21 -21
  249. package/web-dev-server.config.mjs +30 -30
  250. package/web-test-runner.config.mjs +41 -41
@@ -1,8 +1,8 @@
1
- /**
2
- * Base item-image styles
3
- */
4
- export declare const baseItemImageStyles: import("lit").CSSResult;
5
- /**
6
- * Waveform styles
7
- */
8
- export declare const waveformGradientStyles: import("lit").CSSResult;
1
+ /**
2
+ * Base item-image styles
3
+ */
4
+ export declare const baseItemImageStyles: import("lit").CSSResult;
5
+ /**
6
+ * Waveform styles
7
+ */
8
+ export declare const waveformGradientStyles: import("lit").CSSResult;
@@ -1,10 +1,9 @@
1
- import { css } from 'lit';
2
- /**
3
- * Base item-image styles
4
- */
1
+ import { css } from 'lit';
2
+ /**
3
+ * Base item-image styles
4
+ */
5
5
  export const baseItemImageStyles = css `
6
6
  .drop-shadow {
7
- filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8));
8
7
  overflow: hidden;
9
8
  height: 100%;
10
9
  }
@@ -29,16 +28,27 @@ export const baseItemImageStyles = css `
29
28
 
30
29
  .blur {
31
30
  filter: blur(15px);
32
- box-shadow: 1px 1px 2px 0px;
31
+ box-shadow: 1px 1px 2px 0;
33
32
  }
34
33
 
35
- .radius50 {
34
+ .account-image {
35
+ object-fit: cover;
36
+ background-position: 50% 50%;
36
37
  border-radius: 50%;
38
+ width: 160px;
39
+ height: 160px;
40
+ }
41
+
42
+ .collection-image {
43
+ object-fit: cover;
44
+ border-radius: 8px;
45
+ width: 100%;
46
+ height: 160px;
37
47
  }
38
- `;
39
- /**
40
- * Waveform styles
41
- */
48
+ `;
49
+ /**
50
+ * Waveform styles
51
+ */
42
52
  export const waveformGradientStyles = css `
43
53
  .waveform {
44
54
  mix-blend-mode: screen;
@@ -101,5 +111,5 @@ export const waveformGradientStyles = css `
101
111
  hsl(0, 0%, 0%)
102
112
  );
103
113
  }
104
- `;
114
+ `;
105
115
  //# sourceMappingURL=item-image-styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-image-styles.js","sourceRoot":"","sources":["../../../src/styles/item-image-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DxC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * Base item-image styles\n */\nexport const baseItemImageStyles = css`\n .drop-shadow {\n filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8));\n overflow: hidden;\n height: 100%;\n }\n\n .list-box {\n overflow: hidden;\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n }\n\n .contain {\n object-fit: contain;\n object-position: center;\n height: 100%;\n width: 100%;\n }\n\n .cover {\n object-fit: cover;\n }\n\n .blur {\n filter: blur(15px);\n box-shadow: 1px 1px 2px 0px;\n }\n\n .radius50 {\n border-radius: 50%;\n }\n`;\n\n/**\n * Waveform styles\n */\nexport const waveformGradientStyles = css`\n .waveform {\n mix-blend-mode: screen;\n position: relative;\n height: 62.5%;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .waveform-grad0 {\n background: linear-gradient(\n hsl(340, 80%, 55%),\n hsl(0, 80%, 33%) 35%,\n hsl(0, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad1 {\n background: linear-gradient(\n hsl(300, 80%, 55%),\n hsl(330, 80%, 33%) 35%,\n hsl(330, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad2 {\n background: linear-gradient(\n hsl(200, 80%, 55%),\n hsl(230, 80%, 33%) 35%,\n hsl(230, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad3 {\n background: linear-gradient(\n hsl(160, 80%, 55%),\n hsl(190, 80%, 33%) 35%,\n hsl(190, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad4 {\n background: linear-gradient(\n hsl(250, 80%, 55%),\n hsl(280, 80%, 33%) 35%,\n hsl(280, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad5 {\n background: linear-gradient(\n hsl(280, 80%, 55%),\n hsl(310, 80%, 33%) 35%,\n hsl(310, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n`;\n"]}
1
+ {"version":3,"file":"item-image-styles.js","sourceRoot":"","sources":["../../../src/styles/item-image-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DxC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * Base item-image styles\n */\nexport const baseItemImageStyles = css`\n .drop-shadow {\n overflow: hidden;\n height: 100%;\n }\n\n .list-box {\n overflow: hidden;\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n }\n\n .contain {\n object-fit: contain;\n object-position: center;\n height: 100%;\n width: 100%;\n }\n\n .cover {\n object-fit: cover;\n }\n\n .blur {\n filter: blur(15px);\n box-shadow: 1px 1px 2px 0;\n }\n\n .account-image {\n object-fit: cover;\n background-position: 50% 50%;\n border-radius: 50%;\n width: 160px;\n height: 160px;\n }\n\n .collection-image {\n object-fit: cover;\n border-radius: 8px;\n width: 100%;\n height: 160px;\n }\n`;\n\n/**\n * Waveform styles\n */\nexport const waveformGradientStyles = css`\n .waveform {\n mix-blend-mode: screen;\n position: relative;\n height: 62.5%;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .waveform-grad0 {\n background: linear-gradient(\n hsl(340, 80%, 55%),\n hsl(0, 80%, 33%) 35%,\n hsl(0, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad1 {\n background: linear-gradient(\n hsl(300, 80%, 55%),\n hsl(330, 80%, 33%) 35%,\n hsl(330, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad2 {\n background: linear-gradient(\n hsl(200, 80%, 55%),\n hsl(230, 80%, 33%) 35%,\n hsl(230, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad3 {\n background: linear-gradient(\n hsl(160, 80%, 55%),\n hsl(190, 80%, 33%) 35%,\n hsl(190, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad4 {\n background: linear-gradient(\n hsl(250, 80%, 55%),\n hsl(280, 80%, 33%) 35%,\n hsl(280, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n\n .waveform-grad5 {\n background: linear-gradient(\n hsl(280, 80%, 55%),\n hsl(310, 80%, 33%) 35%,\n hsl(310, 80%, 22%) 70%,\n hsl(0, 0%, 0%)\n );\n }\n`;\n"]}
@@ -1,5 +1,5 @@
1
- import { LitElement } from 'lit';
2
- export declare class CollectionBrowserLoadingTile extends LitElement {
3
- render(): import("lit-html").TemplateResult<1>;
4
- static get styles(): import("lit").CSSResult;
5
- }
1
+ import { LitElement } from 'lit';
2
+ export declare class CollectionBrowserLoadingTile extends LitElement {
3
+ render(): import("lit-html").TemplateResult<1>;
4
+ static get styles(): import("lit").CSSResult;
5
+ }
@@ -1,11 +1,11 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- let CollectionBrowserLoadingTile = class CollectionBrowserLoadingTile extends LitElement {
5
- render() {
6
- return html ` <div id="container"></div> `;
7
- }
8
- static get styles() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ let CollectionBrowserLoadingTile = class CollectionBrowserLoadingTile extends LitElement {
5
+ render() {
6
+ return html ` <div id="container"></div> `;
7
+ }
8
+ static get styles() {
9
9
  return css `
10
10
  :host {
11
11
  display: block;
@@ -14,16 +14,16 @@ let CollectionBrowserLoadingTile = class CollectionBrowserLoadingTile extends Li
14
14
 
15
15
  #container {
16
16
  background: linear-gradient(to right bottom, #dddddd, #d8d8d8);
17
- border-radius: var(--collectionTileCornerRadius, 4px);
17
+ border-radius: var(--tileCornerRadius, 4px);
18
18
  background-size: 100% 100%;
19
19
  display: block;
20
20
  height: 100%;
21
21
  }
22
- `;
23
- }
24
- };
25
- CollectionBrowserLoadingTile = __decorate([
26
- customElement('collection-browser-loading-tile')
27
- ], CollectionBrowserLoadingTile);
28
- export { CollectionBrowserLoadingTile };
22
+ `;
23
+ }
24
+ };
25
+ CollectionBrowserLoadingTile = __decorate([
26
+ customElement('collection-browser-loading-tile')
27
+ ], CollectionBrowserLoadingTile);
28
+ export { CollectionBrowserLoadingTile };
29
29
  //# sourceMappingURL=collection-browser-loading-tile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-browser-loading-tile.js","sourceRoot":"","sources":["../../../src/tiles/collection-browser-loading-tile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,IAAa,4BAA4B,GAAzC,MAAa,4BAA6B,SAAQ,UAAU;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAA,8BAA8B,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;KAaT,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,4BAA4B;IADxC,aAAa,CAAC,iCAAiC,CAAC;GACpC,4BAA4B,CAqBxC;SArBY,4BAA4B","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('collection-browser-loading-tile')\nexport class CollectionBrowserLoadingTile extends LitElement {\n render() {\n return html` <div id=\"container\"></div> `;\n }\n\n static get styles() {\n return css`\n :host {\n display: block;\n height: 100%;\n }\n\n #container {\n background: linear-gradient(to right bottom, #dddddd, #d8d8d8);\n border-radius: var(--collectionTileCornerRadius, 4px);\n background-size: 100% 100%;\n display: block;\n height: 100%;\n }\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"collection-browser-loading-tile.js","sourceRoot":"","sources":["../../../src/tiles/collection-browser-loading-tile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,IAAa,4BAA4B,GAAzC,MAAa,4BAA6B,SAAQ,UAAU;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAA,8BAA8B,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;KAaT,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,4BAA4B;IADxC,aAAa,CAAC,iCAAiC,CAAC;GACpC,4BAA4B,CAqBxC;SArBY,4BAA4B","sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('collection-browser-loading-tile')\nexport class CollectionBrowserLoadingTile extends LitElement {\n render() {\n return html` <div id=\"container\"></div> `;\n }\n\n static get styles() {\n return css`\n :host {\n display: block;\n height: 100%;\n }\n\n #container {\n background: linear-gradient(to right bottom, #dddddd, #d8d8d8);\n border-radius: var(--tileCornerRadius, 4px);\n background-size: 100% 100%;\n display: block;\n height: 100%;\n }\n `;\n }\n}\n"]}
@@ -1,17 +1,17 @@
1
- import { LitElement, TemplateResult } from 'lit';
2
- import type { TileModel } from '../../models';
3
- import '../image-block';
4
- import './tile-stats';
5
- export declare class AccountTile extends LitElement {
6
- model?: TileModel;
7
- baseImageUrl?: string;
8
- render(): TemplateResult<1>;
9
- private get getAvatarTemplate();
10
- private get getTitleTemplate();
11
- private get getArchivistTemplate();
12
- private get getTileStatsTemplate();
13
- /**
14
- * CSS
15
- */
16
- static get styles(): import("lit").CSSResult[];
17
- }
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import type { TileModel } from '../../models';
3
+ import '../image-block';
4
+ import './tile-stats';
5
+ export declare class AccountTile extends LitElement {
6
+ model?: TileModel;
7
+ baseImageUrl?: string;
8
+ render(): TemplateResult<1>;
9
+ private get getAvatarTemplate();
10
+ private get getTitleTemplate();
11
+ private get getArchivistTemplate();
12
+ private get getTileStatsTemplate();
13
+ /**
14
+ * CSS
15
+ */
16
+ static get styles(): import("lit").CSSResult[];
17
+ }
@@ -1,11 +1,11 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
5
- import '../image-block';
6
- import './tile-stats';
7
- let AccountTile = class AccountTile extends LitElement {
8
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
5
+ import '../image-block';
6
+ import './tile-stats';
7
+ let AccountTile = class AccountTile extends LitElement {
8
+ render() {
9
9
  return html `
10
10
  <div class="container">
11
11
  <div class="tile-details">
@@ -16,9 +16,9 @@ let AccountTile = class AccountTile extends LitElement {
16
16
  ${this.getTileStatsTemplate}
17
17
  </div>
18
18
  </div>
19
- `;
20
- }
21
- get getAvatarTemplate() {
19
+ `;
20
+ }
21
+ get getAvatarTemplate() {
22
22
  return html `
23
23
  <image-block
24
24
  .model=${this.model}
@@ -26,52 +26,53 @@ let AccountTile = class AccountTile extends LitElement {
26
26
  .viewSize=${'grid'}
27
27
  >
28
28
  </image-block>
29
- `;
30
- }
31
- get getTitleTemplate() {
32
- var _a;
29
+ `;
30
+ }
31
+ get getTitleTemplate() {
32
+ var _a;
33
33
  return html `<div id="title">
34
34
  <h1 class="truncated">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}</h1>
35
- </div>`;
36
- }
37
- get getArchivistTemplate() {
38
- var _a, _b;
35
+ </div>`;
36
+ }
37
+ get getArchivistTemplate() {
38
+ var _a, _b;
39
39
  return html `<div class="archivist-since">
40
40
  <span>Archivist since ${(_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.dateAdded) === null || _b === void 0 ? void 0 : _b.getFullYear()}</span>
41
- </div>`;
42
- }
43
- get getTileStatsTemplate() {
44
- var _a, _b, _c, _d;
41
+ </div>`;
42
+ }
43
+ get getTileStatsTemplate() {
44
+ var _a, _b, _c, _d;
45
45
  return html `<tile-stats
46
46
  .mediatype=${(_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype}
47
47
  .itemCount=${(_b = this.model) === null || _b === void 0 ? void 0 : _b.itemCount}
48
48
  .favCount=${(_c = this.model) === null || _c === void 0 ? void 0 : _c.favCount}
49
49
  .commentCount=${(_d = this.model) === null || _d === void 0 ? void 0 : _d.commentCount}
50
50
  >
51
- </tile-stats>`;
52
- }
53
- /**
54
- * CSS
55
- */
56
- static get styles() {
57
- return [
58
- baseTileStyles,
51
+ </tile-stats>`;
52
+ }
53
+ /**
54
+ * CSS
55
+ */
56
+ static get styles() {
57
+ const tileBorderColor = css `var(--tileBorderColor, #dddddd)`;
58
+ return [
59
+ baseTileStyles,
59
60
  css `
60
- image-block {
61
- --imageBlockBackgroundColor: #fcf5e6;
61
+ .container {
62
+ border: 1px solid ${tileBorderColor};
62
63
  }
63
- `,
64
- ];
65
- }
66
- };
67
- __decorate([
68
- property({ type: Object })
69
- ], AccountTile.prototype, "model", void 0);
70
- __decorate([
71
- property({ type: String })
72
- ], AccountTile.prototype, "baseImageUrl", void 0);
73
- AccountTile = __decorate([
74
- customElement('account-tile')
75
- ], AccountTile);
76
- export { AccountTile };
64
+ `,
65
+ ];
66
+ }
67
+ };
68
+ __decorate([
69
+ property({ type: Object })
70
+ ], AccountTile.prototype, "model", void 0);
71
+ __decorate([
72
+ property({ type: String })
73
+ ], AccountTile.prototype, "baseImageUrl", void 0);
74
+ AccountTile = __decorate([
75
+ customElement('account-tile')
76
+ ], AccountTile);
77
+ export { AccountTile };
77
78
  //# sourceMappingURL=account-tile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-tile.js","sourceRoot":"","sources":["../../../../src/tiles/grid/account-tile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAGtB,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAKzC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;cAID,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB;cAC/C,IAAI,CAAC,oBAAoB;;YAE3B,IAAI,CAAC,oBAAoB;;;KAGhC,CAAC;IACJ,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,KAAK;wBACH,IAAI,CAAC,YAAY;oBACrB,MAAM;;;KAGrB,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;;QAC1B,OAAO,IAAI,CAAA;8BACe,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU;WACzC,CAAC;IACV,CAAC;IAED,IAAY,oBAAoB;;QAC9B,OAAO,IAAI,CAAA;8BACe,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,0CAAE,WAAW,EAAE;WACvD,CAAC;IACV,CAAC;IAED,IAAY,oBAAoB;;QAC9B,OAAO,IAAI,CAAA;mBACI,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS;mBACrB,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS;kBACtB,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ;sBAChB,MAAA,IAAI,CAAC,KAAK,0CAAE,YAAY;;kBAE5B,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,KAAK,MAAM;QACf,OAAO;YACL,cAAc;YACd,GAAG,CAAA;;;;OAIF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhE6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAmB;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAuB;AAHvC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAiEvB;SAjEY,WAAW","sourcesContent":["import { css, html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport type { TileModel } from '../../models';\n\nimport { baseTileStyles } from './styles/tile-grid-shared-styles';\nimport '../image-block';\nimport './tile-stats';\n\n@customElement('account-tile')\nexport class AccountTile extends LitElement {\n @property({ type: Object }) model?: TileModel;\n\n @property({ type: String }) baseImageUrl?: string;\n\n render() {\n return html`\n <div class=\"container\">\n <div class=\"tile-details\">\n <div class=\"item-info\">\n ${this.getAvatarTemplate} ${this.getTitleTemplate}\n ${this.getArchivistTemplate}\n </div>\n ${this.getTileStatsTemplate}\n </div>\n </div>\n `;\n }\n\n private get getAvatarTemplate(): TemplateResult {\n return html`\n <image-block\n .model=${this.model}\n .baseImageUrl=${this.baseImageUrl}\n .viewSize=${'grid'}\n >\n </image-block>\n `;\n }\n\n private get getTitleTemplate() {\n return html`<div id=\"title\">\n <h1 class=\"truncated\">${this.model?.identifier}</h1>\n </div>`;\n }\n\n private get getArchivistTemplate() {\n return html`<div class=\"archivist-since\">\n <span>Archivist since ${this.model?.dateAdded?.getFullYear()}</span>\n </div>`;\n }\n\n private get getTileStatsTemplate() {\n return html`<tile-stats\n .mediatype=${this.model?.mediatype}\n .itemCount=${this.model?.itemCount}\n .favCount=${this.model?.favCount}\n .commentCount=${this.model?.commentCount}\n >\n </tile-stats>`;\n }\n\n /**\n * CSS\n */\n static get styles() {\n return [\n baseTileStyles,\n css`\n image-block {\n --imageBlockBackgroundColor: #fcf5e6;\n }\n `,\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"account-tile.js","sourceRoot":"","sources":["../../../../src/tiles/grid/account-tile.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AAGtB,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAKzC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;cAID,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB;cAC/C,IAAI,CAAC,oBAAoB;;YAE3B,IAAI,CAAC,oBAAoB;;;KAGhC,CAAC;IACJ,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAA;;iBAEE,IAAI,CAAC,KAAK;wBACH,IAAI,CAAC,YAAY;oBACrB,MAAM;;;KAGrB,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;;QAC1B,OAAO,IAAI,CAAA;8BACe,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU;WACzC,CAAC;IACV,CAAC;IAED,IAAY,oBAAoB;;QAC9B,OAAO,IAAI,CAAA;8BACe,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,0CAAE,WAAW,EAAE;WACvD,CAAC;IACV,CAAC;IAED,IAAY,oBAAoB;;QAC9B,OAAO,IAAI,CAAA;mBACI,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS;mBACrB,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS;kBACtB,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ;sBAChB,MAAA,IAAI,CAAC,KAAK,0CAAE,YAAY;;kBAE5B,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,KAAK,MAAM;QACf,MAAM,eAAe,GAAG,GAAG,CAAA,iCAAiC,CAAC;QAE7D,OAAO;YACL,cAAc;YACd,GAAG,CAAA;;8BAEqB,eAAe;;OAEtC;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlE6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAmB;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAuB;AAHvC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAmEvB;SAnEY,WAAW","sourcesContent":["import { css, html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport type { TileModel } from '../../models';\n\nimport { baseTileStyles } from './styles/tile-grid-shared-styles';\nimport '../image-block';\nimport './tile-stats';\n\n@customElement('account-tile')\nexport class AccountTile extends LitElement {\n @property({ type: Object }) model?: TileModel;\n\n @property({ type: String }) baseImageUrl?: string;\n\n render() {\n return html`\n <div class=\"container\">\n <div class=\"tile-details\">\n <div class=\"item-info\">\n ${this.getAvatarTemplate} ${this.getTitleTemplate}\n ${this.getArchivistTemplate}\n </div>\n ${this.getTileStatsTemplate}\n </div>\n </div>\n `;\n }\n\n private get getAvatarTemplate(): TemplateResult {\n return html`\n <image-block\n .model=${this.model}\n .baseImageUrl=${this.baseImageUrl}\n .viewSize=${'grid'}\n >\n </image-block>\n `;\n }\n\n private get getTitleTemplate() {\n return html`<div id=\"title\">\n <h1 class=\"truncated\">${this.model?.identifier}</h1>\n </div>`;\n }\n\n private get getArchivistTemplate() {\n return html`<div class=\"archivist-since\">\n <span>Archivist since ${this.model?.dateAdded?.getFullYear()}</span>\n </div>`;\n }\n\n private get getTileStatsTemplate() {\n return html`<tile-stats\n .mediatype=${this.model?.mediatype}\n .itemCount=${this.model?.itemCount}\n .favCount=${this.model?.favCount}\n .commentCount=${this.model?.commentCount}\n >\n </tile-stats>`;\n }\n\n /**\n * CSS\n */\n static get styles() {\n const tileBorderColor = css`var(--tileBorderColor, #dddddd)`;\n\n return [\n baseTileStyles,\n css`\n .container {\n border: 1px solid ${tileBorderColor};\n }\n `,\n ];\n }\n}\n"]}
@@ -1,7 +1,14 @@
1
- import { CSSResultGroup, LitElement } from 'lit';
2
- import type { TileModel } from '../../models';
3
- export declare class CollectionTile extends LitElement {
4
- model?: TileModel;
5
- render(): import("lit-html").TemplateResult<1>;
6
- static get styles(): CSSResultGroup;
7
- }
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ import type { TileModel } from '../../models';
3
+ import '../image-block';
4
+ export declare class CollectionTile extends LitElement {
5
+ model?: TileModel;
6
+ baseImageUrl?: string;
7
+ render(): TemplateResult<1>;
8
+ private get getImageBlockTemplate();
9
+ private get getTitleTemplate();
10
+ private get getTileStatsTemplate();
11
+ private get getItemsTemplate();
12
+ private get getSizeTemplate();
13
+ static get styles(): CSSResultGroup;
14
+ }
@@ -1,159 +1,125 @@
1
- import { __decorate } from "tslib";
2
- import { msg } from '@lit/localize';
3
- import { css, html, LitElement } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { collectionIcon } from '../../assets/img/icons/mediatype/collection';
6
- let CollectionTile = class CollectionTile extends LitElement {
7
- render() {
8
- var _a, _b, _c;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { collectionIcon } from '../../assets/img/icons/mediatype/collection';
5
+ import { formatUnitSize } from '../../utils/format-unit-size';
6
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
7
+ import '../image-block';
8
+ let CollectionTile = class CollectionTile extends LitElement {
9
+ render() {
9
10
  return html `
10
- <div id="container">
11
- <div id="collection-image-title">
12
- <div id="collection-title">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.title}</div>
13
- <div id="collection-image-container">
14
- <div
15
- id="collection-image"
16
- style="background-image:url('https://archive.org/services/img/${(_b = this
17
- .model) === null || _b === void 0 ? void 0 : _b.identifier}')"
18
- ></div>
11
+ <div class="container">
12
+ <div class="tile-details">
13
+ <div class="item-info">
14
+ ${this.getImageBlockTemplate} ${this.getTitleTemplate}
19
15
  </div>
20
16
  </div>
21
- <div id="item-count-container">
22
- <div id="item-count-image-container">${collectionIcon}</div>
23
- <div id="item-count-stacked-text">
24
- <div id="item-count">${(_c = this.model) === null || _c === void 0 ? void 0 : _c.itemCount.toLocaleString()}</div>
25
- <div id="items-text">${msg('items')}</div>
26
- </div>
27
- </div>
28
- </div>
29
- `;
30
- }
31
- static get styles() {
32
- const cornerRadiusCss = css `var(--collectionTileCornerRadius, 4px)`;
33
- return css `
34
- #collection-image-container {
35
- display: flex;
36
- justify-content: center;
37
- flex: 1;
38
- }
39
-
40
- #collection-image {
41
- width: 16rem;
42
- height: 16rem;
43
- border-radius: 0.8rem;
44
- overflow: hidden;
45
- box-shadow: 1px 1px 2px 0px;
46
- object-fit: cover;
47
- background-position: center;
48
- background-size: cover;
49
- }
50
-
51
- #item-count-image-container svg {
52
- filter: invert(100%);
53
- }
54
-
55
- #collection-image-title {
56
- background-color: #666;
57
- border: 1px solid #2c2c2c;
58
- padding: 0.5rem;
59
- border-top-left-radius: ${cornerRadiusCss};
60
- border-top-right-radius: ${cornerRadiusCss};
61
- display: flex;
62
- flex-direction: column;
63
- flex: 1;
64
- }
65
-
66
- #collection-title {
67
- font-weight: bold;
68
- color: #fff;
69
- font-size: 1.6rem;
70
- text-align: center;
71
- margin-bottom: 0.5rem;
72
- overflow: hidden;
73
- text-overflow: ellipsis;
74
- display: -webkit-box;
75
- -webkit-line-clamp: 2;
76
- -webkit-box-orient: vertical;
77
- line-height: 2rem;
78
- height: 4rem;
79
- }
80
17
 
81
- #container {
82
- box-shadow: 1px 1px 2px 0px;
83
- border-radius: ${cornerRadiusCss};
84
- height: 100%;
85
- display: flex;
86
- flex-direction: column;
87
- }
88
-
89
- #container:hover > #collection-image-title > #collection-title {
90
- text-decoration: underline;
91
- }
92
-
93
- /* this is a workaround for Safari 15 where the hover effects are not working */
94
- #collection-image-title:hover > #collection-title {
95
- text-decoration: underline;
96
- }
18
+ ${this.getTileStatsTemplate}
19
+ </div>
20
+ `;
21
+ }
22
+ get getImageBlockTemplate() {
23
+ return html `
24
+ <image-block
25
+ .model=${this.model}
26
+ .baseImageUrl=${this.baseImageUrl}
27
+ .viewSize=${'grid'}
28
+ >
29
+ </image-block>
30
+ `;
31
+ }
32
+ get getTitleTemplate() {
33
+ var _a;
34
+ return html `<div id="title">
35
+ <h1 class="truncated">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.title}</h1>
36
+ </div>`;
37
+ }
38
+ get getTileStatsTemplate() {
39
+ return html `
40
+ <div id="item-stats">
41
+ <div id="item-mediatype">${collectionIcon}</div>
97
42
 
98
- #container:hover > #collection-image-title {
99
- background-color: #757575;
100
- }
43
+ <div id="stats-row">
44
+ ${this.getItemsTemplate} ${this.getSizeTemplate}
45
+ </div>
46
+ </div>
47
+ `;
48
+ }
49
+ get getItemsTemplate() {
50
+ var _a;
51
+ const collectionItems = (_a = this.model) === null || _a === void 0 ? void 0 : _a.itemCount.toLocaleString();
52
+ return html `<span id="item-count"
53
+ >${collectionItems} item${Number(collectionItems) !== 1 ? 's' : ''}</span
54
+ >`;
55
+ }
56
+ get getSizeTemplate() {
57
+ var _a, _b;
58
+ const collectionSize = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.collectionSize) !== null && _b !== void 0 ? _b : 0;
59
+ return collectionSize
60
+ ? html `<span id="item-size">${formatUnitSize(collectionSize, 1)}</span>`
61
+ : ``;
62
+ }
63
+ static get styles() {
64
+ const tileBorderColor = css `var(--tileBorderColor, #555555)`;
65
+ const tileBackgroundColor = css `var(--tileBackgroundColor, #666666)`;
66
+ const whiteColor = css `#fff`;
67
+ return [
68
+ baseTileStyles,
69
+ css `
70
+ .container {
71
+ background-color: ${tileBackgroundColor};
72
+ border: 1px solid ${tileBorderColor};
73
+ }
101
74
 
102
- #item-count-container {
103
- background-color: #444;
104
- border-bottom: 1px solid #2c2c2c;
105
- border-left: 1px solid #2c2c2c;
106
- border-right: 1px solid #2c2c2c;
107
- border-bottom-left-radius: ${cornerRadiusCss};
108
- border-bottom-right-radius: ${cornerRadiusCss};
109
- display: flex;
110
- padding: 0rem 0.5rem;
111
- height: 5.5rem;
112
- align-items: center;
113
- }
75
+ .item-info {
76
+ flex-grow: initial;
77
+ }
114
78
 
115
- #item-count-image-container {
116
- margin-right: 0.5rem;
117
- }
79
+ h1.truncated {
80
+ color: ${whiteColor};
81
+ }
118
82
 
119
- #item-count-stacked-text {
120
- display: flex;
121
- align-items: baseline;
122
- color: #fff;
123
- }
124
- #item-count-image-container svg {
125
- height: 2.5rem;
126
- align-items: baseline;
127
- }
83
+ #item-mediatype svg {
84
+ filter: invert(100%);
85
+ height: 2.5rem;
86
+ align-items: baseline;
87
+ }
128
88
 
129
- #container:hover > #item-count-container {
130
- background-color: #575757;
131
- }
89
+ .container:hover > #title {
90
+ text-decoration: underline;
91
+ }
132
92
 
133
- #item-count {
134
- font-size: 1.4rem;
135
- font-weight: bold;
136
- }
93
+ /* this is a workaround for Safari 15 where the hover effects are not working */
94
+ image-block:hover > #title {
95
+ text-decoration: underline;
96
+ }
137
97
 
138
- #item-count-image {
139
- width: 3rem;
140
- height: 3rem;
141
- margin-right: 1rem;
142
- }
98
+ #item-stats {
99
+ display: flex;
100
+ padding: 0 5px 5px;
101
+ align-items: center;
102
+ }
143
103
 
144
- #items-text {
145
- font-size: 1.4rem;
146
- font-weight: bold;
147
- margin-left: 0.5rem;
148
- }
149
- `;
150
- }
151
- };
152
- __decorate([
153
- property({ type: Object })
154
- ], CollectionTile.prototype, "model", void 0);
155
- CollectionTile = __decorate([
156
- customElement('collection-tile')
157
- ], CollectionTile);
158
- export { CollectionTile };
104
+ #stats-row {
105
+ display: flex;
106
+ align-items: baseline;
107
+ color: ${whiteColor};
108
+ flex-direction: column;
109
+ margin-left: 10px;
110
+ }
111
+ `,
112
+ ];
113
+ }
114
+ };
115
+ __decorate([
116
+ property({ type: Object })
117
+ ], CollectionTile.prototype, "model", void 0);
118
+ __decorate([
119
+ property({ type: String })
120
+ ], CollectionTile.prototype, "baseImageUrl", void 0);
121
+ CollectionTile = __decorate([
122
+ customElement('collection-tile')
123
+ ], CollectionTile);
124
+ export { CollectionTile };
159
125
  //# sourceMappingURL=collection-tile.js.map