@internetarchive/collection-browser 2.6.1 → 2.6.2-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 (310) 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 -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 +567 -564
  72. package/dist/src/collection-browser.js +1577 -1578
  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-data-source.js.map +1 -1
  93. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  94. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  95. package/dist/src/data-source/collection-browser-query-state.js.map +1 -1
  96. package/dist/src/data-source/models.d.ts +28 -28
  97. package/dist/src/data-source/models.js +8 -8
  98. package/dist/src/empty-placeholder.d.ts +23 -23
  99. package/dist/src/empty-placeholder.js +79 -79
  100. package/dist/src/expanded-date-picker.d.ts +43 -43
  101. package/dist/src/expanded-date-picker.js +109 -109
  102. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  103. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  104. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  105. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  106. package/dist/src/manage/manage-bar.d.ts +30 -30
  107. package/dist/src/manage/manage-bar.js +61 -61
  108. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  109. package/dist/src/mediatype/mediatype-config.js +91 -91
  110. package/dist/src/models.d.ts +211 -211
  111. package/dist/src/models.js +381 -381
  112. package/dist/src/restoration-state-handler.d.ts +70 -70
  113. package/dist/src/restoration-state-handler.js +357 -357
  114. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  115. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  116. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  117. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  118. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  120. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/list.js +2 -2
  122. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  130. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  132. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -223
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js +697 -697
  134. package/dist/src/styles/ia-button.d.ts +2 -2
  135. package/dist/src/styles/ia-button.js +16 -16
  136. package/dist/src/styles/item-image-styles.d.ts +8 -8
  137. package/dist/src/styles/item-image-styles.js +9 -9
  138. package/dist/src/styles/sr-only.d.ts +1 -1
  139. package/dist/src/styles/sr-only.js +2 -2
  140. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  141. package/dist/src/tiles/base-tile-component.js +64 -63
  142. package/dist/src/tiles/base-tile-component.js.map +1 -1
  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 +34 -30
  150. package/dist/src/tiles/grid/item-tile.js +158 -149
  151. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  152. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  153. package/dist/src/tiles/grid/search-tile.js +51 -51
  154. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  155. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  156. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  157. package/dist/src/tiles/grid/tile-stats.js +53 -53
  158. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  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 +18 -18
  162. package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
  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 +19 -15
  170. package/dist/src/tiles/list/tile-list-compact.js +122 -114
  171. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  172. package/dist/src/tiles/list/tile-list.d.ts +54 -50
  173. package/dist/src/tiles/list/tile-list.js +323 -315
  174. package/dist/src/tiles/list/tile-list.js.map +1 -1
  175. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  176. package/dist/src/tiles/mediatype-icon.js +47 -47
  177. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  178. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  179. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  180. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  181. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  182. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  183. package/dist/src/tiles/review-block.d.ts +12 -12
  184. package/dist/src/tiles/review-block.js +56 -56
  185. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  186. package/dist/src/tiles/text-snippet-block.js +73 -73
  187. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  188. package/dist/src/tiles/tile-dispatcher.js +237 -233
  189. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  190. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  191. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  192. package/dist/src/utils/analytics-events.d.ts +28 -28
  193. package/dist/src/utils/analytics-events.js +30 -30
  194. package/dist/src/utils/array-equals.d.ts +4 -4
  195. package/dist/src/utils/array-equals.js +10 -10
  196. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  197. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  198. package/dist/src/utils/facet-utils.d.ts +83 -83
  199. package/dist/src/utils/facet-utils.js +145 -145
  200. package/dist/src/utils/format-count.d.ts +7 -7
  201. package/dist/src/utils/format-count.js +76 -76
  202. package/dist/src/utils/format-date.d.ts +2 -2
  203. package/dist/src/utils/format-date.js +25 -25
  204. package/dist/src/utils/format-unit-size.d.ts +2 -2
  205. package/dist/src/utils/format-unit-size.js +33 -33
  206. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  207. package/dist/src/utils/local-date-from-utc.js +15 -15
  208. package/dist/src/utils/log.d.ts +7 -7
  209. package/dist/src/utils/log.js +15 -15
  210. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  211. package/dist/src/utils/resolve-mediatype.js +23 -23
  212. package/dist/src/utils/sha1.d.ts +2 -2
  213. package/dist/src/utils/sha1.js +8 -8
  214. package/dist/test/collection-browser.test.d.ts +1 -1
  215. package/dist/test/collection-browser.test.js +1294 -1294
  216. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  217. package/dist/test/collection-facets/facet-row.test.js +227 -227
  218. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  219. package/dist/test/collection-facets/facets-template.test.js +91 -91
  220. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  221. package/dist/test/collection-facets/more-facets-content.test.js +141 -141
  222. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  223. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  224. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  225. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  226. package/dist/test/collection-facets.test.d.ts +2 -2
  227. package/dist/test/collection-facets.test.js +652 -652
  228. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  229. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  230. package/dist/test/empty-placeholder.test.d.ts +1 -1
  231. package/dist/test/empty-placeholder.test.js +63 -63
  232. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  233. package/dist/test/expanded-date-picker.test.js +95 -95
  234. package/dist/test/icon-overlay.test.d.ts +1 -1
  235. package/dist/test/icon-overlay.test.js +24 -24
  236. package/dist/test/image-block.test.d.ts +1 -1
  237. package/dist/test/image-block.test.js +48 -48
  238. package/dist/test/item-image.test.d.ts +1 -1
  239. package/dist/test/item-image.test.js +85 -85
  240. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  241. package/dist/test/manage/manage-bar.test.js +81 -81
  242. package/dist/test/mediatype-config.test.d.ts +1 -1
  243. package/dist/test/mediatype-config.test.js +16 -16
  244. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  245. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  246. package/dist/test/mocks/mock-search-responses.d.ts +25 -25
  247. package/dist/test/mocks/mock-search-responses.js +942 -942
  248. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  249. package/dist/test/mocks/mock-search-service.js +54 -54
  250. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  251. package/dist/test/restoration-state-handler.test.js +270 -270
  252. package/dist/test/review-block.test.d.ts +1 -1
  253. package/dist/test/review-block.test.js +44 -44
  254. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  255. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  256. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  257. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  258. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  259. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  260. package/dist/test/text-overlay.test.d.ts +1 -1
  261. package/dist/test/text-overlay.test.js +48 -48
  262. package/dist/test/text-snippet-block.test.d.ts +1 -1
  263. package/dist/test/text-snippet-block.test.js +57 -57
  264. package/dist/test/tile-stats.test.d.ts +1 -1
  265. package/dist/test/tile-stats.test.js +81 -81
  266. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  267. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  268. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  269. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  270. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  271. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  272. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  273. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  274. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  275. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  276. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  277. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
  278. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  279. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  280. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  281. package/dist/test/tiles/list/tile-list.test.js +297 -297
  282. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  283. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  284. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  285. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  286. package/dist/test/utils/array-equals.test.d.ts +1 -1
  287. package/dist/test/utils/array-equals.test.js +26 -26
  288. package/dist/test/utils/format-count.test.d.ts +1 -1
  289. package/dist/test/utils/format-count.test.js +23 -23
  290. package/dist/test/utils/format-date.test.d.ts +1 -1
  291. package/dist/test/utils/format-date.test.js +17 -17
  292. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  293. package/dist/test/utils/format-unit-size.test.js +17 -17
  294. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  295. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  296. package/local.archive.org.cert +86 -86
  297. package/local.archive.org.key +27 -27
  298. package/package.json +1 -1
  299. package/renovate.json +6 -6
  300. package/src/collection-browser.ts +18 -15
  301. package/src/data-source/collection-browser-data-source.ts +2 -3
  302. package/src/data-source/collection-browser-query-state.ts +1 -1
  303. package/src/tiles/base-tile-component.ts +2 -1
  304. package/src/tiles/grid/item-tile.ts +13 -3
  305. package/src/tiles/grid/tile-stats.ts +1 -1
  306. package/src/tiles/list/tile-list-compact.ts +13 -4
  307. package/src/tiles/list/tile-list.ts +15 -6
  308. package/src/tiles/tile-dispatcher.ts +8 -4
  309. package/web-dev-server.config.mjs +30 -30
  310. package/web-test-runner.config.mjs +41 -41
