@internetarchive/collection-browser 0.3.8 → 0.3.9

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 (204) 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 +48 -48
  12. package/dist/src/app-root.js +258 -258
  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 +278 -278
  68. package/dist/src/collection-browser.js +1105 -1105
  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 +76 -76
  74. package/dist/src/collection-facets/more-facets-content.js +353 -353
  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 +388 -388
  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 +103 -103
  88. package/dist/src/models.js +117 -117
  89. package/dist/src/restoration-state-handler.d.ts +46 -46
  90. package/dist/src/restoration-state-handler.js +230 -230
  91. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  92. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  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 +107 -107
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  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 +8 -8
  108. package/dist/src/tiles/grid/account-tile.js +20 -20
  109. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  110. package/dist/src/tiles/grid/collection-tile.js +23 -23
  111. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  112. package/dist/src/tiles/grid/item-tile.js +87 -87
  113. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  114. package/dist/src/tiles/grid/tile-stats.js +40 -40
  115. package/dist/src/tiles/image-block.d.ts +17 -17
  116. package/dist/src/tiles/image-block.js +69 -69
  117. package/dist/src/tiles/item-image.d.ts +31 -31
  118. package/dist/src/tiles/item-image.js +103 -103
  119. package/dist/src/tiles/list/account-label.d.ts +1 -1
  120. package/dist/src/tiles/list/account-label.js +6 -6
  121. package/dist/src/tiles/list/date-label.d.ts +1 -1
  122. package/dist/src/tiles/list/date-label.js +12 -12
  123. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  124. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  125. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  126. package/dist/src/tiles/list/tile-list-compact.js +93 -93
  127. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  128. package/dist/src/tiles/list/tile-list.js +280 -275
  129. package/dist/src/tiles/list/tile-list.js.map +1 -1
  130. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  131. package/dist/src/tiles/mediatype-icon.js +47 -47
  132. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  133. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  134. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  135. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  136. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  137. package/dist/src/tiles/text-snippet-block.js +81 -81
  138. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  139. package/dist/src/tiles/tile-dispatcher.js +128 -128
  140. package/dist/src/utils/analytics-events.d.ts +22 -22
  141. package/dist/src/utils/analytics-events.js +24 -24
  142. package/dist/src/utils/format-count.d.ts +7 -7
  143. package/dist/src/utils/format-count.js +76 -76
  144. package/dist/src/utils/format-date.d.ts +2 -2
  145. package/dist/src/utils/format-date.js +23 -23
  146. package/dist/test/collection-browser.test.d.ts +1 -1
  147. package/dist/test/collection-browser.test.js +575 -575
  148. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  149. package/dist/test/collection-facets/facets-template.test.js +62 -62
  150. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  151. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  152. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  153. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  154. package/dist/test/collection-facets.test.d.ts +2 -2
  155. package/dist/test/collection-facets.test.js +544 -544
  156. package/dist/test/empty-placeholder.test.d.ts +1 -1
  157. package/dist/test/empty-placeholder.test.js +33 -33
  158. package/dist/test/icon-overlay.test.d.ts +1 -1
  159. package/dist/test/icon-overlay.test.js +24 -24
  160. package/dist/test/image-block.test.d.ts +1 -1
  161. package/dist/test/image-block.test.js +48 -48
  162. package/dist/test/item-image.test.d.ts +1 -1
  163. package/dist/test/item-image.test.js +56 -56
  164. package/dist/test/mediatype-config.test.d.ts +1 -1
  165. package/dist/test/mediatype-config.test.js +16 -16
  166. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  167. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  168. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  169. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  170. package/dist/test/mocks/mock-search-responses.d.ts +10 -10
  171. package/dist/test/mocks/mock-search-responses.js +271 -271
  172. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  173. package/dist/test/mocks/mock-search-service.js +36 -36
  174. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  175. package/dist/test/restoration-state-handler.test.js +126 -126
  176. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  177. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  178. package/dist/test/text-overlay.test.d.ts +1 -1
  179. package/dist/test/text-overlay.test.js +41 -41
  180. package/dist/test/text-snippet-block.test.d.ts +1 -1
  181. package/dist/test/text-snippet-block.test.js +57 -57
  182. package/dist/test/tile-stats.test.d.ts +1 -1
  183. package/dist/test/tile-stats.test.js +33 -33
  184. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  185. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  186. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  187. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  188. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  189. package/dist/test/tiles/list/tile-list.test.js +136 -92
  190. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  191. package/dist/test/utils/format-count.test.d.ts +1 -1
  192. package/dist/test/utils/format-count.test.js +23 -23
  193. package/dist/test/utils/format-date.test.d.ts +1 -1
  194. package/dist/test/utils/format-date.test.js +17 -17
  195. package/index.html +24 -24
  196. package/local.archive.org.cert +86 -86
  197. package/local.archive.org.key +27 -27
  198. package/package.json +1 -1
  199. package/renovate.json +6 -6
  200. package/src/tiles/list/tile-list.ts +12 -5
  201. package/test/tiles/list/tile-list.test.ts +51 -0
  202. package/tsconfig.json +21 -21
  203. package/web-dev-server.config.mjs +30 -30
  204. package/web-test-runner.config.mjs +41 -41
