@internetarchive/collection-browser 1.13.0-alpha2 → 1.14.0

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 (287) 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 +64 -54
  12. package/dist/src/app-root.js +320 -293
  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/contract.d.ts +2 -2
  21. package/dist/src/assets/img/icons/contract.js +2 -2
  22. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  23. package/dist/src/assets/img/icons/empty-query.js +2 -2
  24. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  25. package/dist/src/assets/img/icons/expand.js +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  27. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  28. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  29. package/dist/src/assets/img/icons/eye.js +2 -2
  30. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  31. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  32. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  33. package/dist/src/assets/img/icons/login-required.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  60. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  61. package/dist/src/assets/img/icons/null-result.js +2 -2
  62. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  63. package/dist/src/assets/img/icons/restricted.js +2 -2
  64. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  65. package/dist/src/assets/img/icons/reviews.js +2 -2
  66. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  67. package/dist/src/assets/img/icons/upload.js +2 -2
  68. package/dist/src/assets/img/icons/views.d.ts +1 -1
  69. package/dist/src/assets/img/icons/views.js +2 -2
  70. package/dist/src/circular-activity-indicator.d.ts +5 -5
  71. package/dist/src/circular-activity-indicator.js +17 -17
  72. package/dist/src/collection-browser.d.ts +522 -473
  73. package/dist/src/collection-browser.js +1846 -1697
  74. package/dist/src/collection-browser.js.map +1 -1
  75. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  76. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  77. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  78. package/dist/src/collection-facets/facets-template.js +152 -152
  79. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  80. package/dist/src/collection-facets/more-facets-content.js +359 -359
  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 +104 -103
  86. package/dist/src/collection-facets.js +511 -498
  87. package/dist/src/collection-facets.js.map +1 -1
  88. package/dist/src/empty-placeholder.d.ts +23 -23
  89. package/dist/src/empty-placeholder.js +74 -74
  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/manage/manage-bar.d.ts +26 -0
  97. package/dist/src/manage/manage-bar.js +147 -0
  98. package/dist/src/manage/manage-bar.js.map +1 -0
  99. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  100. package/dist/src/mediatype/mediatype-config.js +85 -85
  101. package/dist/src/models.d.ts +164 -163
  102. package/dist/src/models.js +269 -269
  103. package/dist/src/models.js.map +1 -1
  104. package/dist/src/restoration-state-handler.d.ts +70 -70
  105. package/dist/src/restoration-state-handler.js +355 -355
  106. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  107. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  108. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  109. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  110. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  112. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/list.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  118. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  120. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  122. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  124. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  125. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  126. package/dist/src/styles/item-image-styles.d.ts +8 -8
  127. package/dist/src/styles/item-image-styles.js +9 -9
  128. package/dist/src/styles/sr-only.d.ts +1 -1
  129. package/dist/src/styles/sr-only.js +2 -2
  130. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  131. package/dist/src/tiles/base-tile-component.js +59 -59
  132. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  133. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  134. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  135. package/dist/src/tiles/grid/account-tile.js +72 -72
  136. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  137. package/dist/src/tiles/grid/collection-tile.js +80 -80
  138. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  139. package/dist/src/tiles/grid/item-tile.js +134 -134
  140. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  141. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  142. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  143. package/dist/src/tiles/grid/tile-stats.js +48 -48
  144. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  145. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  146. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  147. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  148. package/dist/src/tiles/image-block.d.ts +17 -17
  149. package/dist/src/tiles/image-block.js +72 -72
  150. package/dist/src/tiles/item-image.d.ts +35 -35
  151. package/dist/src/tiles/item-image.js +117 -117
  152. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  153. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  154. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  155. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  156. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  157. package/dist/src/tiles/list/tile-list.js +298 -298
  158. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  159. package/dist/src/tiles/mediatype-icon.js +47 -47
  160. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  161. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  162. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  163. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  164. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  165. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  166. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  167. package/dist/src/tiles/text-snippet-block.js +73 -73
  168. package/dist/src/tiles/tile-dispatcher.d.ts +63 -50
  169. package/dist/src/tiles/tile-dispatcher.js +255 -187
  170. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  171. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  172. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  173. package/dist/src/utils/analytics-events.d.ts +25 -25
  174. package/dist/src/utils/analytics-events.js +27 -27
  175. package/dist/src/utils/array-equals.d.ts +4 -4
  176. package/dist/src/utils/array-equals.js +10 -10
  177. package/dist/src/utils/format-count.d.ts +7 -7
  178. package/dist/src/utils/format-count.js +76 -76
  179. package/dist/src/utils/format-date.d.ts +2 -2
  180. package/dist/src/utils/format-date.js +25 -25
  181. package/dist/src/utils/format-unit-size.d.ts +2 -2
  182. package/dist/src/utils/format-unit-size.js +33 -33
  183. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  184. package/dist/src/utils/local-date-from-utc.js +15 -15
  185. package/dist/src/utils/sha1.d.ts +2 -2
  186. package/dist/src/utils/sha1.js +8 -8
  187. package/dist/test/collection-browser.test.d.ts +1 -1
  188. package/dist/test/collection-browser.test.js +1122 -979
  189. package/dist/test/collection-browser.test.js.map +1 -1
  190. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  191. package/dist/test/collection-facets/facets-template.test.js +134 -134
  192. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  193. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  194. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  195. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  196. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  197. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  198. package/dist/test/collection-facets.test.d.ts +2 -2
  199. package/dist/test/collection-facets.test.js +682 -682
  200. package/dist/test/empty-placeholder.test.d.ts +1 -1
  201. package/dist/test/empty-placeholder.test.js +63 -63
  202. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  203. package/dist/test/expanded-date-picker.test.js +95 -95
  204. package/dist/test/icon-overlay.test.d.ts +1 -1
  205. package/dist/test/icon-overlay.test.js +24 -24
  206. package/dist/test/image-block.test.d.ts +1 -1
  207. package/dist/test/image-block.test.js +48 -48
  208. package/dist/test/item-image.test.d.ts +1 -1
  209. package/dist/test/item-image.test.js +86 -84
  210. package/dist/test/item-image.test.js.map +1 -1
  211. package/dist/test/manage/manage-bar.test.d.ts +1 -0
  212. package/dist/test/manage/manage-bar.test.js +73 -0
  213. package/dist/test/manage/manage-bar.test.js.map +1 -0
  214. package/dist/test/mediatype-config.test.d.ts +1 -1
  215. package/dist/test/mediatype-config.test.js +16 -16
  216. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  217. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  218. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  219. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  220. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  221. package/dist/test/mocks/mock-search-responses.js +709 -707
  222. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  223. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  224. package/dist/test/mocks/mock-search-service.js +50 -50
  225. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  226. package/dist/test/restoration-state-handler.test.js +270 -270
  227. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  228. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  229. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  230. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  231. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  232. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  233. package/dist/test/text-overlay.test.d.ts +1 -1
  234. package/dist/test/text-overlay.test.js +48 -48
  235. package/dist/test/text-snippet-block.test.d.ts +1 -1
  236. package/dist/test/text-snippet-block.test.js +57 -57
  237. package/dist/test/tile-stats.test.d.ts +1 -1
  238. package/dist/test/tile-stats.test.js +33 -33
  239. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  240. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  241. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  242. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  243. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  244. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  245. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  246. package/dist/test/tiles/hover/hover-pane-controller.test.js +258 -257
  247. package/dist/test/tiles/hover/hover-pane-controller.test.js.map +1 -1
  248. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  249. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  250. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  251. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  252. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  253. package/dist/test/tiles/list/tile-list.test.js +242 -242
  254. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  255. package/dist/test/tiles/tile-dispatcher.test.js +107 -67
  256. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -1
  257. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  258. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  259. package/dist/test/utils/array-equals.test.d.ts +1 -1
  260. package/dist/test/utils/array-equals.test.js +26 -26
  261. package/dist/test/utils/format-count.test.d.ts +1 -1
  262. package/dist/test/utils/format-count.test.js +23 -23
  263. package/dist/test/utils/format-date.test.d.ts +1 -1
  264. package/dist/test/utils/format-date.test.js +17 -17
  265. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  266. package/dist/test/utils/format-unit-size.test.js +17 -17
  267. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  268. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  269. package/local.archive.org.cert +86 -86
  270. package/local.archive.org.key +27 -27
  271. package/package.json +2 -2
  272. package/renovate.json +6 -6
  273. package/src/app-root.ts +29 -0
  274. package/src/collection-browser.ts +197 -23
  275. package/src/collection-facets.ts +13 -1
  276. package/src/manage/manage-bar.ts +151 -0
  277. package/src/models.ts +1 -0
  278. package/src/tiles/tile-dispatcher.ts +71 -5
  279. package/test/collection-browser.test.ts +198 -1
  280. package/test/item-image.test.ts +2 -0
  281. package/test/manage/manage-bar.test.ts +107 -0
  282. package/test/mocks/mock-search-responses.ts +2 -0
  283. package/test/tiles/hover/hover-pane-controller.test.ts +1 -0
  284. package/test/tiles/tile-dispatcher.test.ts +52 -0
  285. package/tsconfig.json +21 -21
  286. package/web-dev-server.config.mjs +30 -30
  287. 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
+ }