@internetarchive/collection-browser 2.1.8-alpha2 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +88 -88
  8. package/dist/src/app-root.js +475 -475
  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 +446 -446
  72. package/dist/src/collection-browser.js +1409 -1411
  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 +114 -114
  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 +17 -17
  79. package/dist/src/collection-facets/facets-template.js +114 -114
  80. package/dist/src/collection-facets/more-facets-content.d.ts +74 -70
  81. package/dist/src/collection-facets/more-facets-content.js +360 -354
  82. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  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 +511 -510
  89. package/dist/src/collection-facets.js.map +1 -1
  90. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +236 -236
  91. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  92. package/dist/src/data-source/collection-browser-data-source.d.ts +364 -364
  93. package/dist/src/data-source/collection-browser-data-source.js +946 -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 +43 -43
  96. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  97. package/dist/src/data-source/models.d.ts +28 -28
  98. package/dist/src/data-source/models.js +8 -8
  99. package/dist/src/empty-placeholder.d.ts +23 -23
  100. package/dist/src/empty-placeholder.js +74 -74
  101. package/dist/src/expanded-date-picker.d.ts +43 -43
  102. package/dist/src/expanded-date-picker.js +109 -109
  103. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  104. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  105. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  106. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  107. package/dist/src/manage/manage-bar.d.ts +30 -30
  108. package/dist/src/manage/manage-bar.js +61 -61
  109. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  110. package/dist/src/mediatype/mediatype-config.js +91 -91
  111. package/dist/src/models.d.ts +198 -198
  112. package/dist/src/models.js +381 -381
  113. package/dist/src/restoration-state-handler.d.ts +70 -70
  114. package/dist/src/restoration-state-handler.js +357 -357
  115. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  116. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  117. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  118. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  119. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  121. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/list.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  127. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  129. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  130. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  131. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  132. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  133. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +221 -221
  134. package/dist/src/sort-filter-bar/sort-filter-bar.js +691 -691
  135. package/dist/src/styles/ia-button.d.ts +2 -2
  136. package/dist/src/styles/ia-button.js +16 -16
  137. package/dist/src/styles/item-image-styles.d.ts +8 -8
  138. package/dist/src/styles/item-image-styles.js +9 -9
  139. package/dist/src/styles/sr-only.d.ts +1 -1
  140. package/dist/src/styles/sr-only.js +2 -2
  141. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  142. package/dist/src/tiles/base-tile-component.js +63 -63
  143. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  144. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  145. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  146. package/dist/src/tiles/grid/account-tile.js +72 -72
  147. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  148. package/dist/src/tiles/grid/collection-tile.js +80 -80
  149. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  150. package/dist/src/tiles/grid/item-tile.js +149 -149
  151. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  152. package/dist/src/tiles/grid/search-tile.js +51 -51
  153. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  154. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  155. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  156. package/dist/src/tiles/grid/tile-stats.js +53 -53
  157. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  158. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  159. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  160. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  161. package/dist/src/tiles/image-block.d.ts +17 -17
  162. package/dist/src/tiles/image-block.js +73 -73
  163. package/dist/src/tiles/item-image.d.ts +39 -39
  164. package/dist/src/tiles/item-image.js +154 -154
  165. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  166. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  167. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  168. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  169. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  170. package/dist/src/tiles/list/tile-list.js +315 -315
  171. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  172. package/dist/src/tiles/mediatype-icon.js +47 -47
  173. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  174. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  175. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  176. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  177. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  178. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  179. package/dist/src/tiles/review-block.d.ts +12 -12
  180. package/dist/src/tiles/review-block.js +56 -56
  181. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  182. package/dist/src/tiles/text-snippet-block.js +73 -73
  183. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  184. package/dist/src/tiles/tile-dispatcher.js +229 -229
  185. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  186. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  187. package/dist/src/utils/analytics-events.d.ts +26 -26
  188. package/dist/src/utils/analytics-events.js +28 -28
  189. package/dist/src/utils/array-equals.d.ts +4 -4
  190. package/dist/src/utils/array-equals.js +10 -10
  191. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  192. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  193. package/dist/src/utils/format-count.d.ts +7 -7
  194. package/dist/src/utils/format-count.js +76 -76
  195. package/dist/src/utils/format-date.d.ts +2 -2
  196. package/dist/src/utils/format-date.js +25 -25
  197. package/dist/src/utils/format-unit-size.d.ts +2 -2
  198. package/dist/src/utils/format-unit-size.js +33 -33
  199. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  200. package/dist/src/utils/local-date-from-utc.js +15 -15
  201. package/dist/src/utils/log.d.ts +7 -7
  202. package/dist/src/utils/log.js +15 -15
  203. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  204. package/dist/src/utils/resolve-mediatype.js +23 -23
  205. package/dist/src/utils/sha1.d.ts +2 -2
  206. package/dist/src/utils/sha1.js +8 -8
  207. package/dist/test/collection-browser.test.d.ts +1 -1
  208. package/dist/test/collection-browser.test.js +1283 -1283
  209. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  210. package/dist/test/collection-facets/facet-row.test.js +203 -203
  211. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  212. package/dist/test/collection-facets/facets-template.test.js +105 -105
  213. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  214. package/dist/test/collection-facets/more-facets-content.test.js +141 -135
  215. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  216. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  217. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  218. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  219. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  220. package/dist/test/collection-facets.test.d.ts +2 -2
  221. package/dist/test/collection-facets.test.js +652 -654
  222. package/dist/test/collection-facets.test.js.map +1 -1
  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/collection-browser.ts +2 -3
  296. package/src/collection-facets/more-facets-content.ts +21 -13
  297. package/src/collection-facets.ts +7 -5
  298. package/src/data-source/collection-browser-data-source.ts +1 -1
  299. package/test/collection-facets/more-facets-content.test.ts +8 -2
  300. package/test/collection-facets.test.ts +3 -5
  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,63 +1,63 @@
