@internetarchive/collection-browser 2.7.0 → 2.7.1-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 (292) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +13 -13
  6. package/dist/index.js +13 -13
  7. package/dist/src/app-root.d.ts +91 -91
  8. package/dist/src/app-root.js +487 -487
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.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/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +569 -567
  72. package/dist/src/collection-browser.js +1634 -1585
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +118 -118
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +13 -13
  79. package/dist/src/collection-facets/facets-template.js +44 -44
  80. package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
  81. package/dist/src/collection-facets/more-facets-content.js +407 -407
  82. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  83. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  84. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  85. package/dist/src/collection-facets/toggle-switch.js +94 -94
  86. package/dist/src/collection-facets.d.ts +103 -103
  87. package/dist/src/collection-facets.js +522 -522
  88. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  89. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  90. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
  91. package/dist/src/data-source/collection-browser-data-source.js +984 -984
  92. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  93. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  94. package/dist/src/data-source/models.d.ts +28 -28
  95. package/dist/src/data-source/models.js +8 -8
  96. package/dist/src/empty-placeholder.d.ts +23 -23
  97. package/dist/src/empty-placeholder.js +79 -79
  98. package/dist/src/expanded-date-picker.d.ts +43 -43
  99. package/dist/src/expanded-date-picker.js +109 -109
  100. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  101. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  102. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  103. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  104. package/dist/src/manage/manage-bar.d.ts +30 -30
  105. package/dist/src/manage/manage-bar.js +61 -61
  106. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  107. package/dist/src/mediatype/mediatype-config.js +91 -91
  108. package/dist/src/models.d.ts +219 -219
  109. package/dist/src/models.js +401 -401
  110. package/dist/src/restoration-state-handler.d.ts +70 -70
  111. package/dist/src/restoration-state-handler.js +363 -363
  112. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  113. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  114. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  115. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  116. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  118. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/list.js +2 -2
  120. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  122. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  128. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  130. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  131. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  132. package/dist/src/styles/ia-button.d.ts +2 -2
  133. package/dist/src/styles/ia-button.js +16 -16
  134. package/dist/src/styles/item-image-styles.d.ts +8 -8
  135. package/dist/src/styles/item-image-styles.js +9 -9
  136. package/dist/src/styles/sr-only.d.ts +1 -1
  137. package/dist/src/styles/sr-only.js +2 -2
  138. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  139. package/dist/src/tiles/base-tile-component.js +64 -64
  140. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  141. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  142. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  143. package/dist/src/tiles/grid/account-tile.js +72 -72
  144. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  145. package/dist/src/tiles/grid/collection-tile.js +80 -80
  146. package/dist/src/tiles/grid/item-tile.d.ts +34 -34
  147. package/dist/src/tiles/grid/item-tile.js +158 -158
  148. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  149. package/dist/src/tiles/grid/search-tile.js +51 -51
  150. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  151. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  152. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  153. package/dist/src/tiles/grid/tile-stats.js +53 -53
  154. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  155. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  156. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
  157. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  158. package/dist/src/tiles/image-block.d.ts +18 -18
  159. package/dist/src/tiles/image-block.js +89 -89
  160. package/dist/src/tiles/item-image.d.ts +39 -39
  161. package/dist/src/tiles/item-image.js +154 -154
  162. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  163. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  164. package/dist/src/tiles/list/tile-list-compact.d.ts +19 -19
  165. package/dist/src/tiles/list/tile-list-compact.js +122 -122
  166. package/dist/src/tiles/list/tile-list.d.ts +54 -54
  167. package/dist/src/tiles/list/tile-list.js +323 -323
  168. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  169. package/dist/src/tiles/mediatype-icon.js +47 -47
  170. package/dist/src/tiles/overlay/icon-overlay.d.ts +8 -8
  171. package/dist/src/tiles/overlay/icon-overlay.js +25 -25
  172. package/dist/src/tiles/overlay/text-overlay.d.ts +9 -9
  173. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  174. package/dist/src/tiles/review-block.d.ts +12 -12
  175. package/dist/src/tiles/review-block.js +56 -56
  176. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  177. package/dist/src/tiles/text-snippet-block.js +73 -73
  178. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  179. package/dist/src/tiles/tile-dispatcher.js +230 -230
  180. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  181. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  182. package/dist/src/utils/analytics-events.d.ts +28 -28
  183. package/dist/src/utils/analytics-events.js +30 -30
  184. package/dist/src/utils/array-equals.d.ts +4 -4
  185. package/dist/src/utils/array-equals.js +10 -10
  186. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  187. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  188. package/dist/src/utils/facet-utils.d.ts +83 -83
  189. package/dist/src/utils/facet-utils.js +145 -145
  190. package/dist/src/utils/format-count.d.ts +7 -7
  191. package/dist/src/utils/format-count.js +76 -76
  192. package/dist/src/utils/format-date.d.ts +2 -2
  193. package/dist/src/utils/format-date.js +25 -25
  194. package/dist/src/utils/format-unit-size.d.ts +2 -2
  195. package/dist/src/utils/format-unit-size.js +33 -33
  196. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  197. package/dist/src/utils/local-date-from-utc.js +15 -15
  198. package/dist/src/utils/log.d.ts +7 -7
  199. package/dist/src/utils/log.js +15 -15
  200. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  201. package/dist/src/utils/resolve-mediatype.js +23 -23
  202. package/dist/src/utils/sha1.d.ts +2 -2
  203. package/dist/src/utils/sha1.js +8 -8
  204. package/dist/test/collection-browser.test.d.ts +1 -1
  205. package/dist/test/collection-browser.test.js +1294 -1294
  206. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  207. package/dist/test/collection-facets/facet-row.test.js +227 -227
  208. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  209. package/dist/test/collection-facets/facets-template.test.js +91 -91
  210. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  211. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  212. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  213. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  214. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  215. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  216. package/dist/test/collection-facets.test.d.ts +2 -2
  217. package/dist/test/collection-facets.test.js +690 -690
  218. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  219. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  220. package/dist/test/empty-placeholder.test.d.ts +1 -1
  221. package/dist/test/empty-placeholder.test.js +63 -63
  222. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  223. package/dist/test/expanded-date-picker.test.js +95 -95
  224. package/dist/test/icon-overlay.test.d.ts +1 -1
  225. package/dist/test/icon-overlay.test.js +24 -24
  226. package/dist/test/image-block.test.d.ts +1 -1
  227. package/dist/test/image-block.test.js +107 -107
  228. package/dist/test/item-image.test.d.ts +1 -1
  229. package/dist/test/item-image.test.js +85 -85
  230. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  231. package/dist/test/manage/manage-bar.test.js +81 -81
  232. package/dist/test/mediatype-config.test.d.ts +1 -1
  233. package/dist/test/mediatype-config.test.js +16 -16
  234. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  235. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  236. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  237. package/dist/test/mocks/mock-search-responses.js +942 -942
  238. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  239. package/dist/test/mocks/mock-search-service.js +54 -54
  240. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  241. package/dist/test/restoration-state-handler.test.js +270 -270
  242. package/dist/test/review-block.test.d.ts +1 -1
  243. package/dist/test/review-block.test.js +44 -44
  244. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  245. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  246. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  247. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  248. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  250. package/dist/test/text-overlay.test.d.ts +1 -1
  251. package/dist/test/text-overlay.test.js +38 -38
  252. package/dist/test/text-snippet-block.test.d.ts +1 -1
  253. package/dist/test/text-snippet-block.test.js +57 -57
  254. package/dist/test/tile-stats.test.d.ts +1 -1
  255. package/dist/test/tile-stats.test.js +81 -81
  256. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  257. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  258. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  259. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  260. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  261. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  262. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  263. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  264. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  265. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  266. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  267. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  268. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  269. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  270. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  271. package/dist/test/tiles/list/tile-list.test.js +297 -297
  272. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  273. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  274. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  275. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  276. package/dist/test/utils/array-equals.test.d.ts +1 -1
  277. package/dist/test/utils/array-equals.test.js +26 -26
  278. package/dist/test/utils/format-count.test.d.ts +1 -1
  279. package/dist/test/utils/format-count.test.js +23 -23
  280. package/dist/test/utils/format-date.test.d.ts +1 -1
  281. package/dist/test/utils/format-date.test.js +17 -17
  282. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  283. package/dist/test/utils/format-unit-size.test.js +17 -17
  284. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  285. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  286. package/local.archive.org.cert +86 -86
  287. package/local.archive.org.key +27 -27
  288. package/package.json +2 -2
  289. package/renovate.json +6 -6
  290. package/src/collection-browser.ts +61 -14
  291. package/web-dev-server.config.mjs +30 -30
  292. package/web-test-runner.config.mjs +41 -41
