@internetarchive/collection-browser 1.14.1 → 1.14.2

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 (265) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +64 -64
  12. package/dist/src/app-root.js +311 -311
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.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 +523 -522
  72. package/dist/src/collection-browser.js +1841 -1834
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  75. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  76. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  77. package/dist/src/collection-facets/facets-template.js +152 -152
  78. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  79. package/dist/src/collection-facets/more-facets-content.js +359 -359
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  82. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  83. package/dist/src/collection-facets/toggle-switch.js +94 -94
  84. package/dist/src/collection-facets.d.ts +104 -104
  85. package/dist/src/collection-facets.js +506 -506
  86. package/dist/src/empty-placeholder.d.ts +23 -23
  87. package/dist/src/empty-placeholder.js +74 -74
  88. package/dist/src/expanded-date-picker.d.ts +43 -43
  89. package/dist/src/expanded-date-picker.js +109 -109
  90. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  91. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  92. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  93. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  94. package/dist/src/manage/manage-bar.d.ts +26 -26
  95. package/dist/src/manage/manage-bar.js +53 -53
  96. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  97. package/dist/src/mediatype/mediatype-config.js +85 -85
  98. package/dist/src/models.d.ts +164 -164
  99. package/dist/src/models.js +269 -269
  100. package/dist/src/restoration-state-handler.d.ts +70 -70
  101. package/dist/src/restoration-state-handler.js +355 -355
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  103. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  104. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  105. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  106. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  108. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/list.js +2 -2
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  112. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  118. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  120. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  121. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  122. package/dist/src/styles/item-image-styles.d.ts +8 -8
  123. package/dist/src/styles/item-image-styles.js +9 -9
  124. package/dist/src/styles/sr-only.d.ts +1 -1
  125. package/dist/src/styles/sr-only.js +2 -2
  126. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  127. package/dist/src/tiles/base-tile-component.js +59 -59
  128. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  129. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  130. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  131. package/dist/src/tiles/grid/account-tile.js +72 -72
  132. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  133. package/dist/src/tiles/grid/collection-tile.js +80 -80
  134. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  135. package/dist/src/tiles/grid/item-tile.js +134 -134
  136. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  137. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  138. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  139. package/dist/src/tiles/grid/tile-stats.js +48 -48
  140. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  141. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  142. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  143. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  144. package/dist/src/tiles/image-block.d.ts +17 -17
  145. package/dist/src/tiles/image-block.js +72 -72
  146. package/dist/src/tiles/item-image.d.ts +35 -35
  147. package/dist/src/tiles/item-image.js +117 -117
  148. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  149. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  150. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  151. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  152. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  153. package/dist/src/tiles/list/tile-list.js +298 -298
  154. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  155. package/dist/src/tiles/mediatype-icon.js +47 -47
  156. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  157. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  158. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  159. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  160. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  161. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  162. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  163. package/dist/src/tiles/text-snippet-block.js +73 -73
  164. package/dist/src/tiles/tile-dispatcher.d.ts +63 -63
  165. package/dist/src/tiles/tile-dispatcher.js +225 -225
  166. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  167. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  168. package/dist/src/utils/analytics-events.d.ts +25 -25
  169. package/dist/src/utils/analytics-events.js +27 -27
  170. package/dist/src/utils/array-equals.d.ts +4 -4
  171. package/dist/src/utils/array-equals.js +10 -10
  172. package/dist/src/utils/format-count.d.ts +7 -7
  173. package/dist/src/utils/format-count.js +76 -76
  174. package/dist/src/utils/format-date.d.ts +2 -2
  175. package/dist/src/utils/format-date.js +25 -25
  176. package/dist/src/utils/format-unit-size.d.ts +2 -2
  177. package/dist/src/utils/format-unit-size.js +33 -33
  178. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  179. package/dist/src/utils/local-date-from-utc.js +15 -15
  180. package/dist/src/utils/sha1.d.ts +2 -2
  181. package/dist/src/utils/sha1.js +8 -8
  182. package/dist/test/collection-browser.test.d.ts +1 -1
  183. package/dist/test/collection-browser.test.js +1098 -1098
  184. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  185. package/dist/test/collection-facets/facets-template.test.js +134 -134
  186. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  187. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  188. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  189. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  190. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  191. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  192. package/dist/test/collection-facets.test.d.ts +2 -2
  193. package/dist/test/collection-facets.test.js +682 -682
  194. package/dist/test/empty-placeholder.test.d.ts +1 -1
  195. package/dist/test/empty-placeholder.test.js +63 -63
  196. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  197. package/dist/test/expanded-date-picker.test.js +95 -95
  198. package/dist/test/icon-overlay.test.d.ts +1 -1
  199. package/dist/test/icon-overlay.test.js +24 -24
  200. package/dist/test/image-block.test.d.ts +1 -1
  201. package/dist/test/image-block.test.js +48 -48
  202. package/dist/test/item-image.test.d.ts +1 -1
  203. package/dist/test/item-image.test.js +86 -86
  204. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  205. package/dist/test/manage/manage-bar.test.js +72 -72
  206. package/dist/test/mediatype-config.test.d.ts +1 -1
  207. package/dist/test/mediatype-config.test.js +16 -16
  208. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  209. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  210. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  211. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  212. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  213. package/dist/test/mocks/mock-search-responses.js +709 -709
  214. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  215. package/dist/test/mocks/mock-search-service.js +50 -50
  216. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  217. package/dist/test/restoration-state-handler.test.js +270 -270
  218. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  219. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  220. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  221. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  223. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  224. package/dist/test/text-overlay.test.d.ts +1 -1
  225. package/dist/test/text-overlay.test.js +48 -48
  226. package/dist/test/text-snippet-block.test.d.ts +1 -1
  227. package/dist/test/text-snippet-block.test.js +57 -57
  228. package/dist/test/tile-stats.test.d.ts +1 -1
  229. package/dist/test/tile-stats.test.js +33 -33
  230. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  231. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  232. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  233. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  234. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  235. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  236. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  237. package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -258
  238. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  239. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  240. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  241. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  242. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  243. package/dist/test/tiles/list/tile-list.test.js +242 -242
  244. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  245. package/dist/test/tiles/tile-dispatcher.test.js +94 -94
  246. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  247. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  248. package/dist/test/utils/array-equals.test.d.ts +1 -1
  249. package/dist/test/utils/array-equals.test.js +26 -26
  250. package/dist/test/utils/format-count.test.d.ts +1 -1
  251. package/dist/test/utils/format-count.test.js +23 -23
  252. package/dist/test/utils/format-date.test.d.ts +1 -1
  253. package/dist/test/utils/format-date.test.js +17 -17
  254. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  255. package/dist/test/utils/format-unit-size.test.js +17 -17
  256. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  257. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  258. package/local.archive.org.cert +86 -86
  259. package/local.archive.org.key +27 -27
  260. package/package.json +1 -1
  261. package/renovate.json +6 -6
  262. package/src/collection-browser.ts +9 -0
  263. package/tsconfig.json +21 -21
  264. package/web-dev-server.config.mjs +30 -30
  265. package/web-test-runner.config.mjs +41 -41