1
- var TileDispatcher_1;
2
- import { __decorate } from "tslib";
3
- import { css, html, nothing } from 'lit';
4
- import { customElement, property, query } from 'lit/decorators.js';
5
- import { ifDefined } from 'lit/directives/if-defined.js';
6
- import { msg } from '@lit/localize';
7
- import './grid/collection-tile';
8
- import './grid/item-tile';
9
- import './grid/account-tile';
10
- import './grid/search-tile';
11
- import './hover/tile-hover-pane';
12
- import './list/tile-list';
13
- import './list/tile-list-compact';
14
- import './list/tile-list-compact-header';
15
- import { BaseTileComponent } from './base-tile-component';
16
- import { HoverPaneController, } from './hover/hover-pane-controller';
17
- let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileComponent {
18
- constructor() {
19
- /*
20
- * Reactive properties inherited from BaseTileComponent:
21
- * - model?: TileModel;
22
- * - currentWidth?: number;
23
- * - currentHeight?: number;
24
- * - baseNavigationUrl?: string;
25
- * - baseImageUrl?: string;
26
- * - collectionPagePath?: string;
27
- * - sortParam: SortParam | null = null;
28
- * - creatorFilter?: string;
29
- * - mobileBreakpoint?: number;
30
- * - loggedIn = false;
31
- */
32
- super(...arguments);
33
- this.isManageView = false;
34
- /** Whether this tile should include a hover pane at all (for applicable tile modes) */
35
- this.enableHoverPane = false;
36
- this.manageCheckTitle = msg('Remove this item from the list');
37
- }
38
- render() {
39
- var _a, _b;
40
- const isGridMode = this.tileDisplayMode === 'grid';
41
- const hoverPaneTemplate = (_b = (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.getTemplate()) !== null && _b !== void 0 ? _b : nothing;
1
+ var TileDispatcher_1;
2
+ import { __decorate } from "tslib";
3
+ import { css, html, nothing } from 'lit';
4
+ import { customElement, property, query } from 'lit/decorators.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import { msg } from '@lit/localize';
7
+ import './grid/collection-tile';
8
+ import './grid/item-tile';
9
+ import './grid/account-tile';
10
+ import './grid/search-tile';
11
+ import './hover/tile-hover-pane';
12
+ import './list/tile-list';
13
+ import './list/tile-list-compact';
14
+ import './list/tile-list-compact-header';
15
+ import { BaseTileComponent } from './base-tile-component';
16
+ import { HoverPaneController, } from './hover/hover-pane-controller';
17
+ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileComponent {
18
+ constructor() {
19
+ /*
20
+ * Reactive properties inherited from BaseTileComponent:
21
+ * - model?: TileModel;
22
+ * - currentWidth?: number;
23
+ * - currentHeight?: number;
24
+ * - baseNavigationUrl?: string;
25
+ * - baseImageUrl?: string;
26
+ * - collectionPagePath?: string;
27
+ * - sortParam: SortParam | null = null;
28
+ * - creatorFilter?: string;
29
+ * - mobileBreakpoint?: number;
30
+ * - loggedIn = false;
31
+ */
32
+ super(...arguments);
33
+ this.isManageView = false;
34
+ /** Whether this tile should include a hover pane at all (for applicable tile modes) */
35
+ this.enableHoverPane = false;
36
+ this.manageCheckTitle = msg('Remove this item from the list');
37
+ }
38
+ render() {
39
+ var _a, _b;
40
+ const isGridMode = this.tileDisplayMode === 'grid';
41
+ const hoverPaneTemplate = (_b = (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.getTemplate()) !== null && _b !== void 0 ? _b : nothing;
42
42
  return html `
43
43
  <div id="container" class=${isGridMode ? 'hoverable' : nothing}>
44
- ${this.tileDisplayMode === 'list-header'
45
- ? this.headerTemplate
44
+ ${this.tileDisplayMode === 'list-header'
45
+ ? this.headerTemplate
46
46
  : this.tileTemplate}
47
47
  ${this.manageCheckTemplate} ${hoverPaneTemplate}
48
48
  </div>
49
- `;
50
- }
51
- firstUpdated() {
52
- if (this.shouldPrepareHoverPane) {
53
- this.hoverPaneController = new HoverPaneController(this, {
54
- mobileBreakpoint: this.mobileBreakpoint,
55
- enableLongPress: false,
56
- });
57
- }
58
- }
59
- get headerTemplate() {
60
- const { currentWidth, sortParam, defaultSortParam, mobileBreakpoint } = this;
49
+ `;
50
+ }
51
+ firstUpdated() {
52
+ if (this.shouldPrepareHoverPane) {
53
+ this.hoverPaneController = new HoverPaneController(this, {
54
+ mobileBreakpoint: this.mobileBreakpoint,
55
+ enableLongPress: false,
56
+ });
57
+ }
58
+ }
59
+ get headerTemplate() {
60
+ const { currentWidth, sortParam, defaultSortParam, mobileBreakpoint } = this;
61
61
  return html `
62
62
  <tile-list-compact-header
63
63
  class="header"
@@ -66,46 +66,46 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
66
66
  .mobileBreakpoint=${mobileBreakpoint}
67
67
  >
68
68
  </tile-list-compact-header>
69
- `;
70
- }
71
- get tileTemplate() {
69
+ `;
70
+ }
71
+ get tileTemplate() {
72
72
  return html `
73
- ${this.tileDisplayMode === 'list-detail'
74
- ? this.tile
73
+ ${this.tileDisplayMode === 'list-detail'
74
+ ? this.tile
75
75
  : this.linkTileTemplate}
76
- `;
77
- }
78
- get linkTileTemplate() {
79
- var _a, _b, _c;
76
+ `;
77
+ }
78
+ get linkTileTemplate() {
79
+ var _a, _b, _c;
80
80
  return html `
81
81
  <a
82
82
  href=${this.linkTileHref}
83
83
  aria-label=${(_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : 'Untitled item'}
84
- title=${this.shouldPrepareHoverPane
85
- ? nothing // Don't show title tooltips when we have the tile info popups
84
+ title=${this.shouldPrepareHoverPane
85
+ ? nothing // Don't show title tooltips when we have the tile info popups
86
86
  : ifDefined((_c = this.model) === null || _c === void 0 ? void 0 : _c.title)}
87
87
  @click=${this.handleLinkClicked}
88
88
  @contextmenu=${this.handleLinkContextMenu}
89
89
  >
90
90
  ${this.tile}
91
91
  </a>
92
- `;
93
- }
94
- get linkTileHref() {
95
- var _a;
96
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
97
- return nothing;
98
- // Use the server-specified href if available.
99
- // Otherwise, construct a details page URL from the item identifier.
100
- if (this.model.href) {
101
- return `${this.baseNavigationUrl}${this.model.href}`;
102
- }
103
- return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
104
- }
105
- get manageCheckTemplate() {
106
- var _a;
107
- if (!this.isManageView || this.tileDisplayMode !== 'grid')
108
- return nothing;
92
+ `;
93
+ }
94
+ get linkTileHref() {
95
+ var _a;
96
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
97
+ return nothing;
98
+ // Use the server-specified href if available.
99
+ // Otherwise, construct a details page URL from the item identifier.
100
+ if (this.model.href) {
101
+ return `${this.baseNavigationUrl}${this.model.href}`;
102
+ }
103
+ return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
104
+ }
105
+ get manageCheckTemplate() {
106
+ var _a;
107
+ if (!this.isManageView || this.tileDisplayMode !== 'grid')
108
+ return nothing;
109
109
  return html `
110
110
  <div class="manage-check">
111
111
  <input
@@ -115,97 +115,97 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
115
115
  @change=${this.handleLinkClicked}
116
116
  />
117
117
  </div>
118
- `;
119
- }
120
- /**
121
- * Whether hover pane behavior should be prepared for this tile
122
- * (e.g., whether mouse listeners should be attached, etc.)
123
- */
124
- get shouldPrepareHoverPane() {
125
- var _a, _b;
126
- return (this.enableHoverPane &&
127
- !!this.tileDisplayMode &&
128
- TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode] &&
129
- ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) !== 'search' && // don't show hover panes on search tiles
130
- !((_b = this.model) === null || _b === void 0 ? void 0 : _b.captureDates) // don't show hover panes on web archive tiles
131
- );
132
- }
133
- get isHoverEnabled() {
134
- return window.matchMedia('(hover: hover)').matches;
135
- }
136
- /** @inheritdoc */
137
- getHoverPane() {
138
- return this.hoverPane;
139
- }
140
- /** @inheritdoc */
141
- getHoverPaneProps() {
142
- return this;
143
- }
144
- handleResize(entry) {
145
- this.currentWidth = entry.contentRect.width;
146
- this.currentHeight = entry.contentRect.height;
147
- }
148
- disconnectedCallback() {
149
- this.stopResizeObservation(this.resizeObserver);
150
- }
151
- stopResizeObservation(observer) {
152
- observer === null || observer === void 0 ? void 0 : observer.removeObserver({
153
- handler: this,
154
- target: this.container,
155
- });
156
- }
157
- startResizeObservation() {
158
- var _a;
159
- this.stopResizeObservation(this.resizeObserver);
160
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
161
- handler: this,
162
- target: this.container,
163
- });
164
- }
165
- updated(props) {
166
- if (props.has('resizeObserver')) {
167
- const previousObserver = props.get('resizeObserver');
168
- this.stopResizeObservation(previousObserver);
169
- this.startResizeObservation();
170
- }
171
- }
172
- /**
173
- * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
174
- * In manage view, it also checks/unchecks the tile.
175
- */
176
- handleLinkClicked(e) {
177
- if (this.isManageView) {
178
- e.preventDefault();
179
- if (this.model)
180
- this.model.checked = !this.model.checked;
181
- }
182
- this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
183
- }
184
- /**
185
- * Handler for when the tile link is right-clicked.
186
- * In manage view, it opens the item in a new tab. Otherwise, does nothing.
187
- */
188
- handleLinkContextMenu(e) {
189
- if (this.isManageView && this.linkTileHref !== nothing) {
190
- e.preventDefault();
191
- window.open(this.linkTileHref, '_blank');
192
- }
193
- }
194
- tileInfoButtonPressed(e) {
195
- var _a;
196
- (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
197
- coords: e.detail,
198
- enableTouchBackdrop: true,
199
- });
200
- }
201
- get tile() {
202
- const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, defaultSortParam, } = this;
203
- if (!model)
204
- return nothing;
205
- switch (this.tileDisplayMode) {
206
- case 'grid':
207
- switch (model.mediatype) {
208
- case 'collection':
118
+ `;
119
+ }
120
+ /**
121
+ * Whether hover pane behavior should be prepared for this tile
122
+ * (e.g., whether mouse listeners should be attached, etc.)
123
+ */
124
+ get shouldPrepareHoverPane() {
125
+ var _a, _b;
126
+ return (this.enableHoverPane &&
127
+ !!this.tileDisplayMode &&
128
+ TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode] &&
129
+ ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) !== 'search' && // don't show hover panes on search tiles
130
+ !((_b = this.model) === null || _b === void 0 ? void 0 : _b.captureDates) // don't show hover panes on web archive tiles
131
+ );
132
+ }
133
+ get isHoverEnabled() {
134
+ return window.matchMedia('(hover: hover)').matches;
135
+ }
136
+ /** @inheritdoc */
137
+ getHoverPane() {
138
+ return this.hoverPane;
139
+ }
140
+ /** @inheritdoc */
141
+ getHoverPaneProps() {
142
+ return this;
143
+ }
144
+ handleResize(entry) {
145
+ this.currentWidth = entry.contentRect.width;
146
+ this.currentHeight = entry.contentRect.height;
147
+ }
148
+ disconnectedCallback() {
149
+ this.stopResizeObservation(this.resizeObserver);
150
+ }
151
+ stopResizeObservation(observer) {
152
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
153
+ handler: this,
154
+ target: this.container,
155
+ });
156
+ }
157
+ startResizeObservation() {
158
+ var _a;
159
+ this.stopResizeObservation(this.resizeObserver);
160
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
161
+ handler: this,
162
+ target: this.container,
163
+ });
164
+ }
165
+ updated(props) {
166
+ if (props.has('resizeObserver')) {
167
+ const previousObserver = props.get('resizeObserver');
168
+ this.stopResizeObservation(previousObserver);
169
+ this.startResizeObservation();
170
+ }
171
+ }
172
+ /**
173
+ * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
174
+ * In manage view, it also checks/unchecks the tile.
175
+ */
176
+ handleLinkClicked(e) {
177
+ if (this.isManageView) {
178
+ e.preventDefault();
179
+ if (this.model)
180
+ this.model.checked = !this.model.checked;
181
+ }
182
+ this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
183
+ }
184
+ /**
185
+ * Handler for when the tile link is right-clicked.
186
+ * In manage view, it opens the item in a new tab. Otherwise, does nothing.
187
+ */
188
+ handleLinkContextMenu(e) {
189
+ if (this.isManageView && this.linkTileHref !== nothing) {
190
+ e.preventDefault();
191
+ window.open(this.linkTileHref, '_blank');
192
+ }
193
+ }
194
+ tileInfoButtonPressed(e) {
195
+ var _a;
196
+ (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
197
+ coords: e.detail,
198
+ enableTouchBackdrop: true,
199
+ });
200
+ }
201
+ get tile() {
202
+ const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, defaultSortParam, } = this;
203
+ if (!model)
204
+ return nothing;
205
+ switch (this.tileDisplayMode) {
206
+ case 'grid':
207
+ switch (model.mediatype) {
208
+ case 'collection':
209
209
  return html `<collection-tile
210
210
  .model=${model}
211
211
  .collectionPagePath=${collectionPagePath}
@@ -217,8 +217,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
217
217
  ?showInfoButton=${!this.isHoverEnabled}
218
218
  @infoButtonPressed=${this.tileInfoButtonPressed}
219
219
  >
220
- </collection-tile>`;
221
- case 'account':
220
+ </collection-tile>`;
221
+ case 'account':
222
222
  return html `<account-tile
223
223
  .model=${model}
224
224
  .collectionPagePath=${collectionPagePath}
@@ -230,8 +230,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
230
230
  ?showInfoButton=${!this.isHoverEnabled}
231
231
  @infoButtonPressed=${this.tileInfoButtonPressed}
232
232
  >
233
- </account-tile>`;
234
- case 'search':
233
+ </account-tile>`;
234
+ case 'search':
235
235
  return html `<search-tile
236
236
  .model=${model}
237
237
  .collectionPagePath=${collectionPagePath}
@@ -243,8 +243,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
243
243
  ?showInfoButton=${false}
244
244
  @infoButtonPressed=${this.tileInfoButtonPressed}
245
245
  >
246
- </search-tile>`;
247
- default:
246
+ </search-tile>`;
247
+ default:
248
248
  return html `<item-tile
249
249
  .model=${model}
250
250
  .collectionPagePath=${collectionPagePath}
@@ -258,9 +258,9 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
258
258
  ?showInfoButton=${!this.isHoverEnabled}
259
259
  @infoButtonPressed=${this.tileInfoButtonPressed}
260
260
  >
261
- </item-tile>`;
262
- }
263
- case 'list-compact':
261
+ </item-tile>`;
262
+ }
263
+ case 'list-compact':
264
264
  return html `<tile-list-compact
265
265
  .model=${model}
266
266
  .collectionPagePath=${collectionPagePath}
@@ -273,8 +273,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
273
273
  .baseImageUrl=${this.baseImageUrl}
274
274
  .loggedIn=${this.loggedIn}
275
275
  >
276
- </tile-list-compact>`;
277
- case 'list-detail':
276
+ </tile-list-compact>`;
277
+ case 'list-detail':
278
278
  return html `<tile-list
279
279
  .model=${model}
280
280
  .collectionPagePath=${collectionPagePath}
@@ -288,12 +288,12 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
288
288
  .baseImageUrl=${this.baseImageUrl}
289
289
  .loggedIn=${this.loggedIn}
290
290
  >
291
- </tile-list>`;
292
- default:
293
- return nothing;
294
- }
295
- }
296
- static get styles() {
291
+ </tile-list>`;
292
+ default:
293
+ return nothing;
294
+ }
295
+ }
296
+ static get styles() {
297
297
  return css `
298
298
  :host {
299
299
  display: block;
@@ -378,42 +378,42 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
378
378
  left: -9999px;
379
379
  z-index: 2;
380
380
  }
381
- `;
382
- }
383
- };
384
- /** Maps each display mode to whether hover panes should appear in that mode */
385
- TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
386
- grid: true,
387
- 'list-compact': true,
388
- 'list-detail': false,
389
- 'list-header': false,
390
- };
391
- __decorate([
392
- property({ type: String })
393
- ], TileDispatcher.prototype, "tileDisplayMode", void 0);
394
- __decorate([
395
- property({ type: Boolean })
396
- ], TileDispatcher.prototype, "isManageView", void 0);
397
- __decorate([
398
- property({ type: Object })
399
- ], TileDispatcher.prototype, "resizeObserver", void 0);
400
- __decorate([
401
- property({ type: Object })
402
- ], TileDispatcher.prototype, "collectionTitles", void 0);
403
- __decorate([
404
- property({ type: Boolean })
405
- ], TileDispatcher.prototype, "enableHoverPane", void 0);
406
- __decorate([
407
- property({ type: String })
408
- ], TileDispatcher.prototype, "manageCheckTitle", void 0);
409
- __decorate([
410
- query('#container')
411
- ], TileDispatcher.prototype, "container", void 0);
412
- __decorate([
413
- query('tile-hover-pane')
414
- ], TileDispatcher.prototype, "hoverPane", void 0);
415
- TileDispatcher = TileDispatcher_1 = __decorate([
416
- customElement('tile-dispatcher')
417
- ], TileDispatcher);
418
- export { TileDispatcher };
381
+ `;
382
+ }
383
+ };
384
+ /** Maps each display mode to whether hover panes should appear in that mode */
385
+ TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
386
+ grid: true,
387
+ 'list-compact': true,
388
+ 'list-detail': false,
389
+ 'list-header': false,
390
+ };
391
+ __decorate([
392
+ property({ type: String })
393
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
394
+ __decorate([
395
+ property({ type: Boolean })
396
+ ], TileDispatcher.prototype, "isManageView", void 0);
397
+ __decorate([
398
+ property({ type: Object })
399
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
400
+ __decorate([
401
+ property({ type: Object })
402
+ ], TileDispatcher.prototype, "collectionTitles", void 0);
403
+ __decorate([
404
+ property({ type: Boolean })
405
+ ], TileDispatcher.prototype, "enableHoverPane", void 0);
406
+ __decorate([
407
+ property({ type: String })
408
+ ], TileDispatcher.prototype, "manageCheckTitle", void 0);
409
+ __decorate([
410
+ query('#container')
411
+ ], TileDispatcher.prototype, "container", void 0);
412
+ __decorate([
413
+ query('tile-hover-pane')
414
+ ], TileDispatcher.prototype, "hoverPane", void 0);
415
+ TileDispatcher = TileDispatcher_1 = __decorate([
416
+ customElement('tile-dispatcher')
417
+ ], TileDispatcher);
418
+ export { TileDispatcher };
419
419
  //# sourceMappingURL=tile-dispatcher.js.map
@@ -1,47 +1,47 @@
1
- import { TemplateResult, nothing } from 'lit';
2
- import type { SortParam } from '@internetarchive/search-service';
3
- import type { TileModel } from '../models';
4
- /**
5
- * A class encapsulating shared logic for converting model values into display values
6
- * across different types of tiles.
7
- */
8
- export declare class TileDisplayValueProvider {
9
- private model?;
10
- private baseNavigationUrl?;
11
- private collectionPagePath?;
12
- private sortParam?;
13
- private creatorFilter?;
14
- constructor(options?: {
15
- model?: TileModel;
16
- baseNavigationUrl?: string;
17
- collectionPagePath?: string;
18
- sortParam?: SortParam;
19
- creatorFilter?: string;
20
- });
21
- /**
22
- * Examines the creator(s) for the given tile model, returning
23
- * the first creator whose name matches the provided filter
24
- * (or simply the first creator overall if no filter is provided).
25
- */
26
- get firstCreatorMatchingFilter(): string | undefined;
27
- /**
28
- * The label indicating what year an account item was created.
29
- * E.g., "Archivist since 2015"
30
- */
31
- get accountLabel(): string;
32
- /**
33
- * The readable label for the current sort if it is a type of date sort,
34
- * or the empty string otherwise.
35
- */
36
- get dateLabel(): string;
37
- /**
38
- * Produces a URL pointing at the item page for the given identifier,
39
- * using the current base URL and the correct path based on whether the
40
- * item is specified to be a collection (default false).
41
- */
42
- itemPageUrl(identifier?: string, isCollection?: boolean): string | typeof nothing;
43
- /**
44
- * Produces a template for a link to a single web capture of the given URL and date
45
- */
46
- webArchivesCaptureLink(url: string, date: Date): TemplateResult;
47
- }
1
+ import { TemplateResult, nothing } from 'lit';
2
+ import type { SortParam } from '@internetarchive/search-service';
3
+ import type { TileModel } from '../models';
4
+ /**
5
+ * A class encapsulating shared logic for converting model values into display values
6
+ * across different types of tiles.
7
+ */
8
+ export declare class TileDisplayValueProvider {
9
+ private model?;
10
+ private baseNavigationUrl?;
11
+ private collectionPagePath?;
12
+ private sortParam?;
13
+ private creatorFilter?;
14
+ constructor(options?: {
15
+ model?: TileModel;
16
+ baseNavigationUrl?: string;
17
+ collectionPagePath?: string;
18
+ sortParam?: SortParam;
19
+ creatorFilter?: string;
20
+ });
21
+ /**
22
+ * Examines the creator(s) for the given tile model, returning
23
+ * the first creator whose name matches the provided filter
24
+ * (or simply the first creator overall if no filter is provided).
25
+ */
26
+ get firstCreatorMatchingFilter(): string | undefined;
27
+ /**
28
+ * The label indicating what year an account item was created.
29
+ * E.g., "Archivist since 2015"
30
+ */
31
+ get accountLabel(): string;
32
+ /**
33
+ * The readable label for the current sort if it is a type of date sort,
34
+ * or the empty string otherwise.
35
+ */
36
+ get dateLabel(): string;
37
+ /**
38
+ * Produces a URL pointing at the item page for the given identifier,
39
+ * using the current base URL and the correct path based on whether the
40
+ * item is specified to be a collection (default false).
41
+ */
42
+ itemPageUrl(identifier?: string, isCollection?: boolean): string | typeof nothing;
43
+ /**
44
+ * Produces a template for a link to a single web capture of the given URL and date
45
+ */
46
+ webArchivesCaptureLink(url: string, date: Date): TemplateResult;
47
+ }