@internetarchive/collection-browser 1.14.2 → 1.14.4

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 (289) 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/search.d.ts +1 -0
  50. package/dist/src/assets/img/icons/mediatype/search.js +14 -0
  51. package/dist/src/assets/img/icons/mediatype/search.js.map +1 -0
  52. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  60. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  61. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  62. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  63. package/dist/src/assets/img/icons/null-result.js +2 -2
  64. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  65. package/dist/src/assets/img/icons/restricted.js +2 -2
  66. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  67. package/dist/src/assets/img/icons/reviews.js +2 -2
  68. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  69. package/dist/src/assets/img/icons/upload.js +2 -2
  70. package/dist/src/assets/img/icons/views.d.ts +1 -1
  71. package/dist/src/assets/img/icons/views.js +2 -2
  72. package/dist/src/circular-activity-indicator.d.ts +5 -5
  73. package/dist/src/circular-activity-indicator.js +17 -17
  74. package/dist/src/collection-browser.d.ts +524 -523
  75. package/dist/src/collection-browser.js +1859 -1841
  76. package/dist/src/collection-browser.js.map +1 -1
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  80. package/dist/src/collection-facets/facets-template.js +152 -152
  81. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  82. package/dist/src/collection-facets/more-facets-content.js +359 -359
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +104 -104
  88. package/dist/src/collection-facets.js +506 -506
  89. package/dist/src/empty-placeholder.d.ts +23 -23
  90. package/dist/src/empty-placeholder.js +74 -74
  91. package/dist/src/expanded-date-picker.d.ts +43 -43
  92. package/dist/src/expanded-date-picker.js +109 -109
  93. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  94. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  95. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  96. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  97. package/dist/src/manage/manage-bar.d.ts +26 -26
  98. package/dist/src/manage/manage-bar.js +53 -53
  99. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  100. package/dist/src/mediatype/mediatype-config.js +91 -85
  101. package/dist/src/mediatype/mediatype-config.js.map +1 -1
  102. package/dist/src/models.d.ts +164 -164
  103. package/dist/src/models.js +269 -269
  104. package/dist/src/restoration-state-handler.d.ts +70 -70
  105. package/dist/src/restoration-state-handler.js +355 -355
  106. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  107. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  108. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  109. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  110. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  112. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/list.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  118. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  120. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  122. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  124. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  125. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  126. package/dist/src/styles/item-image-styles.d.ts +8 -8
  127. package/dist/src/styles/item-image-styles.js +13 -9
  128. package/dist/src/styles/item-image-styles.js.map +1 -1
  129. package/dist/src/styles/sr-only.d.ts +1 -1
  130. package/dist/src/styles/sr-only.js +2 -2
  131. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  132. package/dist/src/tiles/base-tile-component.js +59 -59
  133. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  134. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  135. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  136. package/dist/src/tiles/grid/account-tile.js +72 -72
  137. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  138. package/dist/src/tiles/grid/collection-tile.js +80 -80
  139. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  140. package/dist/src/tiles/grid/item-tile.js +134 -134
  141. package/dist/src/tiles/grid/search-tile.d.ts +10 -0
  142. package/dist/src/tiles/grid/search-tile.js +92 -0
  143. package/dist/src/tiles/grid/search-tile.js.map +1 -0
  144. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  145. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  146. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  147. package/dist/src/tiles/grid/tile-stats.js +48 -48
  148. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  149. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  150. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  151. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  152. package/dist/src/tiles/image-block.d.ts +17 -17
  153. package/dist/src/tiles/image-block.js +75 -73
  154. package/dist/src/tiles/image-block.js.map +1 -1
  155. package/dist/src/tiles/item-image.d.ts +36 -35
  156. package/dist/src/tiles/item-image.js +148 -125
  157. package/dist/src/tiles/item-image.js.map +1 -1
  158. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  159. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  160. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  161. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  162. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  163. package/dist/src/tiles/list/tile-list.js +302 -298
  164. package/dist/src/tiles/list/tile-list.js.map +1 -1
  165. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  166. package/dist/src/tiles/mediatype-icon.js +47 -47
  167. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  168. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  169. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  170. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  171. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  172. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  173. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  174. package/dist/src/tiles/text-snippet-block.js +73 -73
  175. package/dist/src/tiles/tile-dispatcher.d.ts +64 -63
  176. package/dist/src/tiles/tile-dispatcher.js +249 -225
  177. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  178. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  179. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  180. package/dist/src/utils/analytics-events.d.ts +25 -25
  181. package/dist/src/utils/analytics-events.js +27 -27
  182. package/dist/src/utils/array-equals.d.ts +4 -4
  183. package/dist/src/utils/array-equals.js +10 -10
  184. package/dist/src/utils/format-count.d.ts +7 -7
  185. package/dist/src/utils/format-count.js +76 -76
  186. package/dist/src/utils/format-date.d.ts +2 -2
  187. package/dist/src/utils/format-date.js +25 -25
  188. package/dist/src/utils/format-unit-size.d.ts +2 -2
  189. package/dist/src/utils/format-unit-size.js +33 -33
  190. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  191. package/dist/src/utils/local-date-from-utc.js +15 -15
  192. package/dist/src/utils/sha1.d.ts +2 -2
  193. package/dist/src/utils/sha1.js +8 -8
  194. package/dist/test/collection-browser.test.d.ts +1 -1
  195. package/dist/test/collection-browser.test.js +1098 -1098
  196. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  197. package/dist/test/collection-facets/facets-template.test.js +134 -134
  198. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  199. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  200. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  201. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  202. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  203. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  204. package/dist/test/collection-facets.test.d.ts +2 -2
  205. package/dist/test/collection-facets.test.js +682 -682
  206. package/dist/test/empty-placeholder.test.d.ts +1 -1
  207. package/dist/test/empty-placeholder.test.js +63 -63
  208. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  209. package/dist/test/expanded-date-picker.test.js +95 -95
  210. package/dist/test/icon-overlay.test.d.ts +1 -1
  211. package/dist/test/icon-overlay.test.js +24 -24
  212. package/dist/test/image-block.test.d.ts +1 -1
  213. package/dist/test/image-block.test.js +48 -48
  214. package/dist/test/item-image.test.d.ts +1 -1
  215. package/dist/test/item-image.test.js +86 -86
  216. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  217. package/dist/test/manage/manage-bar.test.js +72 -72
  218. package/dist/test/mediatype-config.test.d.ts +1 -1
  219. package/dist/test/mediatype-config.test.js +16 -16
  220. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  221. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  222. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  223. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  224. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  225. package/dist/test/mocks/mock-search-responses.js +709 -709
  226. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  227. package/dist/test/mocks/mock-search-service.js +50 -50
  228. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  229. package/dist/test/restoration-state-handler.test.js +270 -270
  230. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  231. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  232. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  233. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  234. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  235. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  236. package/dist/test/text-overlay.test.d.ts +1 -1
  237. package/dist/test/text-overlay.test.js +48 -48
  238. package/dist/test/text-snippet-block.test.d.ts +1 -1
  239. package/dist/test/text-snippet-block.test.js +57 -57
  240. package/dist/test/tile-stats.test.d.ts +1 -1
  241. package/dist/test/tile-stats.test.js +33 -33
  242. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  243. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  244. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  245. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  246. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  247. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  248. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -0
  249. package/dist/test/tiles/grid/search-tile.test.js +67 -0
  250. package/dist/test/tiles/grid/search-tile.test.js.map +1 -0
  251. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  252. package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -258
  253. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  254. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  255. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  256. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  257. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  258. package/dist/test/tiles/list/tile-list.test.js +242 -242
  259. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  260. package/dist/test/tiles/tile-dispatcher.test.js +94 -94
  261. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  262. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  263. package/dist/test/utils/array-equals.test.d.ts +1 -1
  264. package/dist/test/utils/array-equals.test.js +26 -26
  265. package/dist/test/utils/format-count.test.d.ts +1 -1
  266. package/dist/test/utils/format-count.test.js +23 -23
  267. package/dist/test/utils/format-date.test.d.ts +1 -1
  268. package/dist/test/utils/format-date.test.js +17 -17
  269. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  270. package/dist/test/utils/format-unit-size.test.js +17 -17
  271. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  272. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  273. package/local.archive.org.cert +86 -86
  274. package/local.archive.org.key +27 -27
  275. package/package.json +4 -4
  276. package/renovate.json +6 -6
  277. package/src/assets/img/icons/mediatype/search.ts +14 -0
  278. package/src/collection-browser.ts +20 -1
  279. package/src/mediatype/mediatype-config.ts +6 -0
  280. package/src/styles/item-image-styles.ts +4 -0
  281. package/src/tiles/grid/search-tile.ts +87 -0
  282. package/src/tiles/image-block.ts +3 -1
  283. package/src/tiles/item-image.ts +31 -8
  284. package/src/tiles/list/tile-list.ts +5 -0
  285. package/src/tiles/tile-dispatcher.ts +23 -1
  286. package/test/tiles/grid/search-tile.test.ts +76 -0
  287. package/tsconfig.json +21 -21
  288. package/web-dev-server.config.mjs +30 -30
  289. package/web-test-runner.config.mjs +41 -41