@@ -1,62 +1,62 @@
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 './hover/tile-hover-pane';
11
- import './list/tile-list';
12
- import './list/tile-list-compact';
13
- import './list/tile-list-compact-header';
14
- import { BaseTileComponent } from './base-tile-component';
15
- import { HoverPaneController, } from './hover/hover-pane-controller';
16
- let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileComponent {
17
- constructor() {
18
- /*
19
- * Reactive properties inherited from BaseTileComponent:
20
- * - model?: TileModel;
21
- * - currentWidth?: number;
22
- * - currentHeight?: number;
23
- * - baseNavigationUrl?: string;
24
- * - baseImageUrl?: string;
25
- * - collectionPagePath?: string;
26
- * - sortParam: SortParam | null = null;
27
- * - creatorFilter?: string;
28
- * - mobileBreakpoint?: number;
29
- * - loggedIn = false;
30
- */
31
- super(...arguments);
32
- this.isManageView = false;
33
- /** Whether this tile should include a hover pane at all (for applicable tile modes) */
34
- this.enableHoverPane = false;
35
- this.manageCheckTitle = msg('Remove this item from the list');
36
- }
37
- render() {
38
- var _a, _b;
39
- const isGridMode = this.tileDisplayMode === 'grid';
40
- 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 './hover/tile-hover-pane';
11
+ import './list/tile-list';
12
+ import './list/tile-list-compact';
13
+ import './list/tile-list-compact-header';
14
+ import { BaseTileComponent } from './base-tile-component';
15
+ import { HoverPaneController, } from './hover/hover-pane-controller';
16
+ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileComponent {
17
+ constructor() {
18
+ /*
19
+ * Reactive properties inherited from BaseTileComponent:
20
+ * - model?: TileModel;
21
+ * - currentWidth?: number;
22
+ * - currentHeight?: number;
23
+ * - baseNavigationUrl?: string;
24
+ * - baseImageUrl?: string;
25
+ * - collectionPagePath?: string;
26
+ * - sortParam: SortParam | null = null;
27
+ * - creatorFilter?: string;
28
+ * - mobileBreakpoint?: number;
29
+ * - loggedIn = false;
30
+ */
31
+ super(...arguments);
32
+ this.isManageView = false;
33
+ /** Whether this tile should include a hover pane at all (for applicable tile modes) */
34
+ this.enableHoverPane = false;
35
+ this.manageCheckTitle = msg('Remove this item from the list');
36
+ }
37
+ render() {
38
+ var _a, _b;
39
+ const isGridMode = this.tileDisplayMode === 'grid';
40
+ const hoverPaneTemplate = (_b = (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.getTemplate()) !== null && _b !== void 0 ? _b : nothing;
41
41
  return html `
42
42
  <div id="container" class=${isGridMode ? 'hoverable' : nothing}>
43
- ${this.tileDisplayMode === 'list-header'
44
- ? this.headerTemplate
43
+ ${this.tileDisplayMode === 'list-header'
44
+ ? this.headerTemplate
45
45
  : this.tileTemplate}
46
46
  ${this.manageCheckTemplate} ${hoverPaneTemplate}
47
47
  </div>
48
- `;
49
- }
50
- firstUpdated() {
51
- if (this.shouldPrepareHoverPane) {
52
- this.hoverPaneController = new HoverPaneController(this, {
53
- mobileBreakpoint: this.mobileBreakpoint,
54
- enableLongPress: false,
55
- });
56
- }
57
- }
58
- get headerTemplate() {
59
- const { currentWidth, sortParam, mobileBreakpoint } = this;
48
+ `;
49
+ }
50
+ firstUpdated() {
51
+ if (this.shouldPrepareHoverPane) {
52
+ this.hoverPaneController = new HoverPaneController(this, {
53
+ mobileBreakpoint: this.mobileBreakpoint,
54
+ enableLongPress: false,
55
+ });
56
+ }
57
+ }
58
+ get headerTemplate() {
59
+ const { currentWidth, sortParam, mobileBreakpoint } = this;
60
60
  return html `
61
61
  <tile-list-compact-header
62
62
  class="header"
@@ -65,145 +65,145 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
65
65
  .mobileBreakpoint=${mobileBreakpoint}
66
66
  >
67
67
  </tile-list-compact-header>
68
- `;
69
- }
70
- get tileTemplate() {
68
+ `;
69
+ }
70
+ get tileTemplate() {
71
71
  return html `
72
- ${this.tileDisplayMode === 'list-detail'
73
- ? this.tile
72
+ ${this.tileDisplayMode === 'list-detail'
73
+ ? this.tile
74
74
  : this.linkTileTemplate}
75
- `;
76
- }
77
- get linkTileTemplate() {
78
- var _a, _b, _c;
75
+ `;
76
+ }
77
+ get linkTileTemplate() {
78
+ var _a, _b, _c;
79
79
  return html `
80
80
  <a
81
81
  href=${this.linkTileHref}
82
82
  aria-label=${(_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : 'Untitled item'}
83
- title=${this.shouldPrepareHoverPane
84
- ? nothing // Don't show title tooltips when we have the tile info popups
83
+ title=${this.shouldPrepareHoverPane
84
+ ? nothing // Don't show title tooltips when we have the tile info popups
85
85
  : ifDefined((_c = this.model) === null || _c === void 0 ? void 0 : _c.title)}
86
86
  @click=${this.handleLinkClicked}
87
87
  @contextmenu=${this.handleLinkContextMenu}
88
88
  >
89
89
  ${this.tile}
90
90
  </a>
91
- `;
92
- }
93
- get linkTileHref() {
94
- var _a;
95
- if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
96
- return nothing;
97
- // Use the server-specified href if available.
98
- // Otherwise, construct a details page URL from the item identifier.
99
- if (this.model.href) {
100
- return `${this.baseNavigationUrl}${this.model.href}`;
101
- }
102
- return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
103
- }
104
- get manageCheckTemplate() {
105
- var _a;
106
- if (!this.isManageView || this.tileDisplayMode !== 'grid')
107
- return nothing;
91
+ `;
92
+ }
93
+ get linkTileHref() {
94
+ var _a;
95
+ if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier) || this.baseNavigationUrl == null)
96
+ return nothing;
97
+ // Use the server-specified href if available.
98
+ // Otherwise, construct a details page URL from the item identifier.
99
+ if (this.model.href) {
100
+ return `${this.baseNavigationUrl}${this.model.href}`;
101
+ }
102
+ return this.displayValueProvider.itemPageUrl(this.model.identifier, this.model.mediatype === 'collection');
103
+ }
104
+ get manageCheckTemplate() {
105
+ var _a;
106
+ if (!this.isManageView || this.tileDisplayMode !== 'grid')
107
+ return nothing;
108
108
  return html `
109
109
  <div class="manage-check">
110
110
  <input
111
111
  type="checkbox"
112
112
  title=${this.manageCheckTitle}
113
113
  .checked=${(_a = this.model) === null || _a === void 0 ? void 0 : _a.checked}
114
- @change=${() => {
115
- if (this.model)
116
- this.model.checked = !this.model.checked;
114
+ @change=${() => {
115
+ if (this.model)
116
+ this.model.checked = !this.model.checked;
117
117
  }}
118
118
  />
119
119
  </div>
120
- `;
121
- }
122
- /**
123
- * Whether hover pane behavior should be prepared for this tile
124
- * (e.g., whether mouse listeners should be attached, etc.)
125
- */
126
- get shouldPrepareHoverPane() {
127
- return (this.enableHoverPane &&
128
- !!this.tileDisplayMode &&
129
- TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode]);
130
- }
131
- get isHoverEnabled() {
132
- return window.matchMedia('(hover: hover)').matches;
133
- }
134
- /** @inheritdoc */
135
- getHoverPane() {
136
- return this.hoverPane;
137
- }
138
- /** @inheritdoc */
139
- getHoverPaneProps() {
140
- return this;
141
- }
142
- handleResize(entry) {
143
- this.currentWidth = entry.contentRect.width;
144
- this.currentHeight = entry.contentRect.height;
145
- }
146
- disconnectedCallback() {
147
- this.stopResizeObservation(this.resizeObserver);
148
- }
149
- stopResizeObservation(observer) {
150
- observer === null || observer === void 0 ? void 0 : observer.removeObserver({
151
- handler: this,
152
- target: this.container,
153
- });
154
- }
155
- startResizeObservation() {
156
- var _a;
157
- this.stopResizeObservation(this.resizeObserver);
158
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
159
- handler: this,
160
- target: this.container,
161
- });
162
- }
163
- updated(props) {
164
- if (props.has('resizeObserver')) {
165
- const previousObserver = props.get('resizeObserver');
166
- this.stopResizeObservation(previousObserver);
167
- this.startResizeObservation();
168
- }
169
- }
170
- /**
171
- * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
172
- * In manage view, it also checks/unchecks the tile.
173
- */
174
- handleLinkClicked(e) {
175
- if (this.isManageView) {
176
- e.preventDefault();
177
- if (this.model)
178
- this.model.checked = !this.model.checked;
179
- }
180
- this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
181
- }
182
- /**
183
- * Handler for when the tile link is right-clicked.
184
- * In manage view, it opens the item in a new tab. Otherwise, does nothing.
185
- */
186
- handleLinkContextMenu(e) {
187
- if (this.isManageView && this.linkTileHref !== nothing) {
188
- e.preventDefault();
189
- window.open(this.linkTileHref, '_blank');
190
- }
191
- }
192
- tileInfoButtonPressed(e) {
193
- var _a;
194
- (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
195
- coords: e.detail,
196
- enableTouchBackdrop: true,
197
- });
198
- }
199
- get tile() {
200
- const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, } = this;
201
- if (!model)
202
- return nothing;
203
- switch (this.tileDisplayMode) {
204
- case 'grid':
205
- switch (model.mediatype) {
206
- case 'collection':
120
+ `;
121
+ }
122
+ /**
123
+ * Whether hover pane behavior should be prepared for this tile
124
+ * (e.g., whether mouse listeners should be attached, etc.)
125
+ */
126
+ get shouldPrepareHoverPane() {
127
+ return (this.enableHoverPane &&
128
+ !!this.tileDisplayMode &&
129
+ TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode]);
130
+ }
131
+ get isHoverEnabled() {
132
+ return window.matchMedia('(hover: hover)').matches;
133
+ }
134
+ /** @inheritdoc */
135
+ getHoverPane() {
136
+ return this.hoverPane;
137
+ }
138
+ /** @inheritdoc */
139
+ getHoverPaneProps() {
140
+ return this;
141
+ }
142
+ handleResize(entry) {
143
+ this.currentWidth = entry.contentRect.width;
144
+ this.currentHeight = entry.contentRect.height;
145
+ }
146
+ disconnectedCallback() {
147
+ this.stopResizeObservation(this.resizeObserver);
148
+ }
149
+ stopResizeObservation(observer) {
150
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
151
+ handler: this,
152
+ target: this.container,
153
+ });
154
+ }
155
+ startResizeObservation() {
156
+ var _a;
157
+ this.stopResizeObservation(this.resizeObserver);
158
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
159
+ handler: this,
160
+ target: this.container,
161
+ });
162
+ }
163
+ updated(props) {
164
+ if (props.has('resizeObserver')) {
165
+ const previousObserver = props.get('resizeObserver');
166
+ this.stopResizeObservation(previousObserver);
167
+ this.startResizeObservation();
168
+ }
169
+ }
170
+ /**
171
+ * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
172
+ * In manage view, it also checks/unchecks the tile.
173
+ */
174
+ handleLinkClicked(e) {
175
+ if (this.isManageView) {
176
+ e.preventDefault();
177
+ if (this.model)
178
+ this.model.checked = !this.model.checked;
179
+ }
180
+ this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
181
+ }
182
+ /**
183
+ * Handler for when the tile link is right-clicked.
184
+ * In manage view, it opens the item in a new tab. Otherwise, does nothing.
185
+ */
186
+ handleLinkContextMenu(e) {
187
+ if (this.isManageView && this.linkTileHref !== nothing) {
188
+ e.preventDefault();
189
+ window.open(this.linkTileHref, '_blank');
190
+ }
191
+ }
192
+ tileInfoButtonPressed(e) {
193
+ var _a;
194
+ (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
195
+ coords: e.detail,
196
+ enableTouchBackdrop: true,
197
+ });
198
+ }
199
+ get tile() {
200
+ const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, } = this;
201
+ if (!model)
202
+ return nothing;
203
+ switch (this.tileDisplayMode) {
204
+ case 'grid':
205
+ switch (model.mediatype) {
206
+ case 'collection':
207
207
  return html `<collection-tile
208
208
  .model=${model}
209
209
  .collectionPagePath=${collectionPagePath}
@@ -215,8 +215,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
215
215
  ?showInfoButton=${!this.isHoverEnabled}
216
216
  @infoButtonPressed=${this.tileInfoButtonPressed}
217
217
  >
218
- </collection-tile>`;
219
- case 'account':
218
+ </collection-tile>`;
219
+ case 'account':
220
220
  return html `<account-tile
221
221
  .model=${model}
222
222
  .collectionPagePath=${collectionPagePath}
@@ -228,8 +228,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
228
228
  ?showInfoButton=${!this.isHoverEnabled}
229
229
  @infoButtonPressed=${this.tileInfoButtonPressed}
230
230
  >
231
- </account-tile>`;
232
- default:
231
+ </account-tile>`;
232
+ default:
233
233
  return html `<item-tile
234
234
  .model=${model}
235
235
  .collectionPagePath=${collectionPagePath}
@@ -244,9 +244,9 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
244
244
  ?showInfoButton=${!this.isHoverEnabled}
245
245
  @infoButtonPressed=${this.tileInfoButtonPressed}
246
246
  >
247
- </item-tile>`;
248
- }
249
- case 'list-compact':
247
+ </item-tile>`;
248
+ }
249
+ case 'list-compact':
250
250
  return html `<tile-list-compact
251
251
  .model=${model}
252
252
  .collectionPagePath=${collectionPagePath}
@@ -259,8 +259,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
259
259
  .baseImageUrl=${this.baseImageUrl}
260
260
  .loggedIn=${this.loggedIn}
261
261
  >
262
- </tile-list-compact>`;
263
- case 'list-detail':
262
+ </tile-list-compact>`;
263
+ case 'list-detail':
264
264
  return html `<tile-list
265
265
  .model=${model}
266
266
  .collectionPagePath=${collectionPagePath}
@@ -274,12 +274,12 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
274
274
  .baseImageUrl=${this.baseImageUrl}
275
275
  .loggedIn=${this.loggedIn}
276
276
  >
277
- </tile-list>`;
278
- default:
279
- return nothing;
280
- }
281
- }
282
- static get styles() {
277
+ </tile-list>`;
278
+ default:
279
+ return nothing;
280
+ }
281
+ }
282
+ static get styles() {
283
283
  return css `
284
284
  :host {
285
285
  display: block;
@@ -357,42 +357,42 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
357
357
  left: -9999px;
358
358
  z-index: 2;
359
359
  }
360
- `;
361
- }
362
- };
363
- /** Maps each display mode to whether hover panes should appear in that mode */
364
- TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
365
- grid: true,
366
- 'list-compact': true,
367
- 'list-detail': false,
368
- 'list-header': false,
369
- };
370
- __decorate([
371
- property({ type: String })
372
- ], TileDispatcher.prototype, "tileDisplayMode", void 0);
373
- __decorate([
374
- property({ type: Boolean })
375
- ], TileDispatcher.prototype, "isManageView", void 0);
376
- __decorate([
377
- property({ type: Object })
378
- ], TileDispatcher.prototype, "resizeObserver", void 0);
379
- __decorate([
380
- property({ type: Object })
381
- ], TileDispatcher.prototype, "collectionNameCache", void 0);
382
- __decorate([
383
- property({ type: Boolean })
384
- ], TileDispatcher.prototype, "enableHoverPane", void 0);
385
- __decorate([
386
- property({ type: String })
387
- ], TileDispatcher.prototype, "manageCheckTitle", void 0);
388
- __decorate([
389
- query('#container')
390
- ], TileDispatcher.prototype, "container", void 0);
391
- __decorate([
392
- query('tile-hover-pane')
393
- ], TileDispatcher.prototype, "hoverPane", void 0);
394
- TileDispatcher = TileDispatcher_1 = __decorate([
395
- customElement('tile-dispatcher')
396
- ], TileDispatcher);
397
- export { TileDispatcher };
360
+ `;
361
+ }
362
+ };
363
+ /** Maps each display mode to whether hover panes should appear in that mode */
364
+ TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
365
+ grid: true,
366
+ 'list-compact': true,
367
+ 'list-detail': false,
368
+ 'list-header': false,
369
+ };
370
+ __decorate([
371
+ property({ type: String })
372
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
373
+ __decorate([
374
+ property({ type: Boolean })
375
+ ], TileDispatcher.prototype, "isManageView", void 0);
376
+ __decorate([
377
+ property({ type: Object })
378
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
379
+ __decorate([
380
+ property({ type: Object })
381
+ ], TileDispatcher.prototype, "collectionNameCache", void 0);
382
+ __decorate([
383
+ property({ type: Boolean })
384
+ ], TileDispatcher.prototype, "enableHoverPane", void 0);
385
+ __decorate([
386
+ property({ type: String })
387
+ ], TileDispatcher.prototype, "manageCheckTitle", void 0);
388
+ __decorate([
389
+ query('#container')
390
+ ], TileDispatcher.prototype, "container", void 0);
391
+ __decorate([
392
+ query('tile-hover-pane')
393
+ ], TileDispatcher.prototype, "hoverPane", void 0);
394
+ TileDispatcher = TileDispatcher_1 = __decorate([
395
+ customElement('tile-dispatcher')
396
+ ], TileDispatcher);
397
+ export { TileDispatcher };
398
398
  //# sourceMappingURL=tile-dispatcher.js.map
@@ -1,43 +1,43 @@
1
- import { 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
- }
1
+ import { 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
+ }