@internetarchive/collection-browser 2.1.3-alpha.2 → 2.1.3

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