@@ -1,80 +1,80 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing, } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { join } from 'lit/directives/join.js';
5
- let TextSnippetBlock = class TextSnippetBlock extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.snippets = [];
9
- this.viewSize = 'desktop';
10
- }
11
- render() {
12
- var _a;
13
- if (!((_a = this.snippets) === null || _a === void 0 ? void 0 : _a.length))
14
- return html `${nothing}`;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing, } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { join } from 'lit/directives/join.js';
5
+ let TextSnippetBlock = class TextSnippetBlock extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.snippets = [];
9
+ this.viewSize = 'desktop';
10
+ }
11
+ render() {
12
+ var _a;
13
+ if (!((_a = this.snippets) === null || _a === void 0 ? void 0 : _a.length))
14
+ return html `${nothing}`;
15
15
  return html `
16
16
  <div class="${this.containerClasses}">${this.ellipsisJoinedSnippets}</div>
17
17
 
18
- ${this.viewSize === 'grid'
19
- ? html `<div class="separator"></div>`
18
+ ${this.viewSize === 'grid'
19
+ ? html `<div class="separator"></div>`
20
20
  : nothing}
21
- `;
22
- }
23
- get viewSizeClass() {
24
- return this.viewSize === 'grid' ? 'grid' : 'list';
25
- }
26
- get containerClasses() {
27
- return `container ${this.viewSizeClass}`;
28
- }
29
- /**
30
- * An array of HTML templates derived from the snippets, with ellipses inserted
31
- * at the beginning, end, and between each pair of snippets.
32
- */
33
- get ellipsisJoinedSnippets() {
21
+ `;
22
+ }
23
+ get viewSizeClass() {
24
+ return this.viewSize === 'grid' ? 'grid' : 'list';
25
+ }
26
+ get containerClasses() {
27
+ return `container ${this.viewSizeClass}`;
28
+ }
29
+ /**
30
+ * An array of HTML templates derived from the snippets, with ellipses inserted
31
+ * at the beginning, end, and between each pair of snippets.
32
+ */
33
+ get ellipsisJoinedSnippets() {
34
34
  return html `
35
35
  &hellip; ${join(this.snippetTemplates, html ` &hellip; `)} &hellip;
36
- `;
37
- }
38
- /**
39
- * Returns an array of HTML span templates containing this item's snippets with all of
40
- * their `{{{triple-brace-delimited}}}` matches replaced by `<mark>HTML mark tags</mark>`.
41
- *
42
- * This approach safely avoids the use of `unsafeHTML` and leaves any existing HTML tags
43
- * in the snippets intact (as inert text), rather than stripping them away with DOMPurify.
44
- *
45
- * Note on `<em>` vs. `<mark>`:
46
- * The old search page snippets had search keywords demarcated with `<em>` tags.
47
- * The `<mark>` tag is semantically more accurate for this use case than `<em>`,
48
- * but screen-reader behavior may be different. `<em>` will likely be read in a
49
- * different tone, while `<mark>` is often read no differently than ordinary text
50
- * in many screen-readers (though there are ways to work around this if needed).
51
- */
52
- get snippetTemplates() {
53
- var _a;
54
- return (_a = this.snippets) === null || _a === void 0 ? void 0 : _a.map(s => {
55
- const matches = s.matchAll(/{{{(.+?)}}}/gs);
56
- const templates = [];
57
- // Convert each match into an HTML template that includes:
58
- // - Everything from the end of the previous match (or the beginning of the
59
- // string) up to the current match, as raw text.
60
- // - The current match (excluding the curly braces) wrapped in a `<mark>` tag.
61
- let index = 0;
62
- for (const match of matches) {
63
- if (match.index != null) {
36
+ `;
37
+ }
38
+ /**
39
+ * Returns an array of HTML span templates containing this item's snippets with all of
40
+ * their `{{{triple-brace-delimited}}}` matches replaced by `<mark>HTML mark tags</mark>`.
41
+ *
42
+ * This approach safely avoids the use of `unsafeHTML` and leaves any existing HTML tags
43
+ * in the snippets intact (as inert text), rather than stripping them away with DOMPurify.
44
+ *
45
+ * Note on `<em>` vs. `<mark>`:
46
+ * The old search page snippets had search keywords demarcated with `<em>` tags.
47
+ * The `<mark>` tag is semantically more accurate for this use case than `<em>`,
48
+ * but screen-reader behavior may be different. `<em>` will likely be read in a
49
+ * different tone, while `<mark>` is often read no differently than ordinary text
50
+ * in many screen-readers (though there are ways to work around this if needed).
51
+ */
52
+ get snippetTemplates() {
53
+ var _a;
54
+ return (_a = this.snippets) === null || _a === void 0 ? void 0 : _a.map(s => {
55
+ const matches = s.matchAll(/{{{(.+?)}}}/gs);
56
+ const templates = [];
57
+ // Convert each match into an HTML template that includes:
58
+ // - Everything from the end of the previous match (or the beginning of the
59
+ // string) up to the current match, as raw text.
60
+ // - The current match (excluding the curly braces) wrapped in a `<mark>` tag.
61
+ let index = 0;
62
+ for (const match of matches) {
63
+ if (match.index != null) {
64
64
  templates.push(html `
65
65
  ${s.slice(index, match.index)}
66
66
  <mark>${match[1]}</mark>
67
- `);
68
- index = match.index + match[0].length;
69
- }
70
- }
71
- // Include any text from the last match to the end
72
- templates.push(html `${s.slice(index)}`);
73
- // Squash everything into a single span template
74
- return html `<span>${templates}</span>`;
75
- });
76
- }
77
- static get styles() {
67
+ `);
68
+ index = match.index + match[0].length;
69
+ }
70
+ }
71
+ // Include any text from the last match to the end
72
+ templates.push(html `${s.slice(index)}`);
73
+ // Squash everything into a single span template
74
+ return html `<span>${templates}</span>`;
75
+ });
76
+ }
77
+ static get styles() {
78
78
  return css `
79
79
  .container {
80
80
  display: -webkit-box;
@@ -112,17 +112,17 @@ let TextSnippetBlock = class TextSnippetBlock extends LitElement {
112
112
  background-color: #0000ff33;
113
113
  color: inherit;
114
114
  }
115
- `;
116
- }
117
- };
118
- __decorate([
119
- property({ type: Array })
120
- ], TextSnippetBlock.prototype, "snippets", void 0);
121
- __decorate([
122
- property({ type: String })
123
- ], TextSnippetBlock.prototype, "viewSize", void 0);
124
- TextSnippetBlock = __decorate([
125
- customElement('text-snippet-block')
126
- ], TextSnippetBlock);
127
- export { TextSnippetBlock };
115
+ `;
116
+ }
117
+ };
118
+ __decorate([
119
+ property({ type: Array })
120
+ ], TextSnippetBlock.prototype, "snippets", void 0);
121
+ __decorate([
122
+ property({ type: String })
123
+ ], TextSnippetBlock.prototype, "viewSize", void 0);
124
+ TextSnippetBlock = __decorate([
125
+ customElement('text-snippet-block')
126
+ ], TextSnippetBlock);
127
+ export { TextSnippetBlock };
128
128
  //# sourceMappingURL=text-snippet-block.js.map
