@internetarchive/collection-browser 0.3.5-alpha.1 → 0.3.6

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 (236) 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 +47 -43
  12. package/dist/src/app-root.js +331 -285
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +2 -2
  60. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  61. package/dist/src/assets/img/icons/reviews.js +2 -2
  62. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  63. package/dist/src/assets/img/icons/upload.js +2 -2
  64. package/dist/src/assets/img/icons/views.d.ts +1 -1
  65. package/dist/src/assets/img/icons/views.js +2 -2
  66. package/dist/src/circular-activity-indicator.d.ts +5 -5
  67. package/dist/src/circular-activity-indicator.js +17 -17
  68. package/dist/src/collection-browser.d.ts +246 -245
  69. package/dist/src/collection-browser.js +1370 -1359
  70. package/dist/src/collection-browser.js.map +1 -1
  71. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  72. package/dist/src/collection-facets/facet-tombstone-row.js +42 -42
  73. package/dist/src/collection-facets/facet-tombstone-row.js.map +1 -1
  74. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  75. package/dist/src/collection-facets/facets-template.js +130 -128
  76. package/dist/src/collection-facets/facets-template.js.map +1 -1
  77. package/dist/src/collection-facets/more-facets-content.d.ts +76 -76
  78. package/dist/src/collection-facets/more-facets-content.js +353 -353
  79. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  80. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  81. package/dist/src/collection-facets.d.ts +77 -77
  82. package/dist/src/collection-facets.js +551 -551
  83. package/dist/src/collection-facets.js.map +1 -1
  84. package/dist/src/empty-placeholder.d.ts +11 -11
  85. package/dist/src/empty-placeholder.js +42 -42
  86. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  87. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  88. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  89. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  90. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  91. package/dist/src/mediatype/mediatype-config.js +85 -85
  92. package/dist/src/models.d.ts +103 -102
  93. package/dist/src/models.js +117 -117
  94. package/dist/src/models.js.map +1 -1
  95. package/dist/src/restoration-state-handler.d.ts +46 -45
  96. package/dist/src/restoration-state-handler.js +230 -220
  97. package/dist/src/restoration-state-handler.js.map +1 -1
  98. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  99. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  100. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  101. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  102. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/list.js +2 -2
  104. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  106. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  108. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  109. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  110. package/dist/src/styles/item-image-styles.d.ts +8 -8
  111. package/dist/src/styles/item-image-styles.js +9 -9
  112. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  113. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  114. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  115. package/dist/src/tiles/grid/account-tile.js +20 -20
  116. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  117. package/dist/src/tiles/grid/collection-tile.js +23 -23
  118. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  119. package/dist/src/tiles/grid/item-tile.js +87 -87
  120. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  121. package/dist/src/tiles/grid/tile-stats.js +46 -40
  122. package/dist/src/tiles/grid/tile-stats.js.map +1 -1
  123. package/dist/src/tiles/image-block.d.ts +17 -17
  124. package/dist/src/tiles/image-block.js +69 -69
  125. package/dist/src/tiles/item-image.d.ts +31 -31
  126. package/dist/src/tiles/item-image.js +103 -103
  127. package/dist/src/tiles/list/account-label.d.ts +1 -1
  128. package/dist/src/tiles/list/account-label.js +6 -6
  129. package/dist/src/tiles/list/date-label.d.ts +1 -1
  130. package/dist/src/tiles/list/date-label.js +12 -12
  131. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  132. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  133. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -20
  134. package/dist/src/tiles/list/tile-list-compact.js +94 -90
  135. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  136. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  137. package/dist/src/tiles/list/tile-list.js +271 -268
  138. package/dist/src/tiles/list/tile-list.js.map +1 -1
  139. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  140. package/dist/src/tiles/mediatype-icon.js +49 -47
  141. package/dist/src/tiles/mediatype-icon.js.map +1 -1
  142. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  143. package/dist/src/tiles/overlay/icon-overlay.js +30 -30
  144. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  145. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  146. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  147. package/dist/src/tiles/text-snippet-block.js +81 -81
  148. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  149. package/dist/src/tiles/tile-dispatcher.js +128 -128
  150. package/dist/src/utils/analytics-events.d.ts +22 -22
  151. package/dist/src/utils/analytics-events.js +24 -24
  152. package/dist/src/utils/format-count.d.ts +7 -7
  153. package/dist/src/utils/format-count.js +76 -76
  154. package/dist/src/utils/format-date.d.ts +2 -2
  155. package/dist/src/utils/format-date.js +23 -23
  156. package/dist/test/collection-browser.test.d.ts +1 -1
  157. package/dist/test/collection-browser.test.js +481 -415
  158. package/dist/test/collection-browser.test.js.map +1 -1
  159. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  160. package/dist/test/collection-facets/facets-template.test.js +62 -62
  161. package/dist/test/collection-facets/facets-template.test.js.map +1 -1
  162. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  163. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  164. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  165. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  166. package/dist/test/collection-facets.test.d.ts +2 -2
  167. package/dist/test/collection-facets.test.js +498 -498
  168. package/dist/test/empty-placeholder.test.d.ts +1 -1
  169. package/dist/test/empty-placeholder.test.js +33 -33
  170. package/dist/test/icon-overlay.test.d.ts +1 -1
  171. package/dist/test/icon-overlay.test.js +24 -24
  172. package/dist/test/image-block.test.d.ts +1 -1
  173. package/dist/test/image-block.test.js +48 -48
  174. package/dist/test/item-image.test.d.ts +1 -1
  175. package/dist/test/item-image.test.js +56 -56
  176. package/dist/test/mediatype-config.test.d.ts +1 -1
  177. package/dist/test/mediatype-config.test.js +16 -16
  178. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  179. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  180. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  181. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  182. package/dist/test/mocks/mock-search-responses.d.ts +8 -8
  183. package/dist/test/mocks/mock-search-responses.js +198 -198
  184. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  185. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  186. package/dist/test/mocks/mock-search-service.js +32 -32
  187. package/dist/test/mocks/mock-search-service.js.map +1 -1
  188. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  189. package/dist/test/restoration-state-handler.test.js +126 -117
  190. package/dist/test/restoration-state-handler.test.js.map +1 -1
  191. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  192. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  193. package/dist/test/text-overlay.test.d.ts +1 -1
  194. package/dist/test/text-overlay.test.js +41 -41
  195. package/dist/test/text-snippet-block.test.d.ts +1 -1
  196. package/dist/test/text-snippet-block.test.js +57 -57
  197. package/dist/test/tile-stats.test.d.ts +1 -1
  198. package/dist/test/tile-stats.test.js +33 -33
  199. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  200. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  201. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  202. package/dist/test/tiles/list/tile-list-compact.test.js +125 -26
  203. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  204. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  205. package/dist/test/tiles/list/tile-list.test.js +79 -47
  206. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  207. package/dist/test/utils/format-count.test.d.ts +1 -1
  208. package/dist/test/utils/format-count.test.js +23 -23
  209. package/dist/test/utils/format-date.test.d.ts +1 -1
  210. package/dist/test/utils/format-date.test.js +17 -17
  211. package/index.html +24 -24
  212. package/local.archive.org.cert +86 -86
  213. package/local.archive.org.key +27 -27
  214. package/package.json +115 -115
  215. package/renovate.json +6 -6
  216. package/src/app-root.ts +104 -55
  217. package/src/collection-browser.ts +1503 -1488
  218. package/src/collection-facets/facet-tombstone-row.ts +40 -40
  219. package/src/collection-facets/facets-template.ts +5 -3
  220. package/src/collection-facets.ts +635 -635
  221. package/src/models.ts +1 -0
  222. package/src/restoration-state-handler.ts +19 -1
  223. package/src/tiles/grid/tile-stats.ts +18 -5
  224. package/src/tiles/list/tile-list-compact.ts +7 -3
  225. package/src/tiles/list/tile-list.ts +6 -1
  226. package/src/tiles/mediatype-icon.ts +2 -0
  227. package/test/collection-browser.test.ts +679 -599
  228. package/test/collection-facets/facets-template.test.ts +5 -3
  229. package/test/mocks/mock-search-responses.ts +226 -226
  230. package/test/mocks/mock-search-service.ts +61 -61
  231. package/test/restoration-state-handler.test.ts +12 -0
  232. package/test/tiles/list/tile-list-compact.test.ts +110 -0
  233. package/test/tiles/list/tile-list.test.ts +36 -0
  234. package/tsconfig.json +21 -21
  235. package/web-dev-server.config.mjs +30 -30
  236. 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