@internetarchive/collection-browser 2.3.0 → 2.4.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 (299) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +91 -91
  8. package/dist/src/app-root.js +487 -487
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.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 +466 -466
  72. package/dist/src/collection-browser.js +1475 -1475
  73. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  74. package/dist/src/collection-facets/facet-row.js +114 -114
  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 +17 -17
  78. package/dist/src/collection-facets/facets-template.js +114 -114
  79. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  80. package/dist/src/collection-facets/more-facets-content.js +360 -360
  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 +103 -103
  86. package/dist/src/collection-facets.js +510 -510
  87. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  88. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  89. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
  90. package/dist/src/data-source/collection-browser-data-source.js +985 -985
  91. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  92. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  93. package/dist/src/data-source/models.d.ts +28 -28
  94. package/dist/src/data-source/models.js +8 -8
  95. package/dist/src/empty-placeholder.d.ts +23 -23
  96. package/dist/src/empty-placeholder.js +74 -74
  97. package/dist/src/expanded-date-picker.d.ts +43 -43
  98. package/dist/src/expanded-date-picker.js +109 -109
  99. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  100. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  101. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  102. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  103. package/dist/src/manage/manage-bar.d.ts +30 -30
  104. package/dist/src/manage/manage-bar.js +61 -61
  105. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  106. package/dist/src/mediatype/mediatype-config.js +91 -91
  107. package/dist/src/models.d.ts +209 -209
  108. package/dist/src/models.js +381 -381
  109. package/dist/src/restoration-state-handler.d.ts +70 -70
  110. package/dist/src/restoration-state-handler.js +357 -357
  111. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  112. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  113. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  114. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  115. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  116. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  117. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  118. package/dist/src/sort-filter-bar/img/list.js +2 -2
  119. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  121. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  127. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  129. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +222 -222
  130. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -696
  131. package/dist/src/styles/ia-button.d.ts +2 -2
  132. package/dist/src/styles/ia-button.js +16 -16
  133. package/dist/src/styles/item-image-styles.d.ts +8 -8
  134. package/dist/src/styles/item-image-styles.js +9 -9
  135. package/dist/src/styles/sr-only.d.ts +1 -1
  136. package/dist/src/styles/sr-only.js +2 -2
  137. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  138. package/dist/src/tiles/base-tile-component.js +63 -63
  139. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  140. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  141. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  142. package/dist/src/tiles/grid/account-tile.js +72 -72
  143. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  144. package/dist/src/tiles/grid/collection-tile.js +80 -80
  145. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  146. package/dist/src/tiles/grid/item-tile.js +149 -149
  147. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  148. package/dist/src/tiles/grid/search-tile.js +51 -51
  149. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  150. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  151. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  152. package/dist/src/tiles/grid/tile-stats.js +53 -53
  153. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  154. package/dist/src/tiles/hover/hover-pane-controller.js +354 -352
  155. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  156. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -15
  157. package/dist/src/tiles/hover/tile-hover-pane.js +127 -47
  158. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  159. package/dist/src/tiles/image-block.d.ts +17 -17
  160. package/dist/src/tiles/image-block.js +74 -74
  161. package/dist/src/tiles/image-block.js.map +1 -1
  162. package/dist/src/tiles/item-image.d.ts +39 -39
  163. package/dist/src/tiles/item-image.js +154 -154
  164. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  165. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  166. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  167. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  168. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  169. package/dist/src/tiles/list/tile-list.js +315 -315
  170. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  171. package/dist/src/tiles/mediatype-icon.js +47 -47
  172. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  173. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  174. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  175. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  176. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  177. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  178. package/dist/src/tiles/review-block.d.ts +12 -12
  179. package/dist/src/tiles/review-block.js +56 -56
  180. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  181. package/dist/src/tiles/text-snippet-block.js +73 -73
  182. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  183. package/dist/src/tiles/tile-dispatcher.js +229 -229
  184. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  185. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  186. package/dist/src/utils/analytics-events.d.ts +28 -28
  187. package/dist/src/utils/analytics-events.js +30 -30
  188. package/dist/src/utils/array-equals.d.ts +4 -4
  189. package/dist/src/utils/array-equals.js +10 -10
  190. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  191. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  192. package/dist/src/utils/format-count.d.ts +7 -7
  193. package/dist/src/utils/format-count.js +76 -76
  194. package/dist/src/utils/format-date.d.ts +2 -2
  195. package/dist/src/utils/format-date.js +25 -25
  196. package/dist/src/utils/format-unit-size.d.ts +2 -2
  197. package/dist/src/utils/format-unit-size.js +33 -33
  198. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  199. package/dist/src/utils/local-date-from-utc.js +15 -15
  200. package/dist/src/utils/log.d.ts +7 -7
  201. package/dist/src/utils/log.js +15 -15
  202. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  203. package/dist/src/utils/resolve-mediatype.js +23 -23
  204. package/dist/src/utils/sha1.d.ts +2 -2
  205. package/dist/src/utils/sha1.js +8 -8
  206. package/dist/test/collection-browser.test.d.ts +1 -1
  207. package/dist/test/collection-browser.test.js +1293 -1293
  208. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  209. package/dist/test/collection-facets/facet-row.test.js +203 -203
  210. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  211. package/dist/test/collection-facets/facets-template.test.js +105 -105
  212. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  213. package/dist/test/collection-facets/more-facets-content.test.js +139 -139
  214. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  215. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  216. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  217. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  218. package/dist/test/collection-facets.test.d.ts +2 -2
  219. package/dist/test/collection-facets.test.js +652 -652
  220. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  221. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  222. package/dist/test/empty-placeholder.test.d.ts +1 -1
  223. package/dist/test/empty-placeholder.test.js +63 -63
  224. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  225. package/dist/test/expanded-date-picker.test.js +95 -95
  226. package/dist/test/icon-overlay.test.d.ts +1 -1
  227. package/dist/test/icon-overlay.test.js +24 -24
  228. package/dist/test/image-block.test.d.ts +1 -1
  229. package/dist/test/image-block.test.js +48 -48
  230. package/dist/test/item-image.test.d.ts +1 -1
  231. package/dist/test/item-image.test.js +85 -85
  232. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  233. package/dist/test/manage/manage-bar.test.js +81 -81
  234. package/dist/test/mediatype-config.test.d.ts +1 -1
  235. package/dist/test/mediatype-config.test.js +16 -16
  236. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  237. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  238. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  239. package/dist/test/mocks/mock-search-responses.js +860 -860
  240. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  241. package/dist/test/mocks/mock-search-service.js +53 -53
  242. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  243. package/dist/test/restoration-state-handler.test.js +270 -270
  244. package/dist/test/review-block.test.d.ts +1 -1
  245. package/dist/test/review-block.test.js +44 -44
  246. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  247. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  248. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  250. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  251. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  252. package/dist/test/text-overlay.test.d.ts +1 -1
  253. package/dist/test/text-overlay.test.js +48 -48
  254. package/dist/test/text-snippet-block.test.d.ts +1 -1
  255. package/dist/test/text-snippet-block.test.js +57 -57
  256. package/dist/test/tile-stats.test.d.ts +1 -1
  257. package/dist/test/tile-stats.test.js +81 -81
  258. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  259. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  260. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  261. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  262. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  263. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  264. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  265. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  266. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  267. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  268. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  269. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -13
  270. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  271. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  272. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  273. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list.test.js +297 -297
  275. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  276. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  277. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  279. package/dist/test/utils/array-equals.test.d.ts +1 -1
  280. package/dist/test/utils/array-equals.test.js +26 -26
  281. package/dist/test/utils/format-count.test.d.ts +1 -1
  282. package/dist/test/utils/format-count.test.js +23 -23
  283. package/dist/test/utils/format-date.test.d.ts +1 -1
  284. package/dist/test/utils/format-date.test.js +17 -17
  285. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  286. package/dist/test/utils/format-unit-size.test.js +17 -17
  287. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  288. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  289. package/local.archive.org.cert +86 -86
  290. package/local.archive.org.key +27 -27
  291. package/package.json +1 -1
  292. package/renovate.json +6 -6
  293. package/src/tiles/hover/hover-pane-controller.ts +2 -0
  294. package/src/tiles/hover/tile-hover-pane.ts +100 -11
  295. package/src/tiles/image-block.ts +1 -1
  296. package/test/tiles/hover/tile-hover-pane.test.ts +61 -0
  297. package/tsconfig.json +21 -21
  298. package/web-dev-server.config.mjs +30 -30
  299. package/web-test-runner.config.mjs +41 -41