@@ -1,62 +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 './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 './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;
41
42
  return html `
42
43
  <div id="container" class=${isGridMode ? 'hoverable' : nothing}>
43
- ${this.tileDisplayMode === 'list-header'
44
- ? this.headerTemplate
44
+ ${this.tileDisplayMode === 'list-header'
45
+ ? this.headerTemplate
45
46
  : this.tileTemplate}
46
47
  ${this.manageCheckTemplate} ${hoverPaneTemplate}
47
48
  </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;
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, mobileBreakpoint } = this;
60
61
  return html `
61
62
  <tile-list-compact-header
62
63
  class="header"
@@ -65,145 +66,148 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
65
66
  .mobileBreakpoint=${mobileBreakpoint}
66
67
  >
67
68
  </tile-list-compact-header>
68
- `;
69
- }
70
- get tileTemplate() {
69
+ `;
70
+ }
71
+ get tileTemplate() {
71
72
  return html `
72
- ${this.tileDisplayMode === 'list-detail'
73
- ? this.tile
73
+ ${this.tileDisplayMode === 'list-detail'
74
+ ? this.tile
74
75
  : this.linkTileTemplate}
75
- `;
76
- }
77
- get linkTileTemplate() {
78
- var _a, _b, _c;
76
+ `;
77
+ }
78
+ get linkTileTemplate() {
79
+ var _a, _b, _c;
79
80
  return html `
80
81
  <a
81
82
  href=${this.linkTileHref}
82
83
  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
84
+ title=${this.shouldPrepareHoverPane
85
+ ? nothing // Don't show title tooltips when we have the tile info popups
85
86
  : ifDefined((_c = this.model) === null || _c === void 0 ? void 0 : _c.title)}
86
87
  @click=${this.handleLinkClicked}
87
88
  @contextmenu=${this.handleLinkContextMenu}
88
89
  >
89
90
  ${this.tile}
90
91
  </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;
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;
108
109
  return html `
109
110
  <div class="manage-check">
110
111
  <input
111
112
  type="checkbox"
112
113
  title=${this.manageCheckTitle}
113
114
  .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;
115
+ @change=${() => {
116
+ if (this.model)
117
+ this.model.checked = !this.model.checked;
117
118
  }}
118
119
  />
119
120
  </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':
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;
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
+ );
134
+ }
135
+ get isHoverEnabled() {
136
+ return window.matchMedia('(hover: hover)').matches;
137
+ }
138
+ /** @inheritdoc */
139
+ getHoverPane() {
140
+ return this.hoverPane;
141
+ }
142
+ /** @inheritdoc */
143
+ getHoverPaneProps() {
144
+ return this;
145
+ }
146
+ handleResize(entry) {
147
+ this.currentWidth = entry.contentRect.width;
148
+ this.currentHeight = entry.contentRect.height;
149
+ }
150
+ disconnectedCallback() {
151
+ this.stopResizeObservation(this.resizeObserver);
152
+ }
153
+ stopResizeObservation(observer) {
154
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
155
+ handler: this,
156
+ target: this.container,
157
+ });
158
+ }
159
+ startResizeObservation() {
160
+ var _a;
161
+ this.stopResizeObservation(this.resizeObserver);
162
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
163
+ handler: this,
164
+ target: this.container,
165
+ });
166
+ }
167
+ updated(props) {
168
+ if (props.has('resizeObserver')) {
169
+ const previousObserver = props.get('resizeObserver');
170
+ this.stopResizeObservation(previousObserver);
171
+ this.startResizeObservation();
172
+ }
173
+ }
174
+ /**
175
+ * Handler for when the tile link is left-clicked. Emits the `resultSelected` event.
176
+ * In manage view, it also checks/unchecks the tile.
177
+ */
178
+ handleLinkClicked(e) {
179
+ if (this.isManageView) {
180
+ e.preventDefault();
181
+ if (this.model)
182
+ this.model.checked = !this.model.checked;
183
+ }
184
+ this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }));
185
+ }
186
+ /**
187
+ * Handler for when the tile link is right-clicked.
188
+ * In manage view, it opens the item in a new tab. Otherwise, does nothing.
189
+ */
190
+ handleLinkContextMenu(e) {
191
+ if (this.isManageView && this.linkTileHref !== nothing) {
192
+ e.preventDefault();
193
+ window.open(this.linkTileHref, '_blank');
194
+ }
195
+ }
196
+ tileInfoButtonPressed(e) {
197
+ var _a;
198
+ (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.toggleHoverPane({
199
+ coords: e.detail,
200
+ enableTouchBackdrop: true,
201
+ });
202
+ }
203
+ get tile() {
204
+ const { model, collectionPagePath, baseNavigationUrl, currentWidth, currentHeight, sortParam, creatorFilter, mobileBreakpoint, } = this;
205
+ if (!model)
206
+ return nothing;
207
+ switch (this.tileDisplayMode) {
208
+ case 'grid':
209
+ switch (model.mediatype) {
210
+ case 'collection':
207
211
  return html `<collection-tile
208
212
  .model=${model}
209
213
  .collectionPagePath=${collectionPagePath}
@@ -215,8 +219,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
215
219
  ?showInfoButton=${!this.isHoverEnabled}
216
220
  @infoButtonPressed=${this.tileInfoButtonPressed}
217
221
  >
218
- </collection-tile>`;
219
- case 'account':
222
+ </collection-tile>`;
223
+ case 'account':
220
224
  return html `<account-tile
221
225
  .model=${model}
222
226
  .collectionPagePath=${collectionPagePath}
@@ -228,8 +232,21 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
228
232
  ?showInfoButton=${!this.isHoverEnabled}
229
233
  @infoButtonPressed=${this.tileInfoButtonPressed}
230
234
  >
231
- </account-tile>`;
232
- default:
235
+ </account-tile>`;
236
+ case 'search':
237
+ return html `<search-tile
238
+ .model=${model}
239
+ .collectionPagePath=${collectionPagePath}
240
+ .baseImageUrl=${this.baseImageUrl}
241
+ .currentWidth=${currentWidth}
242
+ .currentHeight=${currentHeight}
243
+ .creatorFilter=${creatorFilter}
244
+ .isManageView=${this.isManageView}
245
+ ?showInfoButton=${false}
246
+ @infoButtonPressed=${this.tileInfoButtonPressed}
247
+ >
248
+ </search-tile>`;
249
+ default:
233
250
  return html `<item-tile
234
251
  .model=${model}
235
252
  .collectionPagePath=${collectionPagePath}
@@ -244,9 +261,9 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
244
261
  ?showInfoButton=${!this.isHoverEnabled}
245
262
  @infoButtonPressed=${this.tileInfoButtonPressed}
246
263
  >
247
- </item-tile>`;
248
- }
249
- case 'list-compact':
264
+ </item-tile>`;
265
+ }
266
+ case 'list-compact':
250
267
  return html `<tile-list-compact
251
268
  .model=${model}
252
269
  .collectionPagePath=${collectionPagePath}
@@ -259,8 +276,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
259
276
  .baseImageUrl=${this.baseImageUrl}
260
277
  .loggedIn=${this.loggedIn}
261
278
  >
262
- </tile-list-compact>`;
263
- case 'list-detail':
279
+ </tile-list-compact>`;
280
+ case 'list-detail':
264
281
  return html `<tile-list