@@ -1,111 +1,112 @@
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
+ * - defaultSortParam: SortParam | null = null;
29
+ * - creatorFilter?: string;
30
+ * - mobileBreakpoint?: number;
31
+ * - loggedIn = false;
32
+ */
33
+ super(...arguments);
34
+ this.isManageView = false;
35
+ /** Whether this tile should include a hover pane at all (for applicable tile modes) */
36
+ this.enableHoverPane = false;
37
+ this.manageCheckTitle = msg('Remove this item from the list');
38
+ }
39
+ render() {
40
+ var _a, _b;
41
+ const isGridMode = this.tileDisplayMode === 'grid';
42
+ const hoverPaneTemplate = (_b = (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.getTemplate()) !== null && _b !== void 0 ? _b : nothing;
42
43
  return html `
43
44
  <div id="container" class=${isGridMode ? 'hoverable' : nothing}>
44
- ${this.tileDisplayMode === 'list-header'
45
- ? this.headerTemplate
45
+ ${this.tileDisplayMode === 'list-header'
46
+ ? this.headerTemplate
46
47
  : this.tileTemplate}
47
48
  ${this.manageCheckTemplate} ${hoverPaneTemplate}
48
49
  </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;
50
+ `;
51
+ }
52
+ firstUpdated() {
53
+ if (this.shouldPrepareHoverPane) {
54
+ this.hoverPaneController = new HoverPaneController(this, {
55
+ mobileBreakpoint: this.mobileBreakpoint,
56
+ enableLongPress: false,
57
+ });
58
+ }
59
+ }
60
+ get headerTemplate() {
61
+ const { currentWidth, sortParam, defaultSortParam, mobileBreakpoint } = this;
61
62
  return html `
62
63
  <tile-list-compact-header
63
64
  class="header"
64
65
  .currentWidth=${currentWidth}
65
- .sortParam=${sortParam || defaultSortParam}
66
+ .sortParam=${sortParam !== null && sortParam !== void 0 ? sortParam : defaultSortParam}
66
67
  .mobileBreakpoint=${mobileBreakpoint}
67
68
  >
68
69
  </tile-list-compact-header>
69
- `;
70
- }
71
- get tileTemplate() {
70
+ `;
71
+ }
72
+ get tileTemplate() {
72
73
  return html `
73
- ${this.tileDisplayMode === 'list-detail'
74
- ? this.tile
74
+ ${this.tileDisplayMode === 'list-detail'
75
+ ? this.tile
75
76
  : this.linkTileTemplate}
76
- `;
77
- }
78
- get linkTileTemplate() {
79
- var _a, _b, _c;
77
+ `;
78
+ }
79
+ get linkTileTemplate() {
80
+ var _a, _b, _c;
80
81
  return html `
81
82
  <a
82
83
  href=${this.linkTileHref}
83
84
  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
85
+ title=${this.shouldPrepareHoverPane
86
+ ? nothing // Don't show title tooltips when we have the tile info popups
86
87
  : ifDefined((_c = this.model) === null || _c === void 0 ? void 0 : _c.title)}
87
88
  @click=${this.handleLinkClicked}
88
89
  @contextmenu=${this.handleLinkContextMenu}
89
90
  >
90
91
  ${this.tile}
91
92
  </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;
93
+ `;
94
+ }
95
+ get linkTileHref() {
96
+ var _a;
97
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
98
+ return nothing;
99
+ // Use the server-specified href if available.
100
+ // Otherwise, construct a details page URL from the item identifier.
101
+ if (this.model.href) {
102
+ return `${this.baseNavigationUrl}${this.model.href}`;
103
+ }
104
+ return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
105
+ }
106
+ get manageCheckTemplate() {
107
+ var _a;
108
+ if (!this.isManageView || this.tileDisplayMode !== 'grid')
109
+ return nothing;
109
110
  return html `
110
111
  <div class="manage-check">
111
112
  <input
@@ -115,97 +116,97 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
115
116
  @change=${this.handleLinkClicked}
116
117
  />
117
118
  </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':
119
+ `;
120
+ }
121
+ /**
122
+ * Whether hover pane behavior should be prepared for this tile
123
+ * (e.g., whether mouse listeners should be attached, etc.)
124
+ */
125
+ get shouldPrepareHoverPane() {
126
+ var _a, _b;
127
+ return (this.enableHoverPane &&
128
+ !!this.tileDisplayMode &&
129
+ TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode] &&
130
+ ((_a = this.model) === null || _a === void 0 ? void 0 : _a.mediatype) !== 'search' && // don't show hover panes on search tiles
131
+ !((_b = this.model) === null || _b === void 0 ? void 0 : _b.captureDates) // don't show hover panes on web archive tiles
132
+ );
133
+ }
134
+ get isHoverEnabled() {
135
+ return window.matchMedia('(hover: hover)').matches;
136
+ }
137
+ /** @inheritdoc */
138
+ getHoverPane() {
139
+ return this.hoverPane;
140
+ }
141
+ /** @inheritdoc */
142
+ getHoverPaneProps() {
143
+ return this;
144
+ }
145
+ handleResize(entry) {
146
+ this.currentWidth = entry.contentRect.width;
147
+ this.currentHeight = entry.contentRect.height;
148
+ }
149
+ disconnectedCallback() {
150
+ this.stopResizeObservation(this.resizeObserver);
151
+ }
152
+ stopResizeObservation(observer) {
153
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
154
+ handler: this,
155
+ target: this.container,
156
+ });
157
+ }
158
+ startResizeObservation() {
159
+ var _a;
160
+ this.stopResizeObservation(this.resizeObserver);
161
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
162
+ handler: this,
163
+ target: this.container,
164
+ });
165
+ }
166
+ updated(props) {
167
+ if (props.has('resizeObserver')) {
168
+ const previousObserver = props.get('resizeObserver');
169
+ this.stopResizeObservation(previousObserver);
170
+ this.startResizeObservation();
171
+ }
172
+ }
173
+ /**
174
+ * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
175
+ * In manage view, it also checks/unchecks the tile.
176
+ */
177
+ handleLinkClicked(e) {
178
+ if (this.isManageView) {
179
+ e.preventDefault();
180
+ if (this.model)
181
+ this.model.checked = !this.model.checked;
182
+ }
183
+ this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
184
+ }
185
+ /**
186
+ * Handler for when the tile link is right-clicked.
187
+ * In manage view, it opens the item in a new tab. Otherwise, does nothing.
188
+ */
189
+ handleLinkContextMenu(e) {
190
+ if (this.isManageView && this.linkTileHref !== nothing) {
191
+ e.preventDefault();
192
+ window.open(this.linkTileHref, '_blank');
193
+ }
194
+ }
195
+ tileInfoButtonPressed(e) {
196
+ var _a;
197
+ (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
198
+ coords: e.detail,
199
+ enableTouchBackdrop: true,
200
+ });
201
+ }
202
+ get tile() {
203
+ const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, defaultSortParam, } = this;
204
+ if (!model)
205
+ return nothing;
206
+ switch (this.tileDisplayMode) {
207
+ case 'grid':
208
+ switch (model.mediatype) {
209
+ case 'collection':
209
210
  return html `<collection-tile
210
211
  .model=${model}
211
212
  .collectionPagePath=${collectionPagePath}
@@ -217,8 +218,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
217
218
  ?showInfoButton=${!this.isHoverEnabled}
218
219
  @infoButtonPressed=${this.tileInfoButtonPressed}
219
220
  >
220
- </collection-tile>`;
221
- case 'account':
221
+ </collection-tile>`;
222
+ case 'account':
222
223
  return html `<account-tile
223
224
  .model=${model}
224
225
  .collectionPagePath=${collectionPagePath}
@@ -230,8 +231,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
230
231
  ?showInfoButton=${!this.isHoverEnabled}
231
232
  @infoButtonPressed=${this.tileInfoButtonPressed}
232
233
  >
233
- </account-tile>`;
234
- case 'search':
234
+ </account-tile>`;
235
+ case 'search':
235
236
  return html `<search-tile
236
237
  .model=${model}
237
238
  .collectionPagePath=${collectionPagePath}
@@ -243,38 +244,40 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
243
244
  ?showInfoButton=${false}
244
245
  @infoButtonPressed=${this.tileInfoButtonPressed}
245
246
  >
246
- </search-tile>`;
247
- default:
247
+ </search-tile>`;
248
+ default:
248
249
  return html `<item-tile
249
250
  .model=${model}
250
251
  .collectionPagePath=${collectionPagePath}
251
252
  .currentWidth=${this.currentWidth}
252
253
  .currentHeight=${this.currentHeight}
253
254
  .baseImageUrl=${this.baseImageUrl}
254
- .sortParam=${sortParam || defaultSortParam}
255
+ .sortParam=${sortParam}
256
+ .defaultSortParam=${defaultSortParam}
255
257
  .creatorFilter=${creatorFilter}
256
258
  .loggedIn=${this.loggedIn}
257
259
  .isManageView=${this.isManageView}
258
260
  ?showInfoButton=${!this.isHoverEnabled}
259
261
  @infoButtonPressed=${this.tileInfoButtonPressed}
260
262
  >
261
- </item-tile>`;
262
- }
263
- case 'list-compact':
263
+ </item-tile>`;
264
+ }
265
+ case 'list-compact':
264
266
  return html `<tile-list-compact
265
267
  .model=${model}
266
268
  .collectionPagePath=${collectionPagePath}
267
269
  .currentWidth=${currentWidth}
268
270
  .currentHeight=${currentHeight}
269
271
  .baseNavigationUrl=${baseNavigationUrl}
270
- .sortParam=${sortParam || defaultSortParam}
272
+ .sortParam=${sortParam}
273
+ .defaultSortParam=${defaultSortParam}
271
274
  .creatorFilter=${creatorFilter}
272
275
  .mobileBreakpoint=${mobileBreakpoint}
273
276
  .baseImageUrl=${this.baseImageUrl}
274
277
  .loggedIn=${this.loggedIn}
275
278
  >
276
- </tile-list-compact>`;
277
- case 'list-detail':
279
+ </tile-list-compact>`;
280
+ case 'list-detail':
278
281
  return html `<tile-list
279
282
  .model=${model}
280
283
  .collectionPagePath=${collectionPagePath}
@@ -282,18 +285,19 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
282
285
  .currentWidth=${currentWidth}
283
286
  .currentHeight=${currentHeight}
284
287
  .baseNavigationUrl=${baseNavigationUrl}
285
- .sortParam=${sortParam || defaultSortParam}
288
+ .sortParam=${sortParam}
289
+ .defaultSortParam=${defaultSortParam}
286
290
  .creatorFilter=${creatorFilter}
287
291
  .mobileBreakpoint=${mobileBreakpoint}
288
292
  .baseImageUrl=${this.baseImageUrl}
289
293
  .loggedIn=${this.loggedIn}
290
294
  >
291
- </tile-list>`;
292
- default:
293
- return nothing;
294
- }
295
- }
296
- static get styles() {
295
+ </tile-list>`;
296
+ default:
297
+ return nothing;
298
+ }
299
+ }
300
+ static get styles() {
297
301
  return css `
298
302
  :host {
299
303
  display: block;
@@ -378,42 +382,42 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
378
382
  left: -9999px;
379
383
  z-index: 2;
380
384
  }
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 };
385
+ `;
386
+ }
387
+ };
388
+ /** Maps each display mode to whether hover panes should appear in that mode */
389
+ TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
390
+ grid: true,
391
+ 'list-compact': true,
392
+ 'list-detail': false,
393
+ 'list-header': false,
394
+ };
395
+ __decorate([
396
+ property({ type: String })
397
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
398
+ __decorate([
399
+ property({ type: Boolean })
400
+ ], TileDispatcher.prototype, "isManageView", void 0);
401
+ __decorate([
402
+ property({ type: Object })
403
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
404
+ __decorate([
405
+ property({ type: Object })
406
+ ], TileDispatcher.prototype, "collectionTitles", void 0);
407
+ __decorate([
408
+ property({ type: Boolean })
409
+ ], TileDispatcher.prototype, "enableHoverPane", void 0);
410
+ __decorate([
411
+ property({ type: String })
412
+ ], TileDispatcher.prototype, "manageCheckTitle", void 0);
413
+ __decorate([
414
+ query('#container')
415
+ ], TileDispatcher.prototype, "container", void 0);
416
+ __decorate([
417
+ query('tile-hover-pane')
418
+ ], TileDispatcher.prototype, "hoverPane", void 0);
419
+ TileDispatcher = TileDispatcher_1 = __decorate([
420
+ customElement('tile-dispatcher')
421
+ ], TileDispatcher);
422
+ export { TileDispatcher };
419
423
  //# sourceMappingURL=tile-dispatcher.js.map