@@ -1,30 +1,30 @@
1
- import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
- import type { FacetOption, FacetBucket, FacetState } from '../models';
3
- import type { CollectionTitles } from '../data-source/models';
4
- export declare class FacetRow extends LitElement {
5
- /** The name of the facet group to which this facet belongs (e.g., "mediatype") */
6
- facetType?: FacetOption;
7
- /** The facet bucket containing details about the state, count, and key for this row */
8
- bucket?: FacetBucket;
9
- /** The collection name cache for converting collection identifiers to titles */
10
- collectionTitles?: CollectionTitles;
11
- render(): TemplateResult<1>;
12
- /**
13
- * Template for the full facet row, including the positive/negative checks,
14
- * the display name, and the count.
15
- */
16
- private get facetRowTemplate();
17
- /**
18
- * Handler for whenever this facet is clicked & its state changes
19
- */
20
- private facetClicked;
21
- /**
22
- * Emits a `facetClick` event with details about this facet & its current state
23
- */
24
- private dispatchFacetClickEvent;
25
- /**
26
- * Returns the composed facet state corresponding to a positive or negative facet's checked state
27
- */
28
- static getFacetState(checked: boolean, negative: boolean): FacetState;
29
- static get styles(): CSSResultGroup;
30
- }
1
+ import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
+ import type { FacetOption, FacetBucket, FacetState } from '../models';
3
+ import type { CollectionTitles } from '../data-source/models';
4
+ export declare class FacetRow extends LitElement {
5
+ /** The name of the facet group to which this facet belongs (e.g., "mediatype") */
6
+ facetType?: FacetOption;
7
+ /** The facet bucket containing details about the state, count, and key for this row */
8
+ bucket?: FacetBucket;
9
+ /** The collection name cache for converting collection identifiers to titles */
10
+ collectionTitles?: CollectionTitles;
11
+ render(): TemplateResult<1>;
12
+ /**
13
+ * Template for the full facet row, including the positive/negative checks,
14
+ * the display name, and the count.
15
+ */
16
+ private get facetRowTemplate();
17
+ /**
18
+ * Handler for whenever this facet is clicked & its state changes
19
+ */
20
+ private facetClicked;
21
+ /**
22
+ * Emits a `facetClick` event with details about this facet & its current state
23
+ */
24
+ private dispatchFacetClickEvent;
25
+ /**
26
+ * Returns the composed facet state corresponding to a positive or negative facet's checked state
27
+ */
28
+ static getFacetState(checked: boolean, negative: boolean): FacetState;
29
+ static get styles(): CSSResultGroup;
30
+ }
@@ -1,47 +1,47 @@
1
- var FacetRow_1;
2
- import { __decorate } from "tslib";
3
- import { css, html, LitElement, nothing, } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import eyeIcon from '../assets/img/icons/eye';
6
- import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
- let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
8
- //
9
- // COMPONENT LIFECYCLE METHODS
10
- //
11
- render() {
12
- return html `${this.facetRowTemplate}`;
13
- }
14
- //
15
- // TEMPLATE GETTERS
16
- //
17
- /**
18
- * Template for the full facet row, including the positive/negative checks,
19
- * the display name, and the count.
20
- */
21
- get facetRowTemplate() {
22
- var _a, _b, _c, _d;
23
- const { bucket, facetType } = this;
24
- if (!bucket || !facetType)
25
- return nothing;
26
- const showOnlyCheckboxId = `${facetType}:${bucket.key}-show-only`;
27
- const negativeCheckboxId = `${facetType}:${bucket.key}-negative`;
28
- // For collections, we render the collection title as a link.
29
- // For other facet types, we just have a static value to use.
30
- const bucketTextDisplay = facetType !== 'collection'
31
- ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
1
+ var FacetRow_1;
2
+ import { __decorate } from "tslib";
3
+ import { css, html, LitElement, nothing, } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import eyeIcon from '../assets/img/icons/eye';
6
+ import eyeClosedIcon from '../assets/img/icons/eye-closed';
7
+ let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
8
+ //
9
+ // COMPONENT LIFECYCLE METHODS
10
+ //
11
+ render() {
12
+ return html `${this.facetRowTemplate}`;
13
+ }
14
+ //
15
+ // TEMPLATE GETTERS
16
+ //
17
+ /**
18
+ * Template for the full facet row, including the positive/negative checks,
19
+ * the display name, and the count.
20
+ */
21
+ get facetRowTemplate() {
22
+ var _a, _b, _c, _d;
23
+ const { bucket, facetType } = this;
24
+ if (!bucket || !facetType)
25
+ return nothing;
26
+ const showOnlyCheckboxId = `${facetType}:${bucket.key}-show-only`;
27
+ const negativeCheckboxId = `${facetType}:${bucket.key}-negative`;
28
+ // For collections, we render the collection title as a link.
29
+ // For other facet types, we just have a static value to use.
30
+ const bucketTextDisplay = facetType !== 'collection'
31
+ ? html `${(_a = bucket.displayText) !== null && _a !== void 0 ? _a : bucket.key}`
32
32
  : html `<a href="/details/${bucket.key}">
33
33
  ${(_c = (_b = this.collectionTitles) === null || _b === void 0 ? void 0 : _b.get(bucket.key)) !== null && _c !== void 0 ? _c : bucket.key}
34
- </a> `;
35
- const facetHidden = bucket.state === 'hidden';
36
- const facetSelected = bucket.state === 'selected';
37
- const titleText = `${facetType}: ${(_d = bucket.displayText) !== null && _d !== void 0 ? _d : bucket.key}`;
38
- const onlyShowText = facetSelected
39
- ? `Show all ${facetType}s`
40
- : `Only show ${titleText}`;
41
- const hideText = `Hide ${titleText}`;
42
- const unhideText = `Unhide ${titleText}`;
43
- const showHideText = facetHidden ? unhideText : hideText;
44
- const ariaLabel = `${titleText}, ${bucket.count} results`;
34
+ </a> `;
35
+ const facetHidden = bucket.state === 'hidden';
36
+ const facetSelected = bucket.state === 'selected';
37
+ const titleText = `${facetType}: ${(_d = bucket.displayText) !== null && _d !== void 0 ? _d : bucket.key}`;
38
+ const onlyShowText = facetSelected
39
+ ? `Show all ${facetType}s`
40
+ : `Only show ${titleText}`;
41
+ const hideText = `Hide ${titleText}`;
42
+ const unhideText = `Unhide ${titleText}`;
43
+ const showHideText = facetHidden ? unhideText : hideText;
44
+ const ariaLabel = `${titleText}, ${bucket.count} results`;
45
45
  return html `
46
46
  <div class="facet-row-container">
47
47
  <div class="facet-checkboxes">
@@ -49,8 +49,8 @@ let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
49
49
  type="checkbox"
50
50
  .name=${facetType}
51
51
  .value=${bucket.key}
52
- @click=${(e) => {
53
- this.facetClicked(e, false);
52
+ @click=${(e) => {
53
+ this.facetClicked(e, false);
54
54
  }}
55
55
  .checked=${facetSelected}
56
56
  class="select-facet-checkbox"
@@ -62,8 +62,8 @@ let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
62
62
  id=${negativeCheckboxId}
63
63
  .name=${facetType}
64
64
  .value=${bucket.key}
65
- @click=${(e) => {
66
- this.facetClicked(e, true);
65
+ @click=${(e) => {
66
+ this.facetClicked(e, true);
67
67
  }}
68
68
  .checked=${facetHidden}
69
69
  class="hide-facet-checkbox"
@@ -87,58 +87,58 @@ let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
87
87
  <div class="facet-count">${bucket.count.toLocaleString()}</div>
88
88
  </label>
89
89
  </div>
90
- `;
91
- }
92
- //
93
- // EVENT HANDLERS & DISPATCHERS
94
- //
95
- /**
96
- * Handler for whenever this facet is clicked & its state changes
97
- */
98
- facetClicked(e, negative) {
99
- const { bucket, facetType } = this;
100
- if (!bucket || !facetType)
101
- return;
102
- const target = e.target;
103
- const { checked } = target;
104
- bucket.state = FacetRow_1.getFacetState(checked, negative);
105
- this.dispatchFacetClickEvent({
106
- facetType,
107
- bucket,
108
- negative,
109
- });
110
- }
111
- /**
112
- * Emits a `facetClick` event with details about this facet & its current state
113
- */
114
- dispatchFacetClickEvent(detail) {
115
- const event = new CustomEvent('facetClick', {
116
- detail,
117
- });
118
- this.dispatchEvent(event);
119
- }
120
- //
121
- // OTHER METHODS
122
- //
123
- /**
124
- * Returns the composed facet state corresponding to a positive or negative facet's checked state
125
- */
126
- static getFacetState(checked, negative) {
127
- let state;
128
- if (checked) {
129
- state = negative ? 'hidden' : 'selected';
130
- }
131
- else {
132
- state = 'none';
133
- }
134
- return state;
135
- }
136
- //
137
- // STYLES
138
- //
139
- static get styles() {
140
- const facetRowBorderTop = css `var(--facet-row-border-top, 1px solid transparent)`;
141
- const facetRowBorderBottom = css `var(--facet-row-border-bottom, 1px solid transparent)`;
90
+ `;
91
+ }
92
+ //
93
+ // EVENT HANDLERS & DISPATCHERS
94
+ //
95
+ /**
96
+ * Handler for whenever this facet is clicked & its state changes
97
+ */
98
+ facetClicked(e, negative) {
99
+ const { bucket, facetType } = this;
100
+ if (!bucket || !facetType)
101
+ return;
102
+ const target = e.target;
103
+ const { checked } = target;
104
+ bucket.state = FacetRow_1.getFacetState(checked, negative);
105
+ this.dispatchFacetClickEvent({
106
+ facetType,
107
+ bucket,
108
+ negative,
109
+ });
110
+ }
111
+ /**
112
+ * Emits a `facetClick` event with details about this facet & its current state
113
+ */
114
+ dispatchFacetClickEvent(detail) {
115
+ const event = new CustomEvent('facetClick', {
116
+ detail,
117
+ });
118
+ this.dispatchEvent(event);
119
+ }
120
+ //
121
+ // OTHER METHODS
122
+ //
123
+ /**
124
+ * Returns the composed facet state corresponding to a positive or negative facet's checked state
125
+ */
126
+ static getFacetState(checked, negative) {
127
+ let state;
128
+ if (checked) {
129
+ state = negative ? 'hidden' : 'selected';
130
+ }
131
+ else {
132
+ state = 'none';
133
+ }
134
+ return state;
135
+ }
136
+ //
137
+ // STYLES
138
+ //
139
+ static get styles() {
140
+ const facetRowBorderTop = css `var(--facet-row-border-top, 1px solid transparent)`;
141
+ const facetRowBorderBottom = css `var(--facet-row-border-bottom, 1px solid transparent)`;
142
142
  return css `
143
143
  async-collection-name {
144
144
  display: contents;
@@ -221,20 +221,20 @@ let FacetRow = FacetRow_1 = class FacetRow extends LitElement {
221
221
  a:hover {
222
222
  text-decoration: underline;
223
223
  }
224
- `;
225
- }
226
- };
227
- __decorate([
228
- property({ type: String })
229
- ], FacetRow.prototype, "facetType", void 0);
230
- __decorate([
231
- property({ type: Object })
232
- ], FacetRow.prototype, "bucket", void 0);
233
- __decorate([
234
- property({ type: Object })
235
- ], FacetRow.prototype, "collectionTitles", void 0);
236
- FacetRow = FacetRow_1 = __decorate([
237
- customElement('facet-row')
238
- ], FacetRow);
239
- export { FacetRow };
224
+ `;
225
+ }
226
+ };
227
+ __decorate([
228
+ property({ type: String })
229
+ ], FacetRow.prototype, "facetType", void 0);
230
+ __decorate([
231
+ property({ type: Object })
232
+ ], FacetRow.prototype, "bucket", void 0);
233
+ __decorate([
234
+ property({ type: Object })
235
+ ], FacetRow.prototype, "collectionTitles", void 0);
236
+ FacetRow = FacetRow_1 = __decorate([
237
+ customElement('facet-row')
238
+ ], FacetRow);
239
+ export { FacetRow };
240
240
  //# sourceMappingURL=facet-row.js.map
@@ -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,17 +1,17 @@
1
- import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
- import { FacetGroup, SelectedFacets } from '../models';
3
- import type { CollectionTitles } from '../data-source/models';
4
- export declare class FacetsTemplate extends LitElement {
5
- facetGroup?: FacetGroup;
6
- selectedFacets?: SelectedFacets;
7
- renderOn?: string;
8
- collectionTitles?: CollectionTitles;
9
- private facetClicked;
10
- private facetChecked;
11
- private facetUnchecked;
12
- private dispatchFacetClickEvent;
13
- private dispatchSelectedFacetsChanged;
14
- private get facetsTemplate();
15
- render(): TemplateResult<1>;
16
- static get styles(): CSSResultGroup;
17
- }
1
+ import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
+ import { FacetGroup, SelectedFacets } from '../models';
3
+ import type { CollectionTitles } from '../data-source/models';
4
+ export declare class FacetsTemplate extends LitElement {
5
+ facetGroup?: FacetGroup;
6
+ selectedFacets?: SelectedFacets;
7
+ renderOn?: string;
8
+ collectionTitles?: CollectionTitles;
9
+ private facetClicked;
10
+ private facetChecked;
11
+ private facetUnchecked;
12
+ private dispatchFacetClickEvent;
13
+ private dispatchSelectedFacetsChanged;
14
+ private get facetsTemplate();
15
+ render(): TemplateResult<1>;
16
+ static get styles(): CSSResultGroup;
17
+ }
@@ -1,92 +1,92 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing, } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { repeat } from 'lit/directives/repeat.js';
5
- import { getDefaultSelectedFacets, } from '../models';
6
- import { FacetRow } from './facet-row';
7
- let FacetsTemplate = class FacetsTemplate extends LitElement {
8
- facetClicked(e) {
9
- const { bucket, negative } = e.detail;
10
- if (bucket.state === 'none') {
11
- this.facetUnchecked(bucket);
12
- }
13
- else {
14
- this.facetChecked(bucket, negative);
15
- }
16
- this.dispatchFacetClickEvent(e.detail);
17
- }
18
- facetChecked(bucket, negative) {
19
- const { facetGroup, selectedFacets } = this;
20
- if (!facetGroup)
21
- return;
22
- let newFacets;
23
- if (selectedFacets) {
24
- newFacets = {
25
- ...selectedFacets,
26
- };
27
- }
28
- else {
29
- newFacets = getDefaultSelectedFacets();
30
- }
31
- newFacets[facetGroup.key][bucket.key] = {
32
- ...bucket,
33
- state: FacetRow.getFacetState(true, negative),
34
- };
35
- this.selectedFacets = newFacets;
36
- this.dispatchSelectedFacetsChanged();
37
- }
38
- facetUnchecked(bucket) {
39
- const { facetGroup, selectedFacets } = this;
40
- if (!facetGroup)
41
- return;
42
- let newFacets;
43
- if (selectedFacets) {
44
- newFacets = {
45
- ...selectedFacets,
46
- };
47
- }
48
- else {
49
- newFacets = getDefaultSelectedFacets();
50
- }
51
- delete newFacets[facetGroup.key][bucket.key];
52
- this.selectedFacets = newFacets;
53
- this.dispatchSelectedFacetsChanged();
54
- }
55
- dispatchFacetClickEvent(detail) {
56
- const event = new CustomEvent('facetClick', {
57
- detail,
58
- composed: true,
59
- });
60
- this.dispatchEvent(event);
61
- }
62
- dispatchSelectedFacetsChanged() {
63
- const event = new CustomEvent('selectedFacetsChanged', {
64
- detail: this.selectedFacets,
65
- bubbles: true,
66
- composed: true,
67
- });
68
- this.dispatchEvent(event);
69
- }
70
- get facetsTemplate() {
71
- const { facetGroup } = this;
72
- if (!facetGroup)
73
- return nothing;
74
- let facetBuckets = facetGroup.buckets;
75
- /**
76
- * sorting FacetBucket before render page / modal
77
- * - first, selected items should be at top having sorted
78
- * - second, suppressed/hidden items should be after selected having sorted
79
- * - and then no-selected / not suppressed items should render having sorted
80
- */
81
- facetBuckets = [
82
- ...facetBuckets
83
- .filter(x => x.state === 'selected')
84
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
85
- ...facetBuckets
86
- .filter(x => x.state === 'hidden')
87
- .sort((a, b) => (a.count < b.count ? 1 : -1)),
88
- ...facetBuckets.filter(x => x.state === 'none'),
89
- ];
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing, } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { repeat } from 'lit/directives/repeat.js';
5
+ import { getDefaultSelectedFacets, } from '../models';
6
+ import { FacetRow } from './facet-row';
7
+ let FacetsTemplate = class FacetsTemplate extends LitElement {
8
+ facetClicked(e) {
9
+ const { bucket, negative } = e.detail;
10
+ if (bucket.state === 'none') {
11
+ this.facetUnchecked(bucket);
12
+ }
13
+ else {
14
+ this.facetChecked(bucket, negative);
15
+ }
16
+ this.dispatchFacetClickEvent(e.detail);
17
+ }
18
+ facetChecked(bucket, negative) {
19
+ const { facetGroup, selectedFacets } = this;
20
+ if (!facetGroup)
21
+ return;
22
+ let newFacets;
23
+ if (selectedFacets) {
24
+ newFacets = {
25
+ ...selectedFacets,
26
+ };
27
+ }
28
+ else {
29
+ newFacets = getDefaultSelectedFacets();
30
+ }
31
+ newFacets[facetGroup.key][bucket.key] = {
32
+ ...bucket,
33
+ state: FacetRow.getFacetState(true, negative),
34
+ };
35
+ this.selectedFacets = newFacets;
36
+ this.dispatchSelectedFacetsChanged();
37
+ }
38
+ facetUnchecked(bucket) {
39
+ const { facetGroup, selectedFacets } = this;
40
+ if (!facetGroup)
41
+ return;
42
+ let newFacets;
43
+ if (selectedFacets) {
44
+ newFacets = {
45
+ ...selectedFacets,
46
+ };
47
+ }
48
+ else {
49
+ newFacets = getDefaultSelectedFacets();
50
+ }
51
+ delete newFacets[facetGroup.key][bucket.key];
52
+ this.selectedFacets = newFacets;
53
+ this.dispatchSelectedFacetsChanged();
54
+ }
55
+ dispatchFacetClickEvent(detail) {
56
+ const event = new CustomEvent('facetClick', {
57
+ detail,
58
+ composed: true,
59
+ });
60
+ this.dispatchEvent(event);
61
+ }
62
+ dispatchSelectedFacetsChanged() {
63
+ const event = new CustomEvent('selectedFacetsChanged', {
64
+ detail: this.selectedFacets,
65
+ bubbles: true,
66
+ composed: true,
67
+ });
68
+ this.dispatchEvent(event);
69
+ }
70
+ get facetsTemplate() {
71
+ const { facetGroup } = this;
72
+ if (!facetGroup)
73
+ return nothing;
74
+ let facetBuckets = facetGroup.buckets;
75
+ /**
76
+ * sorting FacetBucket before render page / modal
77
+ * - first, selected items should be at top having sorted
78
+ * - second, suppressed/hidden items should be after selected having sorted
79
+ * - and then no-selected / not suppressed items should render having sorted
80
+ */
81
+ facetBuckets = [
82
+ ...facetBuckets
83
+ .filter(x => x.state === 'selected')
84
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
85
+ ...facetBuckets
86
+ .filter(x => x.state === 'hidden')
87
+ .sort((a, b) => (a.count < b.count ? 1 : -1)),
88
+ ...facetBuckets.filter(x => x.state === 'none'),
89
+ ];
90
90
  return html `
91
91
  <div class="facets-on-${this.renderOn}">
92
92
  ${repeat(facetBuckets, bucket => `${facetGroup.key}:${bucket.key}`, bucket => html `<facet-row
@@ -96,12 +96,12 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
96
96
  @facetClick=${this.facetClicked}
97
97
  ></facet-row>`)}
98
98
  </div>
99
- `;
100
- }
101
- render() {
102
- return html `${this.facetsTemplate}`;
103
- }
104
- static get styles() {
99
+ `;
100
+ }
101
+ render() {
102
+ return html `${this.facetsTemplate}`;
103
+ }
104
+ static get styles() {
105
105
  return css `
106
106
  @media (max-width: 560px) {
107
107
  .facets-on-modal {
@@ -142,23 +142,23 @@ let FacetsTemplate = class FacetsTemplate extends LitElement {
142
142
  a:hover {
143
143
  text-decoration: underline;
144
144
  }
145
- `;
146
- }
147
- };
148
- __decorate([
149
- property({ type: Object })
150
- ], FacetsTemplate.prototype, "facetGroup", void 0);
151
- __decorate([
152
- property({ type: Object })
153
- ], FacetsTemplate.prototype, "selectedFacets", void 0);
154
- __decorate([
155
- property({ type: String })
156
- ], FacetsTemplate.prototype, "renderOn", void 0);
157
- __decorate([
158
- property({ type: Object })
159
- ], FacetsTemplate.prototype, "collectionTitles", void 0);
160
- FacetsTemplate = __decorate([
161
- customElement('facets-template')
162
- ], FacetsTemplate);
163
- export { FacetsTemplate };
145
+ `;
146
+ }
147
+ };
148
+ __decorate([
149
+ property({ type: Object })
150
+ ], FacetsTemplate.prototype, "facetGroup", void 0);
151
+ __decorate([
152
+ property({ type: Object })
153
+ ], FacetsTemplate.prototype, "selectedFacets", void 0);
154
+ __decorate([
155
+ property({ type: String })
156
+ ], FacetsTemplate.prototype, "renderOn", void 0);
157
+ __decorate([
158
+ property({ type: Object })
159
+ ], FacetsTemplate.prototype, "collectionTitles", void 0);
160
+ FacetsTemplate = __decorate([
161
+ customElement('facets-template')
162
+ ], FacetsTemplate);
163
+ export { FacetsTemplate };
164
164
  //# sourceMappingURL=facets-template.js.map