@internetarchive/collection-browser 2.1.9 → 2.1.11-alpha.0

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 (303) 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 +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +91 -88
  8. package/dist/src/app-root.js +501 -475
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.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/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  31. package/dist/src/assets/img/icons/login-required.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  60. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  61. package/dist/src/assets/img/icons/null-result.js +2 -2
  62. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  63. package/dist/src/assets/img/icons/restricted.js +2 -2
  64. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  65. package/dist/src/assets/img/icons/reviews.js +2 -2
  66. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  67. package/dist/src/assets/img/icons/upload.js +2 -2
  68. package/dist/src/assets/img/icons/views.d.ts +1 -1
  69. package/dist/src/assets/img/icons/views.js +2 -2
  70. package/dist/src/circular-activity-indicator.d.ts +5 -5
  71. package/dist/src/circular-activity-indicator.js +17 -17
  72. package/dist/src/collection-browser.d.ts +453 -446
  73. package/dist/src/collection-browser.js +1422 -1408
  74. package/dist/src/collection-browser.js.map +1 -1
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +114 -114
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  80. package/dist/src/collection-facets/facets-template.js +114 -114
  81. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  82. package/dist/src/collection-facets/more-facets-content.js +360 -360
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +510 -510
  89. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -236
  90. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  91. package/dist/src/data-source/collection-browser-data-source-interface.js.map +1 -1
  92. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -364
  93. package/dist/src/data-source/collection-browser-data-source.js +987 -946
  94. package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
  95. package/dist/src/data-source/collection-browser-query-state.d.ts +44 -43
  96. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  97. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  98. package/dist/src/data-source/models.d.ts +28 -28
  99. package/dist/src/data-source/models.js +8 -8
  100. package/dist/src/empty-placeholder.d.ts +23 -23
  101. package/dist/src/empty-placeholder.js +74 -74
  102. package/dist/src/expanded-date-picker.d.ts +43 -43
  103. package/dist/src/expanded-date-picker.js +109 -109
  104. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  105. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  106. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  107. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  108. package/dist/src/manage/manage-bar.d.ts +30 -30
  109. package/dist/src/manage/manage-bar.js +61 -61
  110. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  111. package/dist/src/mediatype/mediatype-config.js +91 -91
  112. package/dist/src/models.d.ts +198 -198
  113. package/dist/src/models.js +381 -381
  114. package/dist/src/restoration-state-handler.d.ts +70 -70
  115. package/dist/src/restoration-state-handler.js +357 -357
  116. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  117. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  118. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  119. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  120. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  122. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/list.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  130. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  132. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  133. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  134. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +222 -221
  135. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -691
  136. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  137. package/dist/src/styles/ia-button.d.ts +2 -2
  138. package/dist/src/styles/ia-button.js +16 -16
  139. package/dist/src/styles/item-image-styles.d.ts +8 -8
  140. package/dist/src/styles/item-image-styles.js +9 -9
  141. package/dist/src/styles/sr-only.d.ts +1 -1
  142. package/dist/src/styles/sr-only.js +2 -2
  143. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  144. package/dist/src/tiles/base-tile-component.js +63 -63
  145. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  146. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  147. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  148. package/dist/src/tiles/grid/account-tile.js +72 -72
  149. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  150. package/dist/src/tiles/grid/collection-tile.js +80 -80
  151. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  152. package/dist/src/tiles/grid/item-tile.js +149 -149
  153. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  154. package/dist/src/tiles/grid/search-tile.js +51 -51
  155. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  156. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  157. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  158. package/dist/src/tiles/grid/tile-stats.js +53 -53
  159. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  160. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  161. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  162. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  163. package/dist/src/tiles/image-block.d.ts +17 -17
  164. package/dist/src/tiles/image-block.js +73 -73
  165. package/dist/src/tiles/item-image.d.ts +39 -39
  166. package/dist/src/tiles/item-image.js +154 -154
  167. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  168. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  169. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  170. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  171. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  172. package/dist/src/tiles/list/tile-list.js +315 -315
  173. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  174. package/dist/src/tiles/mediatype-icon.js +47 -47
  175. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  176. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  177. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  178. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  179. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  180. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  181. package/dist/src/tiles/review-block.d.ts +12 -12
  182. package/dist/src/tiles/review-block.js +56 -56
  183. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  184. package/dist/src/tiles/text-snippet-block.js +73 -73
  185. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  186. package/dist/src/tiles/tile-dispatcher.js +229 -229
  187. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  188. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  189. package/dist/src/utils/analytics-events.d.ts +26 -26
  190. package/dist/src/utils/analytics-events.js +28 -28
  191. package/dist/src/utils/array-equals.d.ts +4 -4
  192. package/dist/src/utils/array-equals.js +10 -10
  193. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  194. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  195. package/dist/src/utils/format-count.d.ts +7 -7
  196. package/dist/src/utils/format-count.js +76 -76
  197. package/dist/src/utils/format-date.d.ts +2 -2
  198. package/dist/src/utils/format-date.js +25 -25
  199. package/dist/src/utils/format-unit-size.d.ts +2 -2
  200. package/dist/src/utils/format-unit-size.js +33 -33
  201. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  202. package/dist/src/utils/local-date-from-utc.js +15 -15
  203. package/dist/src/utils/log.d.ts +7 -7
  204. package/dist/src/utils/log.js +15 -15
  205. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  206. package/dist/src/utils/resolve-mediatype.js +23 -23
  207. package/dist/src/utils/sha1.d.ts +2 -2
  208. package/dist/src/utils/sha1.js +8 -8
  209. package/dist/test/collection-browser.test.d.ts +1 -1
  210. package/dist/test/collection-browser.test.js +1283 -1283
  211. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  212. package/dist/test/collection-facets/facet-row.test.js +203 -203
  213. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  214. package/dist/test/collection-facets/facets-template.test.js +105 -105
  215. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  216. package/dist/test/collection-facets/more-facets-content.test.js +139 -139
  217. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  218. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  219. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  220. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  221. package/dist/test/collection-facets.test.d.ts +2 -2
  222. package/dist/test/collection-facets.test.js +652 -652
  223. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  224. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  225. package/dist/test/empty-placeholder.test.d.ts +1 -1
  226. package/dist/test/empty-placeholder.test.js +63 -63
  227. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  228. package/dist/test/expanded-date-picker.test.js +95 -95
  229. package/dist/test/icon-overlay.test.d.ts +1 -1
  230. package/dist/test/icon-overlay.test.js +24 -24
  231. package/dist/test/image-block.test.d.ts +1 -1
  232. package/dist/test/image-block.test.js +48 -48
  233. package/dist/test/item-image.test.d.ts +1 -1
  234. package/dist/test/item-image.test.js +85 -85
  235. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  236. package/dist/test/manage/manage-bar.test.js +81 -81
  237. package/dist/test/mediatype-config.test.d.ts +1 -1
  238. package/dist/test/mediatype-config.test.js +16 -16
  239. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  240. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  241. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  242. package/dist/test/mocks/mock-search-responses.js +860 -860
  243. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  244. package/dist/test/mocks/mock-search-service.js +53 -53
  245. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  246. package/dist/test/restoration-state-handler.test.js +270 -270
  247. package/dist/test/review-block.test.d.ts +1 -1
  248. package/dist/test/review-block.test.js +44 -44
  249. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  250. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  251. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  252. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  253. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  254. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  255. package/dist/test/text-overlay.test.d.ts +1 -1
  256. package/dist/test/text-overlay.test.js +48 -48
  257. package/dist/test/text-snippet-block.test.d.ts +1 -1
  258. package/dist/test/text-snippet-block.test.js +57 -57
  259. package/dist/test/tile-stats.test.d.ts +1 -1
  260. package/dist/test/tile-stats.test.js +81 -81
  261. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  262. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  263. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  264. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  265. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  266. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  267. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  268. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  269. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  270. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  271. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  272. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  273. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  275. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  276. package/dist/test/tiles/list/tile-list.test.js +297 -297
  277. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  279. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  280. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  281. package/dist/test/utils/array-equals.test.d.ts +1 -1
  282. package/dist/test/utils/array-equals.test.js +26 -26
  283. package/dist/test/utils/format-count.test.d.ts +1 -1
  284. package/dist/test/utils/format-count.test.js +23 -23
  285. package/dist/test/utils/format-date.test.d.ts +1 -1
  286. package/dist/test/utils/format-date.test.js +17 -17
  287. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  288. package/dist/test/utils/format-unit-size.test.js +17 -17
  289. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  290. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  291. package/local.archive.org.cert +86 -86
  292. package/local.archive.org.key +27 -27
  293. package/package.json +1 -1
  294. package/renovate.json +6 -6
  295. package/src/app-root.ts +24 -1
  296. package/src/collection-browser.ts +16 -1
  297. package/src/data-source/collection-browser-data-source-interface.ts +7 -1
  298. package/src/data-source/collection-browser-data-source.ts +56 -6
  299. package/src/data-source/collection-browser-query-state.ts +1 -0
  300. package/src/sort-filter-bar/sort-filter-bar.ts +5 -0
  301. package/tsconfig.json +21 -21
  302. package/web-dev-server.config.mjs +30 -30
  303. package/web-test-runner.config.mjs +41 -41
