@internetarchive/collection-browser 1.7.1-alpha.0 → 1.9.0-alpha1

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 (275) 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 +54 -54
  12. package/dist/src/app-root.js +293 -293
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +469 -469
  72. package/dist/src/collection-browser.js +1667 -1653
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  75. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  76. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  77. package/dist/src/collection-facets/facets-template.js +152 -152
  78. package/dist/src/collection-facets/more-facets-content.d.ts +77 -76
  79. package/dist/src/collection-facets/more-facets-content.js +359 -352
  80. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  81. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  82. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  83. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  84. package/dist/src/collection-facets/toggle-switch.js +94 -94
  85. package/dist/src/collection-facets.d.ts +99 -98
  86. package/dist/src/collection-facets.js +472 -468
  87. package/dist/src/collection-facets.js.map +1 -1
  88. package/dist/src/empty-placeholder.d.ts +21 -21
  89. package/dist/src/empty-placeholder.js +69 -69
  90. package/dist/src/expanded-date-picker.d.ts +43 -43
  91. package/dist/src/expanded-date-picker.js +109 -109
  92. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  93. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  94. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  95. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  96. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  97. package/dist/src/mediatype/mediatype-config.js +85 -85
  98. package/dist/src/models.d.ts +162 -149
  99. package/dist/src/models.js +256 -195
  100. package/dist/src/models.js.map +1 -1
  101. package/dist/src/restoration-state-handler.d.ts +70 -63
  102. package/dist/src/restoration-state-handler.js +355 -326
  103. package/dist/src/restoration-state-handler.js.map +1 -1
  104. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  105. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  106. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  107. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  108. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  110. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/list.js +2 -2
  112. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  118. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  120. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  122. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +201 -199
  123. package/dist/src/sort-filter-bar/sort-filter-bar.js +622 -617
  124. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  125. package/dist/src/styles/item-image-styles.d.ts +8 -8
  126. package/dist/src/styles/item-image-styles.js +9 -9
  127. package/dist/src/styles/sr-only.d.ts +1 -1
  128. package/dist/src/styles/sr-only.js +2 -2
  129. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  130. package/dist/src/tiles/base-tile-component.js +59 -59
  131. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  132. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  133. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  134. package/dist/src/tiles/grid/account-tile.js +72 -72
  135. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  136. package/dist/src/tiles/grid/collection-tile.js +80 -80
  137. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  138. package/dist/src/tiles/grid/item-tile.js +134 -134
  139. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  140. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  141. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  142. package/dist/src/tiles/grid/tile-stats.js +48 -48
  143. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  144. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  145. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  146. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  147. package/dist/src/tiles/image-block.d.ts +17 -17
  148. package/dist/src/tiles/image-block.js +72 -72
  149. package/dist/src/tiles/item-image.d.ts +35 -35
  150. package/dist/src/tiles/item-image.js +117 -117
  151. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  152. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  153. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  154. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  155. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  156. package/dist/src/tiles/list/tile-list.js +298 -298
  157. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  158. package/dist/src/tiles/mediatype-icon.js +47 -47
  159. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  160. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  161. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  162. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  163. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  164. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  165. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  166. package/dist/src/tiles/text-snippet-block.js +73 -73
  167. package/dist/src/tiles/tile-dispatcher.d.ts +50 -50
  168. package/dist/src/tiles/tile-dispatcher.js +185 -185
  169. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  170. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  171. package/dist/src/utils/analytics-events.d.ts +24 -24
  172. package/dist/src/utils/analytics-events.js +26 -26
  173. package/dist/src/utils/array-equals.d.ts +4 -4
  174. package/dist/src/utils/array-equals.js +10 -10
  175. package/dist/src/utils/format-count.d.ts +7 -7
  176. package/dist/src/utils/format-count.js +76 -76
  177. package/dist/src/utils/format-date.d.ts +2 -2
  178. package/dist/src/utils/format-date.js +25 -25
  179. package/dist/src/utils/format-unit-size.d.ts +2 -2
  180. package/dist/src/utils/format-unit-size.js +33 -33
  181. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  182. package/dist/src/utils/local-date-from-utc.js +15 -15
  183. package/dist/src/utils/sha1.d.ts +2 -2
  184. package/dist/src/utils/sha1.js +8 -8
  185. package/dist/test/collection-browser.test.d.ts +1 -1
  186. package/dist/test/collection-browser.test.js +808 -808
  187. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  188. package/dist/test/collection-facets/facets-template.test.js +134 -134
  189. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  190. package/dist/test/collection-facets/more-facets-content.test.js +139 -114
  191. package/dist/test/collection-facets/more-facets-content.test.js.map +1 -1
  192. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  193. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  194. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  195. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  196. package/dist/test/collection-facets.test.d.ts +2 -2
  197. package/dist/test/collection-facets.test.js +645 -645
  198. package/dist/test/empty-placeholder.test.d.ts +1 -1
  199. package/dist/test/empty-placeholder.test.js +56 -56
  200. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  201. package/dist/test/expanded-date-picker.test.js +95 -95
  202. package/dist/test/icon-overlay.test.d.ts +1 -1
  203. package/dist/test/icon-overlay.test.js +24 -24
  204. package/dist/test/image-block.test.d.ts +1 -1
  205. package/dist/test/image-block.test.js +48 -48
  206. package/dist/test/item-image.test.d.ts +1 -1
  207. package/dist/test/item-image.test.js +84 -84
  208. package/dist/test/mediatype-config.test.d.ts +1 -1
  209. package/dist/test/mediatype-config.test.js +16 -16
  210. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  211. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  212. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  213. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  214. package/dist/test/mocks/mock-search-responses.d.ts +19 -19
  215. package/dist/test/mocks/mock-search-responses.js +623 -623
  216. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  217. package/dist/test/mocks/mock-search-service.js +48 -48
  218. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  219. package/dist/test/restoration-state-handler.test.js +270 -218
  220. package/dist/test/restoration-state-handler.test.js.map +1 -1
  221. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  222. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  223. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  224. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  225. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  226. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  227. package/dist/test/text-overlay.test.d.ts +1 -1
  228. package/dist/test/text-overlay.test.js +48 -48
  229. package/dist/test/text-snippet-block.test.d.ts +1 -1
  230. package/dist/test/text-snippet-block.test.js +57 -57
  231. package/dist/test/tile-stats.test.d.ts +1 -1
  232. package/dist/test/tile-stats.test.js +33 -33
  233. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  234. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  235. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  236. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  237. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  238. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  239. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  240. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  241. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  242. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  243. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  244. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  245. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  246. package/dist/test/tiles/list/tile-list.test.js +242 -242
  247. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  248. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  249. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  250. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  251. package/dist/test/utils/array-equals.test.d.ts +1 -1
  252. package/dist/test/utils/array-equals.test.js +26 -26
  253. package/dist/test/utils/format-count.test.d.ts +1 -1
  254. package/dist/test/utils/format-count.test.js +23 -23
  255. package/dist/test/utils/format-date.test.d.ts +1 -1
  256. package/dist/test/utils/format-date.test.js +17 -17
  257. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  258. package/dist/test/utils/format-unit-size.test.js +17 -17
  259. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  260. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  261. package/local.archive.org.cert +86 -86
  262. package/local.archive.org.key +27 -27
  263. package/package.json +3 -3
  264. package/renovate.json +6 -6
  265. package/src/collection-browser.ts +25 -8
  266. package/src/collection-facets/more-facets-content.ts +9 -2
  267. package/src/collection-facets.ts +3 -0
  268. package/src/models.ts +193 -109
  269. package/src/restoration-state-handler.ts +66 -40
  270. package/src/sort-filter-bar/sort-filter-bar.ts +34 -27
  271. package/test/collection-facets/more-facets-content.test.ts +35 -0
  272. package/test/restoration-state-handler.test.ts +68 -1
  273. package/tsconfig.json +21 -21
  274. package/web-dev-server.config.mjs +30 -30
  275. package/web-test-runner.config.mjs +41 -41
