@internetarchive/collection-browser 1.8.0 → 1.9.0-alpha2

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 (269) 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 +1677 -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 -77
  79. package/dist/src/collection-facets/more-facets-content.js +359 -359
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  82. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  83. package/dist/src/collection-facets/toggle-switch.js +94 -94
  84. package/dist/src/collection-facets.d.ts +99 -99
  85. package/dist/src/collection-facets.js +471 -471
  86. package/dist/src/empty-placeholder.d.ts +21 -21
  87. package/dist/src/empty-placeholder.js +69 -69
  88. package/dist/src/expanded-date-picker.d.ts +43 -43
  89. package/dist/src/expanded-date-picker.js +109 -109
  90. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  91. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  92. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  93. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  94. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  95. package/dist/src/mediatype/mediatype-config.js +85 -85
  96. package/dist/src/models.d.ts +162 -149
  97. package/dist/src/models.js +256 -195
  98. package/dist/src/models.js.map +1 -1
  99. package/dist/src/restoration-state-handler.d.ts +70 -63
  100. package/dist/src/restoration-state-handler.js +355 -326
  101. package/dist/src/restoration-state-handler.js.map +1 -1
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  103. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  104. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  105. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  106. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  108. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/list.js +2 -2
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  112. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  118. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  120. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +201 -199
  121. package/dist/src/sort-filter-bar/sort-filter-bar.js +622 -617
  122. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  123. package/dist/src/styles/item-image-styles.d.ts +8 -8
  124. package/dist/src/styles/item-image-styles.js +9 -9
  125. package/dist/src/styles/sr-only.d.ts +1 -1
  126. package/dist/src/styles/sr-only.js +2 -2
  127. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  128. package/dist/src/tiles/base-tile-component.js +59 -59
  129. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  130. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  131. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  132. package/dist/src/tiles/grid/account-tile.js +72 -72
  133. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  134. package/dist/src/tiles/grid/collection-tile.js +80 -80
  135. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  136. package/dist/src/tiles/grid/item-tile.js +134 -134
  137. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  138. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  139. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  140. package/dist/src/tiles/grid/tile-stats.js +48 -48
  141. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  142. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  143. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  144. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  145. package/dist/src/tiles/image-block.d.ts +17 -17
  146. package/dist/src/tiles/image-block.js +72 -72
  147. package/dist/src/tiles/item-image.d.ts +35 -35
  148. package/dist/src/tiles/item-image.js +117 -117
  149. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  150. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  151. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  152. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  153. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  154. package/dist/src/tiles/list/tile-list.js +298 -298
  155. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  156. package/dist/src/tiles/mediatype-icon.js +47 -47
  157. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  158. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  159. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  160. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  161. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  162. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  163. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  164. package/dist/src/tiles/text-snippet-block.js +73 -73
  165. package/dist/src/tiles/tile-dispatcher.d.ts +50 -50
  166. package/dist/src/tiles/tile-dispatcher.js +185 -185
  167. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  168. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  169. package/dist/src/utils/analytics-events.d.ts +24 -24
  170. package/dist/src/utils/analytics-events.js +26 -26
  171. package/dist/src/utils/array-equals.d.ts +4 -4
  172. package/dist/src/utils/array-equals.js +10 -10
  173. package/dist/src/utils/format-count.d.ts +7 -7
  174. package/dist/src/utils/format-count.js +76 -76
  175. package/dist/src/utils/format-date.d.ts +2 -2
  176. package/dist/src/utils/format-date.js +25 -25
  177. package/dist/src/utils/format-unit-size.d.ts +2 -2
  178. package/dist/src/utils/format-unit-size.js +33 -33
  179. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  180. package/dist/src/utils/local-date-from-utc.js +15 -15
  181. package/dist/src/utils/sha1.d.ts +2 -2
  182. package/dist/src/utils/sha1.js +8 -8
  183. package/dist/test/collection-browser.test.d.ts +1 -1
  184. package/dist/test/collection-browser.test.js +808 -808
  185. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  186. package/dist/test/collection-facets/facets-template.test.js +134 -134
  187. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  188. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  189. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  190. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  191. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  192. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  193. package/dist/test/collection-facets.test.d.ts +2 -2
  194. package/dist/test/collection-facets.test.js +645 -645
  195. package/dist/test/empty-placeholder.test.d.ts +1 -1
  196. package/dist/test/empty-placeholder.test.js +56 -56
  197. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  198. package/dist/test/expanded-date-picker.test.js +95 -95
  199. package/dist/test/icon-overlay.test.d.ts +1 -1
  200. package/dist/test/icon-overlay.test.js +24 -24
  201. package/dist/test/image-block.test.d.ts +1 -1
  202. package/dist/test/image-block.test.js +48 -48
  203. package/dist/test/item-image.test.d.ts +1 -1
  204. package/dist/test/item-image.test.js +84 -84
  205. package/dist/test/mediatype-config.test.d.ts +1 -1
  206. package/dist/test/mediatype-config.test.js +16 -16
  207. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  208. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  209. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  210. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  211. package/dist/test/mocks/mock-search-responses.d.ts +19 -19
  212. package/dist/test/mocks/mock-search-responses.js +623 -623
  213. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  214. package/dist/test/mocks/mock-search-service.js +48 -48
  215. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  216. package/dist/test/restoration-state-handler.test.js +270 -218
  217. package/dist/test/restoration-state-handler.test.js.map +1 -1
  218. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  219. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  220. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  221. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  223. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  224. package/dist/test/text-overlay.test.d.ts +1 -1
  225. package/dist/test/text-overlay.test.js +48 -48
  226. package/dist/test/text-snippet-block.test.d.ts +1 -1
  227. package/dist/test/text-snippet-block.test.js +57 -57
  228. package/dist/test/tile-stats.test.d.ts +1 -1
  229. package/dist/test/tile-stats.test.js +33 -33
  230. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  231. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  232. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  233. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  234. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  235. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  236. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  237. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  238. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  239. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  240. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  241. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  242. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  243. package/dist/test/tiles/list/tile-list.test.js +242 -242
  244. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  245. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  246. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  247. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  248. package/dist/test/utils/array-equals.test.d.ts +1 -1
  249. package/dist/test/utils/array-equals.test.js +26 -26
  250. package/dist/test/utils/format-count.test.d.ts +1 -1
  251. package/dist/test/utils/format-count.test.js +23 -23
  252. package/dist/test/utils/format-date.test.d.ts +1 -1
  253. package/dist/test/utils/format-date.test.js +17 -17
  254. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  255. package/dist/test/utils/format-unit-size.test.js +17 -17
  256. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  257. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  258. package/local.archive.org.cert +86 -86
  259. package/local.archive.org.key +27 -27
  260. package/package.json +1 -1
  261. package/renovate.json +6 -6
  262. package/src/collection-browser.ts +42 -8
  263. package/src/models.ts +193 -109
  264. package/src/restoration-state-handler.ts +66 -40
  265. package/src/sort-filter-bar/sort-filter-bar.ts +34 -27
  266. package/test/restoration-state-handler.test.ts +68 -1
  267. package/tsconfig.json +21 -21
  268. package/web-dev-server.config.mjs +30 -30
  269. 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,77 +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
- 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
- }
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
+ }