265
282
  .model=${model}
266
283
  .collectionPagePath=${collectionPagePath}
@@ -274,12 +291,12 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
274
291
  .baseImageUrl=${this.baseImageUrl}
275
292
  .loggedIn=${this.loggedIn}
276
293
  >
277
- </tile-list>`;
278
- default:
279
- return nothing;
280
- }
281
- }
282
- static get styles() {
294
+ </tile-list>`;
295
+ default:
296
+ return nothing;
297
+ }
298
+ }
299
+ static get styles() {
283
300
  return css `
284
301
  :host {
285
302
  display: block;
@@ -302,6 +319,13 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
302
319
  --imageBlockBackgroundColor: #f1f1f4;
303
320
  }
304
321
 
322
+ search-tile {
323
+ --tileBorderColor: #555555;
324
+ --tileBackgroundColor: #666666;
325
+ --imageBlockBackgroundColor: #666666;
326
+ --iconFillColor: #2c2c2c;
327
+ }
328
+
305
329
  #container {
306
330
  position: relative;
307
331
  height: 100%;
@@ -357,42 +381,42 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends BaseTileCom
357
381
  left: -9999px;
358
382
  z-index: 2;
359
383
  }
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 };
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, "collectionNameCache", 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 };
398
422
  //# sourceMappingURL=tile-dispatcher.js.map