@@ -1,36 +1,36 @@
1
- import { LitElement, PropertyValues } from 'lit';
2
- import type { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
3
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
- import type { SortParam } from '@internetarchive/search-service';
5
- import type { TileDisplayMode, TileModel } from '../models';
6
- import './grid/collection-tile';
7
- import './grid/item-tile';
8
- import './grid/account-tile';
9
- import './list/tile-list';
10
- import './list/tile-list-compact';
11
- import './list/tile-list-compact-header';
12
- export declare class TileDispatcher extends LitElement implements SharedResizeObserverResizeHandlerInterface {
13
- tileDisplayMode?: TileDisplayMode;
14
- model?: TileModel;
15
- baseNavigationUrl?: string;
16
- currentWidth?: number;
17
- currentHeight?: number;
18
- resizeObserver?: SharedResizeObserverInterface;
19
- collectionNameCache?: CollectionNameCacheInterface;
20
- sortParam: SortParam | null;
21
- private container;
22
- mobileBreakpoint?: number;
23
- baseImageUrl?: string;
24
- loggedIn: boolean;
25
- render(): import("lit-html").TemplateResult<1>;
26
- private get headerTemplate();
27
- private get tileTemplate();
28
- private get linkTileTemplate();
29
- handleResize(entry: ResizeObserverEntry): void;
30
- disconnectedCallback(): void;
31
- private stopResizeObservation;
32
- private startResizeObservation;
33
- updated(props: PropertyValues): void;
34
- private get tile();
35
- static get styles(): import("lit").CSSResult;
36
- }
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ import type { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
3
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
+ import type { SortParam } from '@internetarchive/search-service';
5
+ import type { TileDisplayMode, TileModel } from '../models';
6
+ import './grid/collection-tile';
7
+ import './grid/item-tile';
8
+ import './grid/account-tile';
9
+ import './list/tile-list';
10
+ import './list/tile-list-compact';
11
+ import './list/tile-list-compact-header';
12
+ export declare class TileDispatcher extends LitElement implements SharedResizeObserverResizeHandlerInterface {
13
+ tileDisplayMode?: TileDisplayMode;
14
+ model?: TileModel;
15
+ baseNavigationUrl?: string;
16
+ currentWidth?: number;
17
+ currentHeight?: number;
18
+ resizeObserver?: SharedResizeObserverInterface;
19
+ collectionNameCache?: CollectionNameCacheInterface;
20
+ sortParam: SortParam | null;
21
+ private container;
22
+ mobileBreakpoint?: number;
23
+ baseImageUrl?: string;
24
+ loggedIn: boolean;
25
+ render(): import("lit-html").TemplateResult<1>;
26
+ private get headerTemplate();
27
+ private get tileTemplate();
28
+ private get linkTileTemplate();
29
+ handleResize(entry: ResizeObserverEntry): void;
30
+ disconnectedCallback(): void;
31
+ private stopResizeObservation;
32
+ private startResizeObservation;
33
+ updated(props: PropertyValues): void;
34
+ private get tile();
35
+ static get styles(): import("lit").CSSResult;
36
+ }
@@ -1,30 +1,30 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing } from 'lit';
3
- import { customElement, property, query } from 'lit/decorators.js';
4
- import { ifDefined } from 'lit/directives/if-defined.js';
5
- import './grid/collection-tile';
6
- import './grid/item-tile';
7
- import './grid/account-tile';
8
- import './list/tile-list';
9
- import './list/tile-list-compact';
10
- import './list/tile-list-compact-header';
11
- let TileDispatcher = class TileDispatcher extends LitElement {
12
- constructor() {
13
- super(...arguments);
14
- this.sortParam = null;
15
- this.loggedIn = false;
16
- }
17
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing } from 'lit';
3
+ import { customElement, property, query } from 'lit/decorators.js';
4
+ import { ifDefined } from 'lit/directives/if-defined.js';
5
+ import './grid/collection-tile';
6
+ import './grid/item-tile';
7
+ import './grid/account-tile';
8
+ import './list/tile-list';
9
+ import './list/tile-list-compact';
10
+ import './list/tile-list-compact-header';
11
+ let TileDispatcher = class TileDispatcher extends LitElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.sortParam = null;
15
+ this.loggedIn = false;
16
+ }
17
+ render() {
18
18
  return html `
19
19
  <div id="container">
20
- ${this.tileDisplayMode === 'list-header'
21
- ? this.headerTemplate
20
+ ${this.tileDisplayMode === 'list-header'
21
+ ? this.headerTemplate
22
22
  : this.tileTemplate}
23
23
  </div>
24
- `;
25
- }
26
- get headerTemplate() {
27
- const { currentWidth, sortParam, mobileBreakpoint } = this;
24
+ `;
25
+ }
26
+ get headerTemplate() {
27
+ const { currentWidth, sortParam, mobileBreakpoint } = this;
28
28
  return html `
29
29
  <tile-list-compact-header
30
30
  class="header"
@@ -33,17 +33,17 @@ let TileDispatcher = class TileDispatcher extends LitElement {
33
33
  .mobileBreakpoint=${mobileBreakpoint}
34
34
  >
35
35
  </tile-list-compact-header>
36
- `;
37
- }
38
- get tileTemplate() {
36
+ `;
37
+ }
38
+ get tileTemplate() {
39
39
  return html `
40
- ${this.tileDisplayMode === 'list-detail'
41
- ? this.tile
40
+ ${this.tileDisplayMode === 'list-detail'
41
+ ? this.tile
42
42
  : this.linkTileTemplate}
43
- `;
44
- }
45
- get linkTileTemplate() {
46
- var _a, _b;
43
+ `;
44
+ }
45
+ get linkTileTemplate() {
46
+ var _a, _b;
47
47
  return html `
48
48
  <a
49
49
  href="${this.baseNavigationUrl}/details/${(_a = this.model) === null || _a === void 0 ? void 0 : _a.identifier}"
@@ -52,58 +52,58 @@ let TileDispatcher = class TileDispatcher extends LitElement {
52
52
  >
53
53
  ${this.tile}
54
54
  </a>
55
- `;
56
- }
57
- handleResize(entry) {
58
- this.currentWidth = entry.contentRect.width;
59
- this.currentHeight = entry.contentRect.height;
60
- }
61
- disconnectedCallback() {
62
- this.stopResizeObservation(this.resizeObserver);
63
- }
64
- stopResizeObservation(observer) {
65
- observer === null || observer === void 0 ? void 0 : observer.removeObserver({
66
- handler: this,
67
- target: this.container,
68
- });
69
- }
70
- startResizeObservation() {
71
- var _a;
72
- this.stopResizeObservation(this.resizeObserver);
73
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
74
- handler: this,
75
- target: this.container,
76
- });
77
- }
78
- updated(props) {
79
- if (props.has('resizeObserver')) {
80
- const previousObserver = props.get('resizeObserver');
81
- this.stopResizeObservation(previousObserver);
82
- this.startResizeObservation();
83
- }
84
- }
85
- get tile() {
86
- const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
87
- if (!model)
88
- return nothing;
89
- switch (this.tileDisplayMode) {
90
- case 'grid':
91
- switch (model.mediatype) {
92
- case 'collection':
55
+ `;
56
+ }
57
+ handleResize(entry) {
58
+ this.currentWidth = entry.contentRect.width;
59
+ this.currentHeight = entry.contentRect.height;
60
+ }
61
+ disconnectedCallback() {
62
+ this.stopResizeObservation(this.resizeObserver);
63
+ }
64
+ stopResizeObservation(observer) {
65
+ observer === null || observer === void 0 ? void 0 : observer.removeObserver({
66
+ handler: this,
67
+ target: this.container,
68
+ });
69
+ }
70
+ startResizeObservation() {
71
+ var _a;
72
+ this.stopResizeObservation(this.resizeObserver);
73
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.addObserver({
74
+ handler: this,
75
+ target: this.container,
76
+ });
77
+ }
78
+ updated(props) {
79
+ if (props.has('resizeObserver')) {
80
+ const previousObserver = props.get('resizeObserver');
81
+ this.stopResizeObservation(previousObserver);
82
+ this.startResizeObservation();
83
+ }
84
+ }
85
+ get tile() {
86
+ const { model, baseNavigationUrl, currentWidth, currentHeight, sortParam, mobileBreakpoint, } = this;
87
+ if (!model)
88
+ return nothing;
89
+ switch (this.tileDisplayMode) {
90
+ case 'grid':
91
+ switch (model.mediatype) {
92
+ case 'collection':
93
93
  return html `<collection-tile
94
94
  .model=${model}
95
95
  .currentWidth=${currentWidth}
96
96
  .currentHeight=${currentHeight}
97
97
  >
98
- </collection-tile>`;
99
- case 'account':
98
+ </collection-tile>`;
99
+ case 'account':
100
100
  return html `<account-tile
101
101
  .model=${model}
102
102
  .currentWidth=${currentWidth}
103
103
  .currentHeight=${currentHeight}
104
104
  >
105
- </account-tile>`;
106
- default:
105
+ </account-tile>`;
106
+ default:
107
107
  return html `<item-tile
108
108
  .model=${model}
109
109
  .currentWidth=${this.currentWidth}
@@ -113,9 +113,9 @@ let TileDispatcher = class TileDispatcher extends LitElement {
113
113
  .sortParam=${sortParam}
114
114
  .loggedIn=${this.loggedIn}
115
115
  >
116
- </item-tile>`;
117
- }
118
- case 'list-compact':
116
+ </item-tile>`;
117
+ }
118
+ case 'list-compact':
119
119
  return html `<tile-list-compact
120
120
  .model=${model}
121
121
  .currentWidth=${currentWidth}
@@ -126,8 +126,8 @@ let TileDispatcher = class TileDispatcher extends LitElement {
126
126
  .baseImageUrl=${this.baseImageUrl}
127
127
  .loggedIn=${this.loggedIn}
128
128
  >
129
- </tile-list-compact>`;
130
- case 'list-detail':
129
+ </tile-list-compact>`;
130
+ case 'list-detail':
131
131
  return html `<tile-list
132
132
  .model=${model}
133
133
  .collectionNameCache=${this.collectionNameCache}
@@ -139,12 +139,12 @@ let TileDispatcher = class TileDispatcher extends LitElement {
139
139
  .baseImageUrl=${this.baseImageUrl}
140
140
  .loggedIn=${this.loggedIn}
141
141
  >
142
- </tile-list>`;
143
- default:
144
- return nothing;
145
- }
146
- }
147
- static get styles() {
142
+ </tile-list>`;
143
+ default:
144
+ return nothing;
145
+ }
146
+ }
147
+ static get styles() {
148
148
  return css `
149
149
  :host {
150
150
  display: block;
@@ -170,47 +170,47 @@ let TileDispatcher = class TileDispatcher extends LitElement {
170
170
  display: block;
171
171
  height: 100%;
172
172
  }
173
- `;
174
- }
175
- };
176
- __decorate([
177
- property({ type: String })
178
- ], TileDispatcher.prototype, "tileDisplayMode", void 0);
179
- __decorate([
180
- property({ type: Object })
181
- ], TileDispatcher.prototype, "model", void 0);
182
- __decorate([
183
- property({ type: String })
184
- ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
185
- __decorate([
186
- property({ type: Number })
187
- ], TileDispatcher.prototype, "currentWidth", void 0);
188
- __decorate([
189
- property({ type: Number })
190
- ], TileDispatcher.prototype, "currentHeight", void 0);
191
- __decorate([
192
- property({ type: Object })
193
- ], TileDispatcher.prototype, "resizeObserver", void 0);
194
- __decorate([
195
- property({ type: Object })
196
- ], TileDispatcher.prototype, "collectionNameCache", void 0);
197
- __decorate([
198
- property({ type: Object })
199
- ], TileDispatcher.prototype, "sortParam", void 0);
200
- __decorate([
201
- query('#container')
202
- ], TileDispatcher.prototype, "container", void 0);
203
- __decorate([
204
- property({ type: Number })
205
- ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
206
- __decorate([
207
- property({ type: String })
208
- ], TileDispatcher.prototype, "baseImageUrl", void 0);
209
- __decorate([
210
- property({ type: Boolean })
211
- ], TileDispatcher.prototype, "loggedIn", void 0);
212
- TileDispatcher = __decorate([
213
- customElement('tile-dispatcher')
214
- ], TileDispatcher);
215
- export { TileDispatcher };
173
+ `;
174
+ }
175
+ };
176
+ __decorate([
177
+ property({ type: String })
178
+ ], TileDispatcher.prototype, "tileDisplayMode", void 0);
179
+ __decorate([
180
+ property({ type: Object })
181
+ ], TileDispatcher.prototype, "model", void 0);
182
+ __decorate([
183
+ property({ type: String })
184
+ ], TileDispatcher.prototype, "baseNavigationUrl", void 0);
185
+ __decorate([
186
+ property({ type: Number })
187
+ ], TileDispatcher.prototype, "currentWidth", void 0);
188
+ __decorate([
189
+ property({ type: Number })
190
+ ], TileDispatcher.prototype, "currentHeight", void 0);
191
+ __decorate([
192
+ property({ type: Object })
193
+ ], TileDispatcher.prototype, "resizeObserver", void 0);
194
+ __decorate([
195
+ property({ type: Object })
196
+ ], TileDispatcher.prototype, "collectionNameCache", void 0);
197
+ __decorate([
198
+ property({ type: Object })
199
+ ], TileDispatcher.prototype, "sortParam", void 0);
200
+ __decorate([
201
+ query('#container')
202
+ ], TileDispatcher.prototype, "container", void 0);
203
+ __decorate([
204
+ property({ type: Number })
205
+ ], TileDispatcher.prototype, "mobileBreakpoint", void 0);
206
+ __decorate([
207
+ property({ type: String })
208
+ ], TileDispatcher.prototype, "baseImageUrl", void 0);
209
+ __decorate([
210
+ property({ type: Boolean })
211
+ ], TileDispatcher.prototype, "loggedIn", void 0);
212
+ TileDispatcher = __decorate([
213
+ customElement('tile-dispatcher')
214
+ ], TileDispatcher);
215
+ export { TileDispatcher };
216
216
  //# 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