@internetarchive/collection-browser 0.4.7 → 0.4.8-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) 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 +50 -50
  12. package/dist/src/app-root.js +278 -278
  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/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.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/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +277 -277
  68. package/dist/src/collection-browser.js +1194 -1194
  69. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  70. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  74. package/dist/src/collection-facets/more-facets-content.js +357 -357
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +77 -77
  78. package/dist/src/collection-facets.js +383 -383
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +114 -114
  88. package/dist/src/models.js +125 -125
  89. package/dist/src/restoration-state-handler.d.ts +45 -45
  90. package/dist/src/restoration-state-handler.js +230 -230
  91. package/dist/src/sort-filter-bar/alpha-bar.d.ts +12 -12
  92. package/dist/src/sort-filter-bar/alpha-bar.js +52 -52
  93. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  94. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  95. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/list.js +2 -2
  97. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  99. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  101. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  103. package/dist/src/styles/item-image-styles.d.ts +8 -8
  104. package/dist/src/styles/item-image-styles.js +9 -9
  105. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  106. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  107. package/dist/src/tiles/grid/account-tile.d.ts +17 -17
  108. package/dist/src/tiles/grid/account-tile.js +46 -46
  109. package/dist/src/tiles/grid/collection-tile.d.ts +14 -14
  110. package/dist/src/tiles/grid/collection-tile.js +53 -53
  111. package/dist/src/tiles/grid/item-tile.d.ts +29 -29
  112. package/dist/src/tiles/grid/item-tile.js +108 -108
  113. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  114. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  115. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  116. package/dist/src/tiles/grid/tile-stats.js +40 -40
  117. package/dist/src/tiles/hover/hover-pane-controller.d.ts +197 -197
  118. package/dist/src/tiles/hover/hover-pane-controller.js +331 -331
  119. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  120. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  121. package/dist/src/tiles/image-block.d.ts +17 -17
  122. package/dist/src/tiles/image-block.js +72 -72
  123. package/dist/src/tiles/item-image.d.ts +35 -35
  124. package/dist/src/tiles/item-image.js +117 -117
  125. package/dist/src/tiles/list/account-label.d.ts +1 -1
  126. package/dist/src/tiles/list/account-label.js +6 -6
  127. package/dist/src/tiles/list/date-label.d.ts +1 -1
  128. package/dist/src/tiles/list/date-label.js +12 -12
  129. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  130. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  131. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  132. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  133. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  134. package/dist/src/tiles/list/tile-list.js +297 -296
  135. package/dist/src/tiles/list/tile-list.js.map +1 -1
  136. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  137. package/dist/src/tiles/mediatype-icon.js +47 -47
  138. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  139. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  140. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  141. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  142. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  143. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  144. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  145. package/dist/src/tiles/text-snippet-block.js +73 -73
  146. package/dist/src/tiles/tile-dispatcher.d.ts +55 -55
  147. package/dist/src/tiles/tile-dispatcher.js +176 -176
  148. package/dist/src/utils/analytics-events.d.ts +22 -22
  149. package/dist/src/utils/analytics-events.js +24 -24
  150. package/dist/src/utils/format-count.d.ts +7 -7
  151. package/dist/src/utils/format-count.js +76 -76
  152. package/dist/src/utils/format-date.d.ts +2 -2
  153. package/dist/src/utils/format-date.js +23 -23
  154. package/dist/src/utils/format-unit-size.d.ts +2 -2
  155. package/dist/src/utils/format-unit-size.js +33 -33
  156. package/dist/test/collection-browser.test.d.ts +1 -1
  157. package/dist/test/collection-browser.test.js +584 -584
  158. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  159. package/dist/test/collection-facets/facets-template.test.js +62 -62
  160. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  161. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  162. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  163. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  164. package/dist/test/collection-facets.test.d.ts +2 -2
  165. package/dist/test/collection-facets.test.js +508 -508
  166. package/dist/test/empty-placeholder.test.d.ts +1 -1
  167. package/dist/test/empty-placeholder.test.js +33 -33
  168. package/dist/test/icon-overlay.test.d.ts +1 -1
  169. package/dist/test/icon-overlay.test.js +24 -24
  170. package/dist/test/image-block.test.d.ts +1 -1
  171. package/dist/test/image-block.test.js +48 -48
  172. package/dist/test/item-image.test.d.ts +1 -1
  173. package/dist/test/item-image.test.js +84 -84
  174. package/dist/test/mediatype-config.test.d.ts +1 -1
  175. package/dist/test/mediatype-config.test.js +16 -16
  176. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  177. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  178. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  179. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  180. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  181. package/dist/test/mocks/mock-search-responses.js +341 -341
  182. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  183. package/dist/test/mocks/mock-search-service.js +40 -40
  184. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  185. package/dist/test/restoration-state-handler.test.js +125 -125
  186. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  187. package/dist/test/sort-filter-bar/alpha-bar.test.js +43 -43
  188. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  189. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  190. package/dist/test/text-overlay.test.d.ts +1 -1
  191. package/dist/test/text-overlay.test.js +48 -48
  192. package/dist/test/text-snippet-block.test.d.ts +1 -1
  193. package/dist/test/text-snippet-block.test.js +57 -57
  194. package/dist/test/tile-stats.test.d.ts +1 -1
  195. package/dist/test/tile-stats.test.js +33 -33
  196. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  197. package/dist/test/tiles/grid/account-tile.test.js +60 -60
  198. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  199. package/dist/test/tiles/grid/collection-tile.test.js +57 -57
  200. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  201. package/dist/test/tiles/grid/item-tile.test.js +142 -142
  202. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  203. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  204. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  205. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  206. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  207. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  208. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  209. package/dist/test/tiles/list/tile-list.test.js +153 -153
  210. package/dist/test/utils/format-count.test.d.ts +1 -1
  211. package/dist/test/utils/format-count.test.js +23 -23
  212. package/dist/test/utils/format-date.test.d.ts +1 -1
  213. package/dist/test/utils/format-date.test.js +17 -17
  214. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  215. package/dist/test/utils/format-unit-size.test.js +17 -17
  216. package/local.archive.org.cert +86 -86
  217. package/local.archive.org.key +27 -27
  218. package/package.json +1 -1
  219. package/renovate.json +6 -6
  220. package/src/tiles/list/tile-list.ts +3 -1
  221. package/tsconfig.json +21 -21
  222. package/web-dev-server.config.mjs +30 -30
  223. package/web-test-runner.config.mjs +41 -41