@@ -1,5 +1,5 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- export declare class FacetTombstoneRow extends LitElement {
3
- render(): import("lit-html").TemplateResult<1>;
4
- static get styles(): CSSResultGroup;
5
- }
1
+ import { LitElement, CSSResultGroup } from 'lit';
2
+ export declare class FacetTombstoneRow extends LitElement {
3
+ render(): import("lit-html").TemplateResult<1>;
4
+ static get styles(): CSSResultGroup;
5
+ }
@@ -1,17 +1,17 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- let FacetTombstoneRow = class FacetTombstoneRow extends LitElement {
5
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement } from 'lit/decorators.js';
4
+ let FacetTombstoneRow = class FacetTombstoneRow extends LitElement {
5
+ render() {
6
6
  return html `
7
7
  <div id="row">
8
8
  <input type="checkbox" disabled />
9
9
  <div class="tombstone-line"></div>
10
10
  <div class="tombstone-line"></div>
11
11
  </div>
12
- `;
13
- }
14
- static get styles() {
12
+ `;
13
+ }
14
+ static get styles() {
15
15
  return css `
16
16
  #row {
17
17
  display: grid;
@@ -33,11 +33,11 @@ let FacetTombstoneRow = class FacetTombstoneRow extends LitElement {
33
33
  height: 15px;
34
34
  margin: 0;
35
35
  }
36
- `;
37
- }
38
- };
39
- FacetTombstoneRow = __decorate([
40
- customElement('facet-tombstone-row')
41
- ], FacetTombstoneRow);
42
- export { FacetTombstoneRow };
36
+ `;
37
+ }
38
+ };
39
+ FacetTombstoneRow = __decorate([
40
+ customElement('facet-tombstone-row')
41
+ ], FacetTombstoneRow);
42
+ export { FacetTombstoneRow };
43
43
  //# sourceMappingURL=facet-tombstone-row.js.map