@@ -1,44 +1,44 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable import/no-duplicates */
3
- import { css, html, nothing } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { ifDefined } from 'lit/directives/if-defined.js';
6
- import { msg } from '@lit/localize';
7
- import { map } from 'lit/directives/map.js';
8
- import { formatDate } from '../../utils/format-date';
9
- import { isFirstMillisecondOfUTCYear } from '../../utils/local-date-from-utc';
10
- import { BaseTileComponent } from '../base-tile-component';
11
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
12
- import '../image-block';
13
- import '../review-block';
14
- import '../text-snippet-block';
15
- import '../item-image';
16
- import '../mediatype-icon';
17
- import './tile-stats';
18
- let ItemTile = class ItemTile extends BaseTileComponent {
19
- constructor() {
20
- /*
21
- * Reactive properties inherited from BaseTileComponent:
22
- * - model?: TileModel;
23
- * - currentWidth?: number;
24
- * - currentHeight?: number;
25
- * - baseNavigationUrl?: string;
26
- * - baseImageUrl?: string;
27
- * - collectionPagePath?: string;
28
- * - sortParam: SortParam | null = null;
29
- * - creatorFilter?: string;
30
- * - mobileBreakpoint?: number;
31
- * - loggedIn = false;
32
- */
33
- super(...arguments);
34
- this.showInfoButton = false;
35
- }
36
- render() {
37
- var _a, _b, _c, _d, _e, _f, _g;
38
- const itemTitle = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title;
39
- const [viewCount, viewLabel] = ((_b = this.sortParam) === null || _b === void 0 ? void 0 : _b.field) === 'week'
40
- ? [(_c = this.model) === null || _c === void 0 ? void 0 : _c.weeklyViewCount, 'weekly views']
41
- : [(_d = this.model) === null || _d === void 0 ? void 0 : _d.viewCount, 'all-time views'];
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable import/no-duplicates */
3
+ import { css, html, nothing } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import { msg } from '@lit/localize';
7
+ import { map } from 'lit/directives/map.js';
8
+ import { formatDate } from '../../utils/format-date';
9
+ import { isFirstMillisecondOfUTCYear } from '../../utils/local-date-from-utc';
10
+ import { BaseTileComponent } from '../base-tile-component';
11
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
12
+ import '../image-block';
13
+ import '../review-block';
14
+ import '../text-snippet-block';
15
+ import '../item-image';
16
+ import '../mediatype-icon';
17
+ import './tile-stats';
18
+ let ItemTile = class ItemTile extends BaseTileComponent {
19
+ constructor() {
20
+ /*
21
+ * Reactive properties inherited from BaseTileComponent:
22
+ * - model?: TileModel;
23
+ * - currentWidth?: number;
24
+ * - currentHeight?: number;
25
+ * - baseNavigationUrl?: string;
26
+ * - baseImageUrl?: string;
27
+ * - collectionPagePath?: string;
28
+ * - sortParam: SortParam | null = null;
29
+ * - creatorFilter?: string;
30
+ * - mobileBreakpoint?: number;
31
+ * - loggedIn = false;
32
+ */
33
+ super(...arguments);
34
+ this.showInfoButton = false;
35
+ }
36
+ render() {
37
+ var _a, _b, _c, _d, _e, _f, _g;
38
+ const itemTitle = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title;
39
+ const [viewCount, viewLabel] = ((_b = this.sortParam) === null || _b === void 0 ? void 0 : _b.field) === 'week'
40
+ ? [(_c = this.model) === null || _c === void 0 ? void 0 : _c.weeklyViewCount, 'weekly views']
41
+ : [(_d = this.model) === null || _d === void 0 ? void 0 : _d.viewCount, 'all-time views'];
42
42
  return html `
43
43
  <div class="container">
44
44
  ${this.infoButtonTemplate}
@@ -53,8 +53,8 @@ let ItemTile = class ItemTile extends BaseTileComponent {
53
53
  </div>
54
54
 
55
55
  ${this.volumeIssueTemplate}
56
- ${this.isSortedByDate
57
- ? this.sortedDateInfoTemplate
56
+ ${this.isSortedByDate
57
+ ? this.sortedDateInfoTemplate
58
58
  : this.creatorTemplate}
59
59
  ${this.webArchivesCaptureDatesTemplate} ${this.textSnippetsTemplate}
60
60
  ${this.reviewBlockTemplate}
@@ -70,24 +70,24 @@ let ItemTile = class ItemTile extends BaseTileComponent {
70
70
  </tile-stats>
71
71
  </div>
72
72
  </div>
73
- `;
74
- }
75
- /**
76
- * Templates
77
- */
78
- get creatorTemplate() {
79
- const displayedCreator = this.displayValueProvider.firstCreatorMatchingFilter;
80
- if (!displayedCreator)
81
- return nothing;
73
+ `;
74
+ }
75
+ /**
76
+ * Templates
77
+ */
78
+ get creatorTemplate() {
79
+ const displayedCreator = this.displayValueProvider.firstCreatorMatchingFilter;
80
+ if (!displayedCreator)
81
+ return nothing;
82
82
  return html `
83
83
  <div class="created-by">
84
84
  <span class="truncated" title=${displayedCreator}>
85
85
  by&nbsp;${displayedCreator}
86
86
  </span>
87
87
  </div>
88
- `;
89
- }
90
- get imageBlockTemplate() {
88
+ `;
89
+ }
90
+ get imageBlockTemplate() {
91
91
  return html `
92
92
  <image-block
93
93
  .model=${this.model}
@@ -98,58 +98,58 @@ let ItemTile = class ItemTile extends BaseTileComponent {
98
98
  .viewSize=${'grid'}
99
99
  >
100
100
  </image-block>
101
- `;
102
- }
103
- get sortedDateInfoTemplate() {
104
- var _a, _b, _c, _d, _e;
105
- let sortedValue;
106
- let format = 'long';
107
- switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
108
- case 'date': {
109
- const datePublished = (_b = this.model) === null || _b === void 0 ? void 0 : _b.datePublished;
110
- sortedValue = { field: 'published', value: datePublished };
111
- if (isFirstMillisecondOfUTCYear(datePublished)) {
112
- format = 'year-only';
113
- }
114
- break;
115
- }
116
- case 'reviewdate':
117
- sortedValue = { field: 'reviewed', value: (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed };
118
- break;
119
- case 'addeddate':
120
- sortedValue = { field: 'added', value: (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded };
121
- break;
122
- case 'publicdate':
123
- sortedValue = { field: 'archived', value: (_e = this.model) === null || _e === void 0 ? void 0 : _e.dateArchived };
124
- break;
125
- default:
126
- break;
127
- }
128
- if (!(sortedValue === null || sortedValue === void 0 ? void 0 : sortedValue.value)) {
129
- return nothing;
130
- }
101
+ `;
102
+ }
103
+ get sortedDateInfoTemplate() {
104
+ var _a, _b, _c, _d, _e;
105
+ let sortedValue;
106
+ let format = 'long';
107
+ switch ((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field) {
108
+ case 'date': {
109
+ const datePublished = (_b = this.model) === null || _b === void 0 ? void 0 : _b.datePublished;
110
+ sortedValue = { field: 'published', value: datePublished };
111
+ if (isFirstMillisecondOfUTCYear(datePublished)) {
112
+ format = 'year-only';
113
+ }
114
+ break;
115
+ }
116
+ case 'reviewdate':
117
+ sortedValue = { field: 'reviewed', value: (_c = this.model) === null || _c === void 0 ? void 0 : _c.dateReviewed };
118
+ break;
119
+ case 'addeddate':
120
+ sortedValue = { field: 'added', value: (_d = this.model) === null || _d === void 0 ? void 0 : _d.dateAdded };
121
+ break;
122
+ case 'publicdate':
123
+ sortedValue = { field: 'archived', value: (_e = this.model) === null || _e === void 0 ? void 0 : _e.dateArchived };
124
+ break;
125
+ default:
126
+ break;
127
+ }
128
+ if (!(sortedValue === null || sortedValue === void 0 ? void 0 : sortedValue.value)) {
129
+ return nothing;
130
+ }
131
131
  return html `
132
132
  <div class="date-sorted-by truncated">
133
133
  <span>
134
134
  ${sortedValue === null || sortedValue === void 0 ? void 0 : sortedValue.field} ${formatDate(sortedValue === null || sortedValue === void 0 ? void 0 : sortedValue.value, format)}
135
135
  </span>
136
136
  </div>
137
- `;
138
- }
139
- get infoButtonTemplate() {
140
- // &#9432; is an information icon
141
- return this.showInfoButton
137
+ `;
138
+ }
139
+ get infoButtonTemplate() {
140
+ // &#9432; is an information icon
141
+ return this.showInfoButton
142
142
  ? html `<button class="info-button" @click=${this.infoButtonPressed}>
143
143
  &#9432;
144
144
  <span class="sr-only">${msg('More info')}</span>
145
- </button>`
146
- : nothing;
147
- }
148
- get reviewBlockTemplate() {
149
- var _a;
150
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.review))
151
- return nothing;
152
- const { title, body, stars } = this.model.review;
145
+ </button>`
146
+ : nothing;
147
+ }
148
+ get reviewBlockTemplate() {
149
+ var _a;
150
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.review))
151
+ return nothing;
152
+ const { title, body, stars } = this.model.review;
153
153
  return html `
154
154
  <review-block
155
155
  viewsize="grid"
@@ -158,61 +158,61 @@ let ItemTile = class ItemTile extends BaseTileComponent {
158
158
  .starRating=${stars}
159
159
  >
160
160
  </review-block>
161
- `;
162
- }
163
- get textSnippetsTemplate() {
164
- var _a;
165
- if (!this.hasSnippets)
166
- return nothing;
161
+ `;
162
+ }
163
+ get textSnippetsTemplate() {
164
+ var _a;
165
+ if (!this.hasSnippets)
166
+ return nothing;
167
167
  return html `
168
168
  <text-snippet-block viewsize="grid" .snippets=${(_a = this.model) === null || _a === void 0 ? void 0 : _a.snippets}>
169
169
  </text-snippet-block>
170
- `;
171
- }
172
- get volumeIssueTemplate() {
173
- var _a, _b, _c, _d;
174
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.volume) || !((_b = this.model) === null || _b === void 0 ? void 0 : _b.issue))
175
- return nothing;
170
+ `;
171
+ }
172
+ get volumeIssueTemplate() {
173
+ var _a, _b, _c, _d;
174
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.volume) || !((_b = this.model) === null || _b === void 0 ? void 0 : _b.issue))
175
+ return nothing;
176
176
  return html `
177
177
  <div class="volume-issue">
178
178
  <span class="truncated" title="volume|issue">
179
179
  Volume&nbsp;${(_c = this.model) === null || _c === void 0 ? void 0 : _c.volume}, Issue&nbsp;${(_d = this.model) === null || _d === void 0 ? void 0 : _d.issue}
180
180
  </span>
181
181
  </div>
182
- `;
183
- }
184
- get webArchivesCaptureDatesTemplate() {
185
- var _a;
186
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.captureDates) || !this.model.title)
187
- return nothing;
182
+ `;
183
+ }
184
+ get webArchivesCaptureDatesTemplate() {
185
+ var _a;
186
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.captureDates) || !this.model.title)
187
+ return nothing;
188
188
  return html `
189
189
  <ul class="capture-dates">
190
190
  ${map(this.model.captureDates, date => html `<li>