@@ -1,47 +1,47 @@
1
- var TileDispatcher_1;
2
- import { __decorate } from "tslib";
3
- import { css, html, LitElement, nothing } from 'lit';
4
- import { customElement, property, query } from 'lit/decorators.js';
5
- import { ifDefined } from 'lit/directives/if-defined.js';
6
- import './grid/collection-tile';
7
- import './grid/item-tile';
8
- import './grid/account-tile';
9
- import './hover/tile-hover-pane';
10
- import './list/tile-list';
11
- import './list/tile-list-compact';
12
- import './list/tile-list-compact-header';
13
- import { HoverPaneController, } from './hover/hover-pane-controller';
14
- let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement {
15
- constructor() {
16
- super(...arguments);
17
- this.sortParam = null;
18
- this.loggedIn = false;
19
- /** Whether this tile should include a hover pane at all (for applicable tile modes) */
20
- this.enableHoverPane = false;
21
- }
22
- render() {
23
- var _a, _b;
24
- const isGridMode = this.tileDisplayMode === 'grid';
25
- 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, LitElement, nothing } from 'lit';
4
+ import { customElement, property, query } from 'lit/decorators.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import './grid/collection-tile';
7
+ import './grid/item-tile';
8
+ import './grid/account-tile';
9
+ import './hover/tile-hover-pane';
10
+ import './list/tile-list';
11
+ import './list/tile-list-compact';
12
+ import './list/tile-list-compact-header';
13
+ import { HoverPaneController, } from './hover/hover-pane-controller';
14
+ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.sortParam = null;
18
+ this.loggedIn = false;
19
+ /** Whether this tile should include a hover pane at all (for applicable tile modes) */
20
+ this.enableHoverPane = false;
21
+ }
22
+ render() {
23
+ var _a, _b;
24
+ const isGridMode = this.tileDisplayMode === 'grid';
25
+ const hoverPaneTemplate = (_b = (_a = this.hoverPaneController) === null || _a === void 0 ? void 0 : _a.getTemplate()) !== null && _b !== void 0 ? _b : nothing;
26
26
  return html `
27
27
  <div id="container" class=${isGridMode ? 'hoverable' : nothing}>
28
- ${this.tileDisplayMode === 'list-header'
29
- ? this.headerTemplate
28
+ ${this.tileDisplayMode === 'list-header'
29
+ ? this.headerTemplate
30
30
  : this.tileTemplate}
31
31
  ${hoverPaneTemplate}
32
32
  </div>
33
- `;
34
- }
35
- firstUpdated() {
36
- if (this.shouldPrepareHoverPane) {
37
- this.hoverPaneController = new HoverPaneController(this, {
38
- mobileBreakpoint: this.mobileBreakpoint,
39
- enableLongPress: false,
40
- });
41
- }
42
- }
43
- get headerTemplate() {
44
- const { currentWidth, sortParam, mobileBreakpoint } = this;
33
+ `;
34
+ }
35
+ firstUpdated() {
36
+ if (this.shouldPrepareHoverPane) {
37
+ this.hoverPaneController = new HoverPaneController(this, {
38
+ mobileBreakpoint: this.mobileBreakpoint,
39
+ enableLongPress: false,
40
+ });
41
+ }
42
+ }
43
+ get headerTemplate() {
44
+ const { currentWidth, sortParam, mobileBreakpoint } = this;
45
45
  return html `
46
46
  <tile-list-compact-header
47
47
  class="header"
@@ -50,98 +50,98 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement
50
50
  .mobileBreakpoint=${mobileBreakpoint}
51
51
  >
52
52
  </tile-list-compact-header>
53
- `;
54
- }
55
- get tileTemplate() {
53
+ `;
54
+ }
55
+ get tileTemplate() {
56
56
  return html `
57
- ${this.tileDisplayMode === 'list-detail'
58
- ? this.tile
57
+ ${this.tileDisplayMode === 'list-detail'
58
+ ? this.tile
59
59
  : this.linkTileTemplate}
60
- `;
61
- }
62
- get linkTileTemplate() {
63
- var _a, _b;
60
+ `;
61
+ }
62
+ get linkTileTemplate() {
63
+ var _a, _b;
64
64
  return html `
65
65
  <a
66
66
  href="${this.baseNavigationUrl}/details/${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}"
67
- title=${this.shouldPrepareHoverPane
68
- ? nothing // Don't show title tooltips when we have the tile info popups
67
+ title=${this.shouldPrepareHoverPane
68
+ ? nothing // Don't show title tooltips when we have the tile info popups
69
69
  : ifDefined((_b = this.model) === null || _b === void 0 ? void 0 : _b.title)}
70
70
  @click=${() => this.dispatchEvent(new CustomEvent('resultSelected', { detail: this.model }))}
71
71
  >
72
72
  ${this.tile}
73
73
  </a>
74
- `;
75
- }
76
- /**
77
- * Whether hover pane behavior should be prepared for this tile
78
- * (e.g., whether mouse listeners should be attached, etc.)
79
- */
80
- get shouldPrepareHoverPane() {
81
- return (this.enableHoverPane &&
82
- !!this.tileDisplayMode &&
83
- TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode]);
84
- }
85
- /** @inheritdoc */
86
- getHoverPane() {
87
- return this.hoverPane;
88
- }
89
- /** @inheritdoc */
90
- getHoverPaneProps() {
91
- return this;
92
- }
93
- handleResize(entry) {
94
- this.currentWidth = entry.contentRect.width;
95
- this.currentHeight = entry.contentRect.height;
96
- }
97
- disconnectedCallback() {
98
- this.stopResizeObservation(this.resizeObserver);
99
- }
100
- stopResizeObservation(observer) {
101
- observer === null || observer === void 0 ? void 0 : observer.removeObserver({
102
- handler: this,
103
- target: this.container,
104
- });
105
- }
106
- startResizeObservation() {
107
- var _a;
108
- this.stopResizeObservation(this.resizeObserver);
109
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
110
- handler: this,
111
- target: this.container,
112
- });
113
- }
114
- updated(props) {
115
- if (props.has('resizeObserver')) {
116
- const previousObserver = props.get('resizeObserver');
117
- this.stopResizeObservation(previousObserver);
118
- this.startResizeObservation();
119
- }
120
- }
121
- get tile() {
122
- const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
123
- if (!model)
124
- return nothing;
125
- switch (this.tileDisplayMode) {
126
- case 'grid':
127
- switch (model.mediatype) {
128
- case 'collection':
74
+ `;
75
+ }
76
+ /**
77
+ * Whether hover pane behavior should be prepared for this tile
78
+ * (e.g., whether mouse listeners should be attached, etc.)
79
+ */
80
+ get shouldPrepareHoverPane() {
81
+ return (this.enableHoverPane &&
82
+ !!this.tileDisplayMode &&
83
+ TileDispatcher_1.HOVER_PANE_DISPLAY_MODES[this.tileDisplayMode]);
84
+ }
85
+ /** @inheritdoc */
86
+ getHoverPane() {
87
+ return this.hoverPane;
88
+ }
89
+ /** @inheritdoc */
90
+ getHoverPaneProps() {
91
+ return this;
92
+ }
93
+ handleResize(entry) {
94
+ this.currentWidth = entry.contentRect.width;
95
+ this.currentHeight = entry.contentRect.height;
96
+ }
97
+ disconnectedCallback() {
98
+ this.stopResizeObservation(this.resizeObserver);
99
+ }
100
+ stopResizeObservation(observer) {
101
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
102
+ handler: this,
103
+ target: this.container,
104
+ });
105
+ }
106
+ startResizeObservation() {
107
+ var _a;
108
+ this.stopResizeObservation(this.resizeObserver);
109
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
110
+ handler: this,
111
+ target: this.container,
112
+ });
113
+ }
114
+ updated(props) {
115
+ if (props.has('resizeObserver')) {
116
+ const previousObserver = props.get('resizeObserver');
117
+ this.stopResizeObservation(previousObserver);
118
+ this.startResizeObservation();
119
+ }
120
+ }
121
+ get tile() {
122
+ const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
123
+ if (!model)
124
+ return nothing;
125
+ switch (this.tileDisplayMode) {
126
+ case 'grid':
127
+ switch (model.mediatype) {
128
+ case 'collection':
129
129
  return html `<collection-tile
130
130
  .model=${model}
131
131
  .baseImageUrl=${this.baseImageUrl}
132
132
  .currentWidth=${currentWidth}
133
133
  .currentHeight=${currentHeight}
134
134
  >
135
- </collection-tile>`;
136
- case 'account':
135
+ </collection-tile>`;
136
+ case 'account':
137
137
  return html `<account-tile
138
138
  .model=${model}
139
139
  .baseImageUrl=${this.baseImageUrl}
140
140
  .currentWidth=${currentWidth}
141
141
  .currentHeight=${currentHeight}
142
142
  >
143
- </account-tile>`;
144
- default:
143
+ </account-tile>`;
144
+ default:
145
145
  return html `<item-tile
146
146
  .model=${model}
147
147
  .currentWidth=${this.currentWidth}
@@ -151,9 +151,9 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement
151
151
  .sortParam=${sortParam}
152
152
  .loggedIn=${this.loggedIn}
153
153
  >
154
- </item-tile>`;
155
- }
156
- case 'list-compact':
154
+ </item-tile>`;
155
+ }
156
+ case 'list-compact':
157
157
  return html `<tile-list-compact
158
158
  .model=${model}
159
159
  .currentWidth=${currentWidth}
@@ -164,8 +164,8 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement
164
164
  .baseImageUrl=${this.baseImageUrl}
165
165
  .loggedIn=${this.loggedIn}
166
166
  >
167
- </tile-list-compact>`;
168
- case 'list-detail':
167
+ </tile-list-compact>`;
168
+ case 'list-detail':
169
169
  return html `<tile-list
170
170
  .model=${model}
171
171
  .collectionNameCache=${this.collectionNameCache}
@@ -177,12 +177,12 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement
177
177
  .baseImageUrl=${this.baseImageUrl}
178
178
  .loggedIn=${this.loggedIn}
179
179
  >
180
- </tile-list>`;
181
- default:
182
- return nothing;
183
- }
184
- }
185
- static get styles() {
180
+ </tile-list>`;
181
+ default:
182
+ return nothing;
183
+ }
184
+ }
185
+ static get styles() {
186
186
  return css `
187
187
  :host {
188
188
  display: block;
@@ -245,60 +245,60 @@ let TileDispatcher = TileDispatcher_1 = class TileDispatcher extends LitElement
245
245
  left: -9999px;
246
246
  z-index: 2;
247
247
  }
248
- `;
249
- }
250
- };
251
- /** Maps each display mode to whether hover panes should appear in that mode */
252
- TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
253
- grid: true,
254
- 'list-compact': true,
255
- 'list-detail': false,
256
- 'list-header': false,
257
- };
258
- __decorate([
259
- property({ type: String })
260
- ], TileDispatcher.prototype, "tileDisplayMode", void 0);
261
- __decorate([
262
- property({ type: Object })
263
- ], TileDispatcher.prototype, "model", void 0);
264
- __decorate([
265
- property({ type: String })
266
- ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
267
- __decorate([
268
- property({ type: Number })
269
- ], TileDispatcher.prototype, "currentWidth", void 0);
270
- __decorate([
271
- property({ type: Number })
272
- ], TileDispatcher.prototype, "currentHeight", void 0);
273
- __decorate([
274
- property({ type: Object })
275
- ], TileDispatcher.prototype, "resizeObserver", void 0);
276
- __decorate([
277
- property({ type: Object })
278
- ], TileDispatcher.prototype, "collectionNameCache", void 0);
279
- __decorate([
280
- property({ type: Object })
281
- ], TileDispatcher.prototype, "sortParam", void 0);
282
- __decorate([
283
- property({ type: Number })
284
- ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
285
- __decorate([
286
- property({ type: String })
287
- ], TileDispatcher.prototype, "baseImageUrl", void 0);
288
- __decorate([
289
- property({ type: Boolean })
290
- ], TileDispatcher.prototype, "loggedIn", void 0);
291
- __decorate([
292
- property({ type: Boolean })
293
- ], TileDispatcher.prototype, "enableHoverPane", void 0);
294
- __decorate([
295
- query('#container')
296
- ], TileDispatcher.prototype, "container", void 0);
297
- __decorate([
298
- query('tile-hover-pane')
299
- ], TileDispatcher.prototype, "hoverPane", void 0);
300
- TileDispatcher = TileDispatcher_1 = __decorate([
301
- customElement('tile-dispatcher')
302
- ], TileDispatcher);
303
- export { TileDispatcher };
248
+ `;
249
+ }
250
+ };
251
+ /** Maps each display mode to whether hover panes should appear in that mode */
252
+ TileDispatcher.HOVER_PANE_DISPLAY_MODES = {
253
+ grid: true,
254
+ 'list-compact': true,
255
+ 'list-detail': false,
256
+ 'list-header': false,
257
+ };
258
+ __decorate([
259
+ property({ type: String })
260
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
261
+ __decorate([
262
+ property({ type: Object })
263
+ ], TileDispatcher.prototype, "model", void 0);
264
+ __decorate([
265
+ property({ type: String })
266
+ ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
267
+ __decorate([
268
+ property({ type: Number })
269
+ ], TileDispatcher.prototype, "currentWidth", void 0);
270
+ __decorate([
271
+ property({ type: Number })
272
+ ], TileDispatcher.prototype, "currentHeight", void 0);
273
+ __decorate([
274
+ property({ type: Object })
275
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
276
+ __decorate([
277
+ property({ type: Object })
278
+ ], TileDispatcher.prototype, "collectionNameCache", void 0);
279
+ __decorate([
280
+ property({ type: Object })
281
+ ], TileDispatcher.prototype, "sortParam", void 0);
282
+ __decorate([
283
+ property({ type: Number })
284
+ ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
285
+ __decorate([
286
+ property({ type: String })
287
+ ], TileDispatcher.prototype, "baseImageUrl", void 0);
288
+ __decorate([
289
+ property({ type: Boolean })
290
+ ], TileDispatcher.prototype, "loggedIn", void 0);
291
+ __decorate([
292
+ property({ type: Boolean })
293
+ ], TileDispatcher.prototype, "enableHoverPane", void 0);
294
+ __decorate([
295
+ query('#container')
296
+ ], TileDispatcher.prototype, "container", void 0);
297
+ __decorate([
298
+ query('tile-hover-pane')
299
+ ], TileDispatcher.prototype, "hoverPane", void 0);
300
+ TileDispatcher = TileDispatcher_1 = __decorate([
301
+ customElement('tile-dispatcher')
302
+ ], TileDispatcher);
303
+ export { TileDispatcher };
304
304
  //# sourceMappingURL=tile-dispatcher.js.map
@@ -1,22 +1,22 @@
1
- /**
2
- * Analytics categories and events. Used when building actions in
3
- */
4
- export declare enum analyticsCategories {
5
- default = "collection-browser"
6
- }
7
- export declare enum analyticsActions {
8
- sortBy = "sortBy",
9
- filterByCreator = "filterByCreator",
10
- filterByTitle = "filterByTitle",
11
- displayMode = "displayMode",
12
- facetSelected = "facetSelected",
13
- facetDeselected = "facetDeselected",
14
- facetNegativeSelected = "facetNegativeSelected",
15
- facetNegativeDeselected = "facetNegativeDeselected",
16
- histogramChanged = "histogramChanged",
17
- resultSelected = "resultSelected",
18
- moreFacetsPageChange = "moreFacetsPageChange",
19
- showMoreFacetsModal = "showMoreFacetsModal",
20
- closeMoreFacetsModal = "closeMoreFacetsModal",
21
- applyMoreFacetsModal = "applyMoreFacetsModal"
22
- }
1
+ /**
2
+ * Analytics categories and events. Used when building actions in
3
+ */
4
+ export declare enum analyticsCategories {
5
+ default = "collection-browser"
6
+ }
7
+ export declare enum analyticsActions {
8
+ sortBy = "sortBy",
9
+ filterByCreator = "filterByCreator",
10
+ filterByTitle = "filterByTitle",
11
+ displayMode = "displayMode",
12
+ facetSelected = "facetSelected",
13
+ facetDeselected = "facetDeselected",
14
+ facetNegativeSelected = "facetNegativeSelected",
15
+ facetNegativeDeselected = "facetNegativeDeselected",
16
+ histogramChanged = "histogramChanged",
17
+ resultSelected = "resultSelected",
18
+ moreFacetsPageChange = "moreFacetsPageChange",
19
+ showMoreFacetsModal = "showMoreFacetsModal",
20
+ closeMoreFacetsModal = "closeMoreFacetsModal",
21
+ applyMoreFacetsModal = "applyMoreFacetsModal"
22
+ }
@@ -1,25 +1,25 @@
1
- /**
2
- * Analytics categories and events. Used when building actions in
3
- */
4
- export var analyticsCategories;
5
- (function (analyticsCategories) {
6
- analyticsCategories["default"] = "collection-browser";
7
- })(analyticsCategories || (analyticsCategories = {}));
8
- export var analyticsActions;
9
- (function (analyticsActions) {
10
- analyticsActions["sortBy"] = "sortBy";
11
- analyticsActions["filterByCreator"] = "filterByCreator";
12
- analyticsActions["filterByTitle"] = "filterByTitle";
13
- analyticsActions["displayMode"] = "displayMode";
14
- analyticsActions["facetSelected"] = "facetSelected";
15
- analyticsActions["facetDeselected"] = "facetDeselected";
16
- analyticsActions["facetNegativeSelected"] = "facetNegativeSelected";
17
- analyticsActions["facetNegativeDeselected"] = "facetNegativeDeselected";
18
- analyticsActions["histogramChanged"] = "histogramChanged";
19
- analyticsActions["resultSelected"] = "resultSelected";
20
- analyticsActions["moreFacetsPageChange"] = "moreFacetsPageChange";
21
- analyticsActions["showMoreFacetsModal"] = "showMoreFacetsModal";
22
- analyticsActions["closeMoreFacetsModal"] = "closeMoreFacetsModal";
23
- analyticsActions["applyMoreFacetsModal"] = "applyMoreFacetsModal";
24
- })(analyticsActions || (analyticsActions = {}));
1
+ /**
2
+ * Analytics categories and events. Used when building actions in
3
+ */
4
+ export var analyticsCategories;
5
+ (function (analyticsCategories) {
6
+ analyticsCategories["default"] = "collection-browser";
7
+ })(analyticsCategories || (analyticsCategories = {}));
8
+ export var analyticsActions;
9
+ (function (analyticsActions) {
10
+ analyticsActions["sortBy"] = "sortBy";
11
+ analyticsActions["filterByCreator"] = "filterByCreator";
12
+ analyticsActions["filterByTitle"] = "filterByTitle";
13
+ analyticsActions["displayMode"] = "displayMode";
14
+ analyticsActions["facetSelected"] = "facetSelected";
15
+ analyticsActions["facetDeselected"] = "facetDeselected";
16
+ analyticsActions["facetNegativeSelected"] = "facetNegativeSelected";
17
+ analyticsActions["facetNegativeDeselected"] = "facetNegativeDeselected";
18
+ analyticsActions["histogramChanged"] = "histogramChanged";
19
+ analyticsActions["resultSelected"] = "resultSelected";
20
+ analyticsActions["moreFacetsPageChange"] = "moreFacetsPageChange";
21
+ analyticsActions["showMoreFacetsModal"] = "showMoreFacetsModal";
22
+ analyticsActions["closeMoreFacetsModal"] = "closeMoreFacetsModal";
23
+ analyticsActions["applyMoreFacetsModal"] = "applyMoreFacetsModal";
24
+ })(analyticsActions || (analyticsActions = {}));
25
25
  //# sourceMappingURL=analytics-events.js.map
@@ -1,7 +1,7 @@
1
- export declare type NumberFormat = 'short' | 'long';
2
- export declare type LabelFormat = 'short' | 'long';
3
- /**
4
- * Format a "count" number into short "icon" or longer text string.
5
- * For positive numbers only.
6
- */
7
- export declare function formatCount(count: number | undefined, numberFormat?: NumberFormat, labelFormat?: LabelFormat, locale?: string): string;
1
+ export declare type NumberFormat = 'short' | 'long';
2
+ export declare type LabelFormat = 'short' | 'long';
3
+ /**
4
+ * Format a "count" number into short "icon" or longer text string.
5
+ * For positive numbers only.
6
+ */
7
+ export declare function formatCount(count: number | undefined, numberFormat?: NumberFormat, labelFormat?: LabelFormat, locale?: string): string;