@@ -1,28 +1,28 @@
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
- import { searchIcon } from '../assets/img/icons/mediatype/search';
7
- let ItemImage = class ItemImage extends LitElement {
8
- constructor() {
9
- super(...arguments);
10
- this.isListTile = false;
11
- this.isCompactTile = false;
12
- this.loggedIn = false;
13
- this.isWaveform = false;
14
- this.isNotFound = false;
15
- }
16
- 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
+ import { searchIcon } from '../assets/img/icons/mediatype/search';
7
+ let ItemImage = class ItemImage extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.isListTile = false;
11
+ this.isCompactTile = false;
12
+ this.loggedIn = false;
13
+ this.isWaveform = false;
14
+ this.isNotFound = false;
15
+ }
16
+ render() {
17
17
  return html `
18
18
  <div class=${classMap(this.itemBaseClass)}>${this.imageTemplate}</div>
19
- `;
20
- }
21
- get imageTemplate() {
22
- var _a;
23
- if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'search') {
24
- return html `${searchIcon}`;
25
- }
19
+ `;
20
+ }
21
+ get imageTemplate() {
22
+ var _a;
23
+ if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'search') {
24
+ return html `${searchIcon}`;
25
+ }
26
26
  return html `
27
27
  <img
28
28
  class=${classMap(this.itemImageClass)}
@@ -31,105 +31,105 @@ let ItemImage = class ItemImage extends LitElement {
31
31
  @load=${this.onLoad}
32
32
  @error=${this.onError}
33
33
  />
34
- `;
35
- }
36
- /**
37
- * Helpers
38
- */
39
- get imageSrc() {
40
- var _a, _b;
41
- if (this.isNotFound)
42
- return this.notFoundSrc;
43
- // Use the correct image for web capture tiles, if possible
44
- if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.captureDates) && this.model.identifier) {
45
- try {
46
- const url = new URL(this.model.identifier);
47
- const domain = encodeURIComponent(url.hostname);
48
- return this.baseImageUrl
49
- ? `https://web.archive.org/thumb/${domain}?generate=1`
50
- : nothing;
51
- }
52
- catch (err) {
53
- return `${this.baseImageUrl}/images/notfound.png`;
54
- }
55
- }
56
- // Don't try to load invalid image URLs
57
- return this.baseImageUrl && ((_b = this.model) === null || _b === void 0 ? void 0 : _b.identifier)
58
- ? `${this.baseImageUrl}/services/img/${this.model.identifier}`
59
- : nothing;
60
- }
61
- get notFoundSrc() {
62
- return this.baseImageUrl
63
- ? `${this.baseImageUrl}/images/notfound.png`
64
- : nothing;
65
- }
66
- get hashBasedGradient() {
67
- var _a;
68
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
69
- return 'waveform-grad0';
70
- }
71
- const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
72
- return `waveform-grad${gradient}`;
73
- }
74
- hashStrToInt(str) {
75
- return str
76
- .split('')
77
- .reduce((acc, char) => acc + char.charCodeAt(0), 0);
78
- }
79
- /**
80
- * Classes
81
- */
82
- get itemBaseClass() {
83
- var _a;
84
- return {
85
- 'drop-shadow': true,
86
- 'list-box': this.isListTile,
87
- 'search-image': ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'search',
88
- [this.hashBasedGradient]: this.isWaveform,
89
- };
90
- }
91
- get itemImageClass() {
92
- var _a, _b, _c;
93
- const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
94
- return {
95
- contain: !this.isCompactTile && !this.isWaveform,
96
- cover: this.isCompactTile,
97
- blur: toBlur || false,
98
- waveform: this.isWaveform,
99
- 'account-image': this.isAccountImage,
100
- 'collection-image': ((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'collection', // for collection tile image
101
- };
102
- }
103
- /**
104
- * Helper function to determine if account tile image
105
- */
106
- get isAccountImage() {
107
- var _a;
108
- return (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'account' &&
109
- !this.isCompactTile &&
110
- !this.isListTile);
111
- }
112
- /**
113
- * Event listener sets isWaveform true if image is waveform
114
- */
115
- onLoad() {
116
- var _a, _b;
117
- if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
118
- ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
119
- this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
120
- this.isWaveform = true;
121
- }
122
- }
123
- onError() {
124
- this.isNotFound = true;
125
- }
126
- /**
127
- * CSS
128
- */
129
- static get styles() {
130
- return [
131
- baseItemImageStyles,
132
- waveformGradientStyles,
34
+ `;
35
+ }
36
+ /**
37
+ * Helpers
38
+ */
39
+ get imageSrc() {
40
+ var _a, _b;
41
+ if (this.isNotFound)
42
+ return this.notFoundSrc;
43
+ // Use the correct image for web capture tiles, if possible
44
+ if (((_a = this.model) === null || _a === void 0 ? void 0 : _a.captureDates) && this.model.identifier) {
45
+ try {
46
+ const url = new URL(this.model.identifier);
47
+ const domain = encodeURIComponent(url.hostname);
48
+ return this.baseImageUrl
49
+ ? `https://web.archive.org/thumb/${domain}?generate=1`
50
+ : nothing;
51
+ }
52
+ catch (err) {
53
+ return `${this.baseImageUrl}/images/notfound.png`;
54
+ }
55
+ }
56
+ // Don't try to load invalid image URLs
57
+ return this.baseImageUrl && ((_b = this.model) === null || _b === void 0 ? void 0 : _b.identifier)
58
+ ? `${this.baseImageUrl}/services/img/${this.model.identifier}`
59
+ : nothing;
60
+ }
61
+ get notFoundSrc() {
62
+ return this.baseImageUrl
63
+ ? `${this.baseImageUrl}/images/notfound.png`
64
+ : nothing;
65
+ }
66
+ get hashBasedGradient() {
67
+ var _a;
68
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier)) {
69
+ return 'waveform-grad0';
70
+ }
71
+ const gradient = this.hashStrToInt(this.model.identifier) % 6; // returns 0-5
72
+ return `waveform-grad${gradient}`;
73
+ }
74
+ hashStrToInt(str) {
75
+ return str
76
+ .split('')
77
+ .reduce((acc, char) => acc + char.charCodeAt(0), 0);
78
+ }
79
+ /**
80
+ * Classes
81
+ */
82
+ get itemBaseClass() {
83
+ var _a;
84
+ return {
85
+ 'drop-shadow': true,
86
+ 'list-box': this.isListTile,
87
+ 'search-image': ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'search',
88
+ [this.hashBasedGradient]: this.isWaveform,
89
+ };
90
+ }
91
+ get itemImageClass() {
92
+ var _a, _b, _c;
93
+ const toBlur = ((_a = this.model) === null || _a === void 0 ? void 0 : _a.contentWarning) || ((_b = this.model) === null || _b === void 0 ? void 0 : _b.loginRequired);
94
+ return {
95
+ contain: !this.isCompactTile && !this.isWaveform,
96
+ cover: this.isCompactTile,
97
+ blur: toBlur || false,
98
+ waveform: this.isWaveform,
99
+ 'account-image': this.isAccountImage,
100
+ 'collection-image': ((_c = this.model) === null || _c === void 0 ? void 0 : _c.mediatype) === 'collection', // for collection tile image
101
+ };
102
+ }
103
+ /**
104
+ * Helper function to determine if account tile image
105
+ */
106
+ get isAccountImage() {
107
+ var _a;
108
+ return (((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'account' &&
109
+ !this.isCompactTile &&
110
+ !this.isListTile);
111
+ }
112
+ /**
113
+ * Event listener sets isWaveform true if image is waveform
114
+ */
115
+ onLoad() {
116
+ var _a, _b;
117
+ if ((((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) === 'audio' ||
118
+ ((_b = this.model) === null || _b === void 0 ? void 0 : _b.mediatype) === 'etree') &&
119
+ this.baseImage.naturalWidth / this.baseImage.naturalHeight === 4) {
120
+ this.isWaveform = true;
121
+ }
122
+ }
123
+ onError() {
124
+ this.isNotFound = true;
125
+ }
126
+ /**
127
+ * CSS
128
+ */
129
+ static get styles() {
130
+ return [
131
+ baseItemImageStyles,
132
+ waveformGradientStyles,
133
133
  css `
134
134
  img {
135
135
  height: var(--imgHeight, 16rem);
@@ -148,36 +148,36 @@ let ItemImage = class ItemImage extends LitElement {
148
148
  height: 10rem;
149
149
  width: 10rem;
150
150
  }
151
- `,
152
- ];
153
- }
154
- };
155
- __decorate([
156
- property({ type: Object })
157
- ], ItemImage.prototype, "model", void 0);
158
- __decorate([
159
- property({ type: String })
160
- ], ItemImage.prototype, "baseImageUrl", void 0);
161
- __decorate([
162
- property({ type: Boolean })
163
- ], ItemImage.prototype, "isListTile", void 0);
164
- __decorate([
165
- property({ type: Boolean })
166
- ], ItemImage.prototype, "isCompactTile", void 0);
167
- __decorate([
168
- property({ type: Boolean })
169
- ], ItemImage.prototype, "loggedIn", void 0);
170
- __decorate([
171
- state()
172
- ], ItemImage.prototype, "isWaveform", void 0);
173
- __decorate([
174
- state()
175
- ], ItemImage.prototype, "isNotFound", void 0);
176
- __decorate([
177
- query('img')
178
- ], ItemImage.prototype, "baseImage", void 0);
179
- ItemImage = __decorate([
180
- customElement('item-image')
181
- ], ItemImage);
182
- export { ItemImage };
151
+ `,
152
+ ];
153
+ }
154
+ };
155
+ __decorate([
156
+ property({ type: Object })
157
+ ], ItemImage.prototype, "model", void 0);
158
+ __decorate([
159
+ property({ type: String })
160
+ ], ItemImage.prototype, "baseImageUrl", void 0);
161
+ __decorate([
162
+ property({ type: Boolean })
163
+ ], ItemImage.prototype, "isListTile", void 0);
164
+ __decorate([
165
+ property({ type: Boolean })
166
+ ], ItemImage.prototype, "isCompactTile", void 0);
167
+ __decorate([
168
+ property({ type: Boolean })
169
+ ], ItemImage.prototype, "loggedIn", void 0);
170
+ __decorate([
171
+ state()
172
+ ], ItemImage.prototype, "isWaveform", void 0);
173
+ __decorate([
174
+ state()
175
+ ], ItemImage.prototype, "isNotFound", void 0);
176
+ __decorate([
177
+ query('img')
178
+ ], ItemImage.prototype, "baseImage", void 0);
179
+ ItemImage = __decorate([
180
+ customElement('item-image')
181
+ ], ItemImage);
182
+ export { ItemImage };
183
183
  //# sourceMappingURL=item-image.js.map
@@ -1,6 +1,6 @@
1
- import { BaseTileComponent } from '../base-tile-component';
2
- export declare class TileListCompactHeader extends BaseTileComponent {
3
- render(): import("lit-html").TemplateResult<1>;
4
- private get classSize();
5
- static get styles(): import("lit").CSSResult;
6
- }
1
+ import { BaseTileComponent } from '../base-tile-component';
2
+ export declare class TileListCompactHeader extends BaseTileComponent {
3
+ render(): import("lit-html").TemplateResult<1>;
4
+ private get classSize();
5
+ static get styles(): import("lit").CSSResult;
6
+ }
@@ -1,23 +1,23 @@
1
- import { __decorate } from "tslib";
2
- import { css, html } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- import { msg } from '@lit/localize';
5
- import { BaseTileComponent } from '../base-tile-component';
6
- let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponent {
7
- /*
8
- * Reactive properties inherited from BaseTileComponent:
9
- * - model?: TileModel;
10
- * - currentWidth?: number;
11
- * - currentHeight?: number;
12
- * - baseNavigationUrl?: string;
13
- * - baseImageUrl?: string;
14
- * - collectionPagePath?: string;
15
- * - sortParam: SortParam | null = null;
16
- * - creatorFilter?: string;
17
- * - mobileBreakpoint?: number;
18
- * - loggedIn = false;
19
- */
20
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ import { msg } from '@lit/localize';
5
+ import { BaseTileComponent } from '../base-tile-component';
6
+ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponent {
7
+ /*
8
+ * Reactive properties inherited from BaseTileComponent:
9
+ * - model?: TileModel;
10
+ * - currentWidth?: number;
11
+ * - currentHeight?: number;
12
+ * - baseNavigationUrl?: string;
13
+ * - baseImageUrl?: string;
14
+ * - collectionPagePath?: string;
15
+ * - sortParam: SortParam | null = null;
16
+ * - creatorFilter?: string;
17
+ * - mobileBreakpoint?: number;
18
+ * - loggedIn = false;
19
+ */
20
+ render() {
21
21
  return html `
22
22
  <div id="list-line-header" class="${this.classSize}">
23
23
  <div id="thumb"></div>
@@ -29,17 +29,17 @@ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponen
29
29
  <div id="icon">${msg('Type')}</div>
30
30
  <div id="views">${msg('Views')}</div>
31
31
  </div>
32
- `;
33
- }
34
- get classSize() {
35
- if (this.mobileBreakpoint &&
36
- this.currentWidth &&
37
- this.currentWidth < this.mobileBreakpoint) {
38
- return 'mobile';
39
- }
40
- return 'desktop';
41
- }
42
- static get styles() {
32
+ `;
33
+ }
34
+ get classSize() {
35
+ if (this.mobileBreakpoint &&
36
+ this.currentWidth &&
37
+ this.currentWidth < this.mobileBreakpoint) {
38
+ return 'mobile';
39
+ }
40
+ return 'desktop';
41
+ }
42
+ static get styles() {
43
43
  return css `
44
44
  html {
45
45
  font-size: unset;
@@ -74,11 +74,11 @@ let TileListCompactHeader = class TileListCompactHeader extends BaseTileComponen
74
74
  #list-line-header.desktop {
75
75
  grid-template-columns: 51px 3fr 2fr 95px 30px 60px;
76
76
  }
77
- `;
78
- }
79
- };
80
- TileListCompactHeader = __decorate([
81
- customElement('tile-list-compact-header')
82
- ], TileListCompactHeader);
83
- export { TileListCompactHeader };
77
+ `;
78
+ }
79
+ };
80
+ TileListCompactHeader = __decorate([
81
+ customElement('tile-list-compact-header')
82
+ ], TileListCompactHeader);
83
+ export { TileListCompactHeader };
84
84
  //# sourceMappingURL=tile-list-compact-header.js.map
@@ -1,19 +1,19 @@
1
- import { BaseTileComponent } from '../base-tile-component';
2
- import '../image-block';
3
- import '../mediatype-icon';
4
- export declare class TileListCompact extends BaseTileComponent {
5
- render(): import("lit-html").TemplateResult<1>;
6
- private get href();
7
- private get creator();
8
- private get date();
9
- private get views();
10
- /**
11
- * Returns the active sort param if one is set, or the default sort param otherwise.
12
- */
13
- private get effectiveSort();
14
- private get classSize();
15
- private get dateFormatSize();
16
- private get formatSize();
17
- private get isSortedByDate();
18
- static get styles(): import("lit").CSSResult;
19
- }
1
+ import { BaseTileComponent } from '../base-tile-component';
2
+ import '../image-block';
3
+ import '../mediatype-icon';
4
+ export declare class TileListCompact extends BaseTileComponent {
5
+ render(): import("lit-html").TemplateResult<1>;
6
+ private get href();
7
+ private get creator();
8
+ private get date();
9
+ private get views();
10
+ /**
11
+ * Returns the active sort param if one is set, or the default sort param otherwise.
12
+ */
13
+ private get effectiveSort();
14
+ private get classSize();
15
+ private get dateFormatSize();
16
+ private get formatSize();
17
+ private get isSortedByDate();
18
+ static get styles(): import("lit").CSSResult;
19
+ }