@@ -1,20 +1,20 @@
1
- import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
- import { FacetGroup, SelectedFacets } from '../models';
4
- export declare class FacetsTemplate extends LitElement {
5
- facetGroup?: FacetGroup;
6
- selectedFacets?: SelectedFacets;
7
- renderOn?: string;
8
- collectionPagePath: string;
9
- collectionNameCache?: CollectionNameCacheInterface;
10
- private facetClicked;
11
- private facetChecked;
12
- private facetUnchecked;
13
- /** Returns the composed facet state corresponding to a positive or negative facet's checked state */
14
- private getFacetState;
15
- private dispatchFacetClickEvent;
16
- private dispatchSelectedFacetsChanged;
17
- private getFacetsTemplate;
18
- render(): TemplateResult<1>;
19
- static get styles(): CSSResultGroup;
20
- }
1
+ import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
3
+ import { FacetGroup, SelectedFacets } from '../models';
4
+ export declare class FacetsTemplate extends LitElement {
5
+ facetGroup?: FacetGroup;
6
+ selectedFacets?: SelectedFacets;
7
+ renderOn?: string;
8
+ collectionPagePath: string;
9
+ collectionNameCache?: CollectionNameCacheInterface;
10
+ private facetClicked;
11
+ private facetChecked;
12
+ private facetUnchecked;
13
+ /** Returns the composed facet state corresponding to a positive or negative facet's checked state */
14
+ private getFacetState;
15
+ private dispatchFacetClickEvent;
16
+ private dispatchSelectedFacetsChanged;
17
+ private getFacetsTemplate;
18
+ render(): TemplateResult<1>;
19
+ static get styles(): CSSResultGroup;
20
+ }
@@ -1,130 +1,130 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { repeat } from 'lit/directives/repeat.js';
5
- import eyeIcon from '../assets/img/icons/eye';
6
- import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
- import { getDefaultSelectedFacets, } from '../models';
8
- let FacetsTemplate = class FacetsTemplate extends LitElement {
9
- constructor() {
10
- super(...arguments);
11
- this.collectionPagePath = '/details/';
12
- }
13
- facetClicked(e, count, negative) {
14
- const target = e.target;
15
- const { checked, name, value } = target;
16
- if (checked) {
17
- this.facetChecked(name, value, count, negative);
18
- }
19
- else {
20
- this.facetUnchecked(name, value);
21
- }
22
- this.dispatchFacetClickEvent(name, this.getFacetState(checked, negative), negative);
23
- }
24
- facetChecked(key, value, count, negative) {
25
- const { selectedFacets } = this;
26
- let newFacets;
27
- if (selectedFacets) {
28
- newFacets = {
29
- ...selectedFacets,
30
- };
31
- }
32
- else {
33
- newFacets = getDefaultSelectedFacets();
34
- }
35
- newFacets[key][value] = {
36
- state: this.getFacetState(true, negative),
37
- count,
38
- };
39
- this.selectedFacets = newFacets;
40
- this.dispatchSelectedFacetsChanged();
41
- }
42
- facetUnchecked(key, value) {
43
- const { selectedFacets } = this;
44
- let newFacets;
45
- if (selectedFacets) {
46
- newFacets = {
47
- ...selectedFacets,
48
- };
49
- }
50
- else {
51
- newFacets = getDefaultSelectedFacets();
52
- }
53
- delete newFacets[key][value];
54
- this.selectedFacets = newFacets;
55
- this.dispatchSelectedFacetsChanged();
56
- }
57
- /** Returns the composed facet state corresponding to a positive or negative facet's checked state */
58
- getFacetState(checked, negative) {
59
- let state;
60
- if (checked) {
61
- state = negative ? 'hidden' : 'selected';
62
- }
63
- else {
64
- state = 'none';
65
- }
66
- return state;
67
- }
68
- dispatchFacetClickEvent(key, state, negative) {
69
- const event = new CustomEvent('facetClick', {
70
- detail: { key, state, negative },
71
- composed: true,
72
- });
73
- this.dispatchEvent(event);
74
- }
75
- dispatchSelectedFacetsChanged() {
76
- const event = new CustomEvent('selectedFacetsChanged', {
77
- detail: this.selectedFacets,
78
- bubbles: true,
79
- composed: true,
80
- });
81
- this.dispatchEvent(event);
82
- }
83
- getFacetsTemplate(facetGroup) {
84
- let facetsBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets;
85
- /**
86
- * sorting FacetBucket before render page / modal
87
- * - first, selected items should be at top having sorted
88
- * - second, suppressed/hidden items should be after selected having sorted
89
- * - and then no-selected / not suppressed items should render having sorted
90
- */
91
- facetsBucket = [
92
- ...facetsBucket
93
- .filter(x => x.state === 'selected')
94
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
95
- ...facetsBucket
96
- .filter(x => x.state === 'hidden')
97
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
98
- ...facetsBucket.filter(x => x.state === 'none'),
99
- ];
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { repeat } from 'lit/directives/repeat.js';
5
+ import eyeIcon from '../assets/img/icons/eye';
6
+ import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
+ import { getDefaultSelectedFacets, } from '../models';
8
+ let FacetsTemplate = class FacetsTemplate extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.collectionPagePath = '/details/';
12
+ }
13
+ facetClicked(e, count, negative) {
14
+ const target = e.target;
15
+ const { checked, name, value } = target;
16
+ if (checked) {
17
+ this.facetChecked(name, value, count, negative);
18
+ }
19
+ else {
20
+ this.facetUnchecked(name, value);
21
+ }
22
+ this.dispatchFacetClickEvent(name, this.getFacetState(checked, negative), negative);
23
+ }
24
+ facetChecked(key, value, count, negative) {
25
+ const { selectedFacets } = this;
26
+ let newFacets;
27
+ if (selectedFacets) {
28
+ newFacets = {
29
+ ...selectedFacets,
30
+ };
31
+ }
32
+ else {
33
+ newFacets = getDefaultSelectedFacets();
34
+ }
35
+ newFacets[key][value] = {
36
+ state: this.getFacetState(true, negative),
37
+ count,
38
+ };
39
+ this.selectedFacets = newFacets;
40
+ this.dispatchSelectedFacetsChanged();
41
+ }
42
+ facetUnchecked(key, value) {
43
+ const { selectedFacets } = this;
44
+ let newFacets;
45
+ if (selectedFacets) {
46
+ newFacets = {
47
+ ...selectedFacets,
48
+ };
49
+ }
50
+ else {
51
+ newFacets = getDefaultSelectedFacets();
52
+ }
53
+ delete newFacets[key][value];
54
+ this.selectedFacets = newFacets;
55
+ this.dispatchSelectedFacetsChanged();
56
+ }
57
+ /** Returns the composed facet state corresponding to a positive or negative facet's checked state */
58
+ getFacetState(checked, negative) {
59
+ let state;
60
+ if (checked) {
61
+ state = negative ? 'hidden' : 'selected';
62
+ }
63
+ else {
64
+ state = 'none';
65
+ }
66
+ return state;
67
+ }
68
+ dispatchFacetClickEvent(key, state, negative) {
69
+ const event = new CustomEvent('facetClick', {
70
+ detail: { key, state, negative },
71
+ composed: true,
72
+ });
73
+ this.dispatchEvent(event);
74
+ }
75
+ dispatchSelectedFacetsChanged() {
76
+ const event = new CustomEvent('selectedFacetsChanged', {
77
+ detail: this.selectedFacets,
78
+ bubbles: true,
79
+ composed: true,
80
+ });
81
+ this.dispatchEvent(event);
82
+ }
83
+ getFacetsTemplate(facetGroup) {
84
+ let facetsBucket = facetGroup === null || facetGroup === void 0 ? void 0 : facetGroup.buckets;
85
+ /**
86
+ * sorting FacetBucket before render page / modal
87
+ * - first, selected items should be at top having sorted
88
+ * - second, suppressed/hidden items should be after selected having sorted
89
+ * - and then no-selected / not suppressed items should render having sorted
90
+ */
91
+ facetsBucket = [
92
+ ...facetsBucket
93
+ .filter(x => x.state === 'selected')
94
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
95
+ ...facetsBucket
96
+ .filter(x => x.state === 'hidden')
97
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
98
+ ...facetsBucket.filter(x => x.state === 'none'),
99
+ ];
100
100
  return html `
101
101
  <div class="facets-on-${this.renderOn}">
102
- ${repeat(facetsBucket, bucket => `${facetGroup.key}:${bucket.key}`, bucket => {
103
- var _a, _b;
104
- const showOnlyCheckboxId = `${facetGroup.key}:${bucket.key}-show-only`;
105
- const negativeCheckboxId = `${facetGroup.key}:${bucket.key}-negative`;
106
- // for collections, we need to asynchronously load the collection name
107
- // so we use the `async-collection-name` widget and for the rest, we have
108
- // a static value to use
109
- const bucketTextDisplay = facetGroup.key !== 'collection'
110
- ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
102
+ ${repeat(facetsBucket, bucket => `${facetGroup.key}:${bucket.key}`, bucket => {
103
+ var _a, _b;
104
+ const showOnlyCheckboxId = `${facetGroup.key}:${bucket.key}-show-only`;
105
+ const negativeCheckboxId = `${facetGroup.key}:${bucket.key}-negative`;
106
+ // for collections, we need to asynchronously load the collection name
107
+ // so we use the `async-collection-name` widget and for the rest, we have
108
+ // a static value to use
109
+ const bucketTextDisplay = facetGroup.key !== 'collection'
110
+ ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
111
111
  : html `<a href="${this.collectionPagePath}${bucket.key}">
112
112
  <async-collection-name
113
113
  .collectionNameCache=${this.collectionNameCache}
114
114
  .identifier=${bucket.key}
115
115
  placeholder="-"
116
116
  ></async-collection-name>
117
- </a> `;
118
- const facetHidden = bucket.state === 'hidden';
119
- const facetSelected = bucket.state === 'selected';
120
- const titleText = `${facetGroup.key}: ${(_b = bucket.displayText) !== null && _b !== void 0 ? _b : bucket.key}`;
121
- const onlyShowText = facetSelected
122
- ? `Show all ${facetGroup.key}s`
123
- : `Only show ${titleText}`;
124
- const hideText = `Hide ${titleText}`;
125
- const unhideText = `Unhide ${titleText}`;
126
- const showHideText = facetHidden ? unhideText : hideText;
127
- const ariaLabel = `${titleText}, ${bucket.count} results`;
117
+ </a> `;
118
+ const facetHidden = bucket.state === 'hidden';
119
+ const facetSelected = bucket.state === 'selected';
120
+ const titleText = `${facetGroup.key}: ${(_b = bucket.displayText) !== null && _b !== void 0 ? _b : bucket.key}`;
121
+ const onlyShowText = facetSelected
122
+ ? `Show all ${facetGroup.key}s`
123
+ : `Only show ${titleText}`;
124
+ const hideText = `Hide ${titleText}`;
125
+ const unhideText = `Unhide ${titleText}`;
126
+ const showHideText = facetHidden ? unhideText : hideText;
127
+ const ariaLabel = `${titleText}, ${bucket.count} results`;
128
128
  return html `
129
129
  <div class="facet-row">
130
130
  <div class="facet-checkbox">
@@ -132,8 +132,8 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
132
132
  type="checkbox"
133
133
  .name=${facetGroup.key}
134
134
  .value=${bucket.key}
135
- @click=${(e) => {
136
- this.facetClicked(e, bucket.count, false);
135
+ @click=${(e) => {
136
+ this.facetClicked(e, bucket.count, false);
137
137
  }}
138
138
  .checked=${facetSelected}
139
139
  class="select-facet-checkbox"
@@ -145,8 +145,8 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
145
145
  id=${negativeCheckboxId}
146
146
  .name=${facetGroup.key}
147
147
  .value=${bucket.key}
148
- @click=${(e) => {
149
- this.facetClicked(e, bucket.count, true);
148
+ @click=${(e) => {
149
+ this.facetClicked(e, bucket.count, true);
150
150
  }}
151
151
  .checked=${facetHidden}
152
152
  class="hide-facet-checkbox"
@@ -172,15 +172,15 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
172
172
  </div>
173
173
  </label>
174
174
  </div>
175
- `;
175
+ `;
176
176
  })}
177
177
  </div>
178
- `;
179
- }
180
- render() {
181
- return html `${this.getFacetsTemplate(this.facetGroup)}`;
182
- }
183
- static get styles() {
178
+ `;
179
+ }
180
+ render() {
181
+ return html `${this.getFacetsTemplate(this.facetGroup)}`;
182
+ }
183
+ static get styles() {
184
184
  return css `
185
185
  @media (max-width: 560px) {
186
186
  .facets-on-modal {
@@ -281,26 +281,26 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
281
281
  a:hover {
282
282
  text-decoration: underline;
283
283
  }
284
- `;
285
- }
286
- };
287
- __decorate([
288
- property({ type: Object })
289
- ], FacetsTemplate.prototype, "facetGroup", void 0);
290
- __decorate([
291
- property({ type: Object })
292
- ], FacetsTemplate.prototype, "selectedFacets", void 0);
293
- __decorate([
294
- property({ type: String })
295
- ], FacetsTemplate.prototype, "renderOn", void 0);
296
- __decorate([
297
- property({ type: String })
298
- ], FacetsTemplate.prototype, "collectionPagePath", void 0);
299
- __decorate([
300
- property({ type: Object })
301
- ], FacetsTemplate.prototype, "collectionNameCache", void 0);
302
- FacetsTemplate = __decorate([
303
- customElement('facets-template')
304
- ], FacetsTemplate);
305
- export { FacetsTemplate };
284
+ `;
285
+ }
286
+ };
287
+ __decorate([
288
+ property({ type: Object })
289
+ ], FacetsTemplate.prototype, "facetGroup", void 0);
290
+ __decorate([
291
+ property({ type: Object })
292
+ ], FacetsTemplate.prototype, "selectedFacets", void 0);
293
+ __decorate([
294
+ property({ type: String })
295
+ ], FacetsTemplate.prototype, "renderOn", void 0);
296
+ __decorate([
297
+ property({ type: String })
298
+ ], FacetsTemplate.prototype, "collectionPagePath", void 0);
299
+ __decorate([
300
+ property({ type: Object })
301
+ ], FacetsTemplate.prototype, "collectionNameCache", void 0);
302
+ FacetsTemplate = __decorate([
303
+ customElement('facets-template')
304
+ ], FacetsTemplate);
305
+ export { FacetsTemplate };
306
306
  //# sourceMappingURL=facets-template.js.map
@@ -1,76 +1,77 @@
1
- import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import { Aggregation, SearchServiceInterface, SearchType, AggregationSortType, FilterMap } from '@internetarchive/search-service';
3
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
- import type { ModalManagerInterface } from '@internetarchive/modal-manager';
5
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
6
- import { SelectedFacets, FacetGroup, FacetOption } from '../models';
7
- import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
8
- import './more-facets-pagination';
9
- import './facets-template';
10
- import './toggle-switch';
11
- export declare class MoreFacetsContent extends LitElement {
12
- facetKey?: FacetOption;
13
- facetAggregationKey?: FacetOption;
14
- query?: string;
15
- filterMap?: FilterMap;
16
- modalManager?: ModalManagerInterface;
17
- searchService?: SearchServiceInterface;
18
- searchType?: SearchType;
19
- collectionNameCache?: CollectionNameCacheInterface;
20
- selectedFacets?: SelectedFacets;
21
- sortedBy: AggregationSortType;
22
- analyticsHandler?: AnalyticsManagerInterface;
23
- aggregations?: Record<string, Aggregation>;
24
- facetGroup?: FacetGroup[];
25
- facetGroupTitle?: String;
26
- pageNumber: number;
27
- /**
28
- * Facets are loading on popup
29
- */
30
- facetsLoading: boolean;
31
- paginationSize: number;
32
- facetsType: string;
33
- private facetsPerPage;
34
- updated(changed: PropertyValues): void;
35
- firstUpdated(): void;
36
- /**
37
- * Close more facets modal on Escape click
38
- */
39
- private setupEscapeListeners;
40
- /**
41
- * Get specific facets data from search-service API based of currently query params
42
- * - this.aggregations - hold result of search service and being used for further processing.
43
- */
44
- updateSpecificFacets(): Promise<void>;
45
- private pageNumberClicked;
46
- /**
47
- * Combines the selected facets with the aggregations to create a single list of facets
48
- */
49
- private get mergedFacets();
50
- /**
51
- * Converts the selected facets to a `FacetGroup` array,
52
- * which is easier to work with
53
- */
54
- private get selectedFacetGroups();
55
- /**
56
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
57
- */
58
- private get aggregationFacetGroups();
59
- /**
60
- * for collections, we need to asynchronously load the collection name
61
- * so we use the `async-collection-name` widget and for the rest, we have a static value to use
62
- *
63
- * @param castedBuckets
64
- */
65
- private preloadCollectionNames;
66
- private get getMoreFacetsTemplate();
67
- private get loaderTemplate();
68
- private get facetsPaginationTemplate();
69
- private get footerTemplate();
70
- private sortFacetAggregation;
71
- private get getModalHeaderTemplate();
72
- render(): TemplateResult<1>;
73
- private applySearchFacetsClicked;
74
- private cancelClick;
75
- static get styles(): CSSResultGroup;
76
- }
1
+ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { Aggregation, SearchServiceInterface, SearchType, AggregationSortType, FilterMap } from '@internetarchive/search-service';
3
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
4
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
5
+ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
6
+ import { SelectedFacets, FacetGroup, FacetOption } from '../models';
7
+ import '@internetarchive/ia-activity-indicator/ia-activity-indicator';
8
+ import './more-facets-pagination';
9
+ import './facets-template';
10
+ import './toggle-switch';
11
+ export declare class MoreFacetsContent extends LitElement {
12
+ facetKey?: FacetOption;
13
+ facetAggregationKey?: FacetOption;
14
+ query?: string;
15
+ filterMap?: FilterMap;
16
+ modalManager?: ModalManagerInterface;
17
+ searchService?: SearchServiceInterface;
18
+ searchType?: SearchType;
19
+ withinCollection?: string;
20
+ collectionNameCache?: CollectionNameCacheInterface;
21
+ selectedFacets?: SelectedFacets;
22
+ sortedBy: AggregationSortType;
23
+ analyticsHandler?: AnalyticsManagerInterface;
24
+ aggregations?: Record<string, Aggregation>;
25
+ facetGroup?: FacetGroup[];
26
+ facetGroupTitle?: String;
27
+ pageNumber: number;
28
+ /**
29
+ * Facets are loading on popup
30
+ */
31
+ facetsLoading: boolean;
32
+ paginationSize: number;
33
+ facetsType: string;
34
+ private facetsPerPage;
35
+ updated(changed: PropertyValues): void;
36
+ firstUpdated(): void;
37
+ /**
38
+ * Close more facets modal on Escape click
39
+ */
40
+ private setupEscapeListeners;
41
+ /**
42
+ * Get specific facets data from search-service API based of currently query params
43
+ * - this.aggregations - hold result of search service and being used for further processing.
44
+ */
45
+ updateSpecificFacets(): Promise<void>;
46
+ private pageNumberClicked;
47
+ /**
48
+ * Combines the selected facets with the aggregations to create a single list of facets
49
+ */
50
+ private get mergedFacets();
51
+ /**
52
+ * Converts the selected facets to a `FacetGroup` array,
53
+ * which is easier to work with
54
+ */
55
+ private get selectedFacetGroups();
56
+ /**
57
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
58
+ */
59
+ private get aggregationFacetGroups();
60
+ /**
61
+ * for collections, we need to asynchronously load the collection name
62
+ * so we use the `async-collection-name` widget and for the rest, we have a static value to use
63
+ *
64
+ * @param castedBuckets
65
+ */
66
+ private preloadCollectionNames;
67
+ private get getMoreFacetsTemplate();
68
+ private get loaderTemplate();
69
+ private get facetsPaginationTemplate();
70
+ private get footerTemplate();
71
+ private sortFacetAggregation;
72
+ private get getModalHeaderTemplate();
73
+ render(): TemplateResult<1>;
74
+ private applySearchFacetsClicked;
75
+ private cancelClick;
76
+ static get styles(): CSSResultGroup;
77
+ }