191
191
  ${this.displayValueProvider.webArchivesCaptureLink(this.model.title, date)}
192
192
  </li>`)}
193
193
  </ul>
194
- `;
195
- }
196
- get isSortedByDate() {
197
- var _a;
198
- return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field);
199
- }
200
- get hasSnippets() {
201
- var _a, _b;
202
- return !!((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.snippets) === null || _b === void 0 ? void 0 : _b.length);
203
- }
204
- infoButtonPressed(e) {
205
- e.preventDefault();
206
- const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
207
- this.dispatchEvent(event);
208
- }
209
- /**
210
- * CSS
211
- */
212
- static get styles() {
213
- const tileBorderColor = css `var(--tileBorderColor, #dddddd)`;
214
- return [
215
- baseTileStyles,
194
+ `;
195
+ }
196
+ get isSortedByDate() {
197
+ var _a;
198
+ return ['date', 'reviewdate', 'addeddate', 'publicdate'].includes((_a = this.sortParam) === null || _a === void 0 ? void 0 : _a.field);
199
+ }
200
+ get hasSnippets() {
201
+ var _a, _b;
202
+ return !!((_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.snippets) === null || _b === void 0 ? void 0 : _b.length);
203
+ }
204
+ infoButtonPressed(e) {
205
+ e.preventDefault();
206
+ const event = new CustomEvent('infoButtonPressed', { detail: { x: e.clientX, y: e.clientY } });
207
+ this.dispatchEvent(event);
208
+ }
209
+ /**
210
+ * CSS
211
+ */
212
+ static get styles() {
213
+ const tileBorderColor = css `var(--tileBorderColor, #dddddd)`;
214
+ return [
215
+ baseTileStyles,
216
216
  css `
217
217
  a:link {
218
218
  text-decoration: none;
@@ -251,15 +251,15 @@ let ItemTile = class ItemTile extends BaseTileComponent {
251
251
  -webkit-touch-callout: default;
252
252
  }
253
253
  }
254
- `,
255
- ];
256
- }
257
- };
258
- __decorate([
259
- property({ type: Boolean })
260
- ], ItemTile.prototype, "showInfoButton", void 0);
261
- ItemTile = __decorate([
262
- customElement('item-tile')
263
- ], ItemTile);
264
- export { ItemTile };
254
+ `,
255
+ ];
256
+ }
257
+ };
258
+ __decorate([
259
+ property({ type: Boolean })
260
+ ], ItemTile.prototype, "showInfoButton", void 0);
261
+ ItemTile = __decorate([
262
+ customElement('item-tile')
263
+ ], ItemTile);
264
+ export { ItemTile };
265
265
  //# sourceMappingURL=item-tile.js.map
@@ -1,10 +1,10 @@
1
- import { CSSResultGroup, TemplateResult } from 'lit';
2
- import { BaseTileComponent } from '../base-tile-component';
3
- import '../image-block';
4
- export declare class SearchTile extends BaseTileComponent {
5
- showInfoButton: boolean;
6
- render(): TemplateResult<1>;
7
- private get getImageBlockTemplate();
8
- private get getTitleTemplate();
9
- static get styles(): CSSResultGroup;
10
- }
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { BaseTileComponent } from '../base-tile-component';
3
+ import '../image-block';
4
+ export declare class SearchTile extends BaseTileComponent {
5
+ showInfoButton: boolean;
6
+ render(): TemplateResult<1>;
7
+ private get getImageBlockTemplate();
8
+ private get getTitleTemplate();
9
+ static get styles(): CSSResultGroup;
10
+ }
@@ -1,28 +1,28 @@
1
- import { __decorate } from "tslib";
2
- import { css, html } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { baseTileStyles } from './styles/tile-grid-shared-styles';
5
- import { BaseTileComponent } from '../base-tile-component';
6
- import '../image-block';
7
- let SearchTile = class SearchTile extends BaseTileComponent {
8
- constructor() {
9
- /*
10
- * Reactive properties inherited from BaseTileComponent:
11
- * - model?: TileModel;
12
- * - currentWidth?: number;
13
- * - currentHeight?: number;
14
- * - baseNavigationUrl?: string;
15
- * - baseImageUrl?: string;
16
- * - collectionPagePath?: string;
17
- * - sortParam: SortParam | null = null;
18
- * - creatorFilter?: string;
19
- * - mobileBreakpoint?: number;
20
- * - loggedIn = false;
21
- */
22
- super(...arguments);
23
- this.showInfoButton = false;
24
- }
25
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { baseTileStyles } from './styles/tile-grid-shared-styles';
5
+ import { BaseTileComponent } from '../base-tile-component';
6
+ import '../image-block';
7
+ let SearchTile = class SearchTile extends BaseTileComponent {
8
+ constructor() {
9
+ /*
10
+ * Reactive properties inherited from BaseTileComponent:
11
+ * - model?: TileModel;
12
+ * - currentWidth?: number;
13
+ * - currentHeight?: number;
14
+ * - baseNavigationUrl?: string;
15
+ * - baseImageUrl?: string;
16
+ * - collectionPagePath?: string;
17
+ * - sortParam: SortParam | null = null;
18
+ * - creatorFilter?: string;
19
+ * - mobileBreakpoint?: number;
20
+ * - loggedIn = false;
21
+ */
22
+ super(...arguments);
23
+ this.showInfoButton = false;
24
+ }
25
+ render() {
26
26
  return html `
27
27
  <div class="container">
28
28
  <div class="tile-details">
@@ -31,9 +31,9 @@ let SearchTile = class SearchTile extends BaseTileComponent {
31
31
  </div>
32
32
  </div>
33
33
  </div>
34
- `;
35
- }
36
- get getImageBlockTemplate() {
34
+ `;
35
+ }
36
+ get getImageBlockTemplate() {
37
37
  return html `
38
38
  <image-block
39
39
  .model=${this.model}
@@ -41,20 +41,20 @@ let SearchTile = class SearchTile extends BaseTileComponent {
41
41
  .viewSize=${'grid'}
42
42
  >
43
43
  </image-block>
44
- `;
45
- }
46
- get getTitleTemplate() {
47
- var _a;
44
+ `;
45
+ }
46
+ get getTitleTemplate() {
47
+ var _a;
48
48
  return html `<div id="title">
49
49
  <h4 class="truncated">${(_a = this.model) === null || _a === void 0 ? void 0 : _a.title}</h4>
50
- </div>`;
51
- }
52
- static get styles() {
53
- const tileBorderColor = css `var(--tileBorderColor, #555555)`;
54
- const tileBackgroundColor = css `var(--tileBackgroundColor, #666666)`;
55
- const whiteColor = css `#fff`;
56
- return [
57
- baseTileStyles,
50
+ </div>`;
51
+ }
52
+ static get styles() {
53
+ const tileBorderColor = css `var(--tileBorderColor, #555555)`;
54
+ const tileBackgroundColor = css `var(--tileBackgroundColor, #666666)`;
55
+ const whiteColor = css `#fff`;
56
+ return [
57
+ baseTileStyles,
58
58
  css `
59
59
  .container {
60
60
  background-color: ${tileBackgroundColor};
@@ -78,15 +78,15 @@ let SearchTile = class SearchTile extends BaseTileComponent {
78
78
  image-block:hover > #title {
79
79
  text-decoration: underline;
80
80
  }
81
- `,
82
- ];
83
- }
84
- };
85
- __decorate([
86
- property({ type: Boolean })
87
- ], SearchTile.prototype, "showInfoButton", void 0);
88
- SearchTile = __decorate([
89
- customElement('search-tile')
90
- ], SearchTile);
91
- export { SearchTile };
81
+ `,
82
+ ];
83
+ }
84
+ };
85
+ __decorate([
86
+ property({ type: Boolean })
87
+ ], SearchTile.prototype, "showInfoButton", void 0);
88
+ SearchTile = __decorate([
89
+ customElement('search-tile')
90
+ ], SearchTile);
91
+ export { SearchTile };
92
92
  //# sourceMappingURL=search-tile.js.map
@@ -1 +1 @@
1
- export declare const baseTileStyles: import("lit").CSSResult;
1
+ export declare const baseTileStyles: import("lit").CSSResult;
@@ -1,10 +1,10 @@
1
- import { css } from 'lit';
2
- import { srOnlyStyle } from '../../../styles/sr-only';
3
- /**
4
- * Base tile styles
5
- */
6
- const tileBackgroundColor = css `var(--tileBackgroundColor, #ffffff)`;
7
- const tileCornerRadius = css `var(--tileCornerRadius, 4px)`;
1
+ import { css } from 'lit';
2
+ import { srOnlyStyle } from '../../../styles/sr-only';
3
+ /**
4
+ * Base tile styles
5
+ */
6
+ const tileBackgroundColor = css `var(--tileBackgroundColor, #ffffff)`;
7
+ const tileCornerRadius = css `var(--tileCornerRadius, 4px)`;
8
8
  export const baseTileStyles = css `
9
9
  /* Include .sr-only styles for all tiles */
10
10
  ${srOnlyStyle}
@@ -123,5 +123,5 @@ export const baseTileStyles = css `
123
123
  .hidden {
124
124
  display: none;
125
125
  }
126
- `;
126
+ `;
127
127
  //# sourceMappingURL=tile-grid-shared-styles.js.map
@@ -1,11 +1,11 @@
1
- import { CSSResultGroup, LitElement } from 'lit';
2
- export declare class TileStats extends LitElement {
3
- mediatype?: string;
4
- itemCount?: number;
5
- viewCount?: number;
6
- viewLabel?: number;
7
- favCount?: number;
8
- commentCount?: number;
9
- render(): import("lit-html").TemplateResult<1>;
10
- static get styles(): CSSResultGroup;
11
- }
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ export declare class TileStats extends LitElement {
3
+ mediatype?: string;
4
+ itemCount?: number;
5
+ viewCount?: number;
6
+ viewLabel?: number;
7
+ favCount?: number;
8
+ commentCount?: number;
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ static get styles(): CSSResultGroup;
11
+ }