@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,25 +1,25 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property, query } from 'lit/decorators.js';
4
- import { srOnlyStyle } from '../styles/sr-only';
5
- let ToggleSwitch = class ToggleSwitch extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- /**
9
- * The value this switch should have when toggled to the left.
10
- */
11
- this.leftValue = '';
12
- /**
13
- * The value this switch should have when toggled to the right.
14
- */
15
- this.rightValue = '';
16
- /**
17
- * Which side of the switch is selected (`'left'` or `'right'`).
18
- */
19
- this.side = 'left';
20
- }
21
- render() {
22
- var _a, _b;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property, query } from 'lit/decorators.js';
4
+ import { srOnlyStyle } from '../styles/sr-only';
5
+ let ToggleSwitch = class ToggleSwitch extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ /**
9
+ * The value this switch should have when toggled to the left.
10
+ */
11
+ this.leftValue = '';
12
+ /**
13
+ * The value this switch should have when toggled to the right.
14
+ */
15
+ this.rightValue = '';
16
+ /**
17
+ * Which side of the switch is selected (`'left'` or `'right'`).
18
+ */
19
+ this.side = 'left';
20
+ }
21
+ render() {
22
+ var _a, _b;
23
23
  return html `
24
24
  <div id="container">
25
25
  <label for="switch-left">${(_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue}</label>
@@ -51,52 +51,52 @@ let ToggleSwitch = class ToggleSwitch extends LitElement {
51
51
  </button>
52
52
  <label for="switch-right">${(_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue}</label>
53
53
  </div>
54
- `;
55
- }
56
- /**
57
- * The currently selected value of this switch.
58
- */
59
- get value() {
60
- return this.side === 'left' ? this.leftValue : this.rightValue;
61
- }
62
- /**
63
- * The label for the currently selected value of this switch.
64
- * Falls back to the current value if its label is not defined.
65
- */
66
- get selectedLabel() {
67
- var _a, _b;
68
- return this.side === 'left'
69
- ? (_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue
70
- : (_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue;
71
- }
72
- handleClick() {
73
- this.side = this.side === 'left' ? 'right' : 'left';
74
- this.emitChangeEvent();
75
- }
76
- handleRadioChange() {
77
- this.side = this.leftRadio.checked ? 'left' : 'right';
78
- this.emitChangeEvent();
79
- }
80
- emitChangeEvent() {
81
- const event = new CustomEvent('change', {
82
- detail: this.value,
83
- });
84
- this.dispatchEvent(event);
85
- }
86
- static get styles() {
87
- const switchWidth = css `var(--switchWidth, 30px)`;
88
- const switchHeight = css `var(--switchHeight, 14px)`;
89
- const switchMarginLeft = css `var(--switchMarginLeft, 5px)`;
90
- const switchMarginRight = css `var(--switchMarginRight, 5px)`;
91
- const switchBorderWidth = css `var(--switchBorderWidth, 3px)`;
92
- const switchBgColor = css `var(--switchBgColor, #194880)`;
93
- const switchBorderColor = css `var(--switchBorderColor, #194880)`;
94
- const labelFontSize = css `var(--labelFontSize, 1.3rem)`;
95
- const knobColor = css `var(--knobColor, white)`;
96
- const knobTransitionDuration = css `var(--knobTransitionDuration, 0.25s)`;
97
- const knobTransitionFn = css `var(--knobTransitionFn, ease)`;
98
- return [
99
- srOnlyStyle,
54
+ `;
55
+ }
56
+ /**
57
+ * The currently selected value of this switch.
58
+ */
59
+ get value() {
60
+ return this.side === 'left' ? this.leftValue : this.rightValue;
61
+ }
62
+ /**
63
+ * The label for the currently selected value of this switch.
64
+ * Falls back to the current value if its label is not defined.
65
+ */
66
+ get selectedLabel() {
67
+ var _a, _b;
68
+ return this.side === 'left'
69
+ ? (_a = this.leftLabel) !== null && _a !== void 0 ? _a : this.leftValue
70
+ : (_b = this.rightLabel) !== null && _b !== void 0 ? _b : this.rightValue;
71
+ }
72
+ handleClick() {
73
+ this.side = this.side === 'left' ? 'right' : 'left';
74
+ this.emitChangeEvent();
75
+ }
76
+ handleRadioChange() {
77
+ this.side = this.leftRadio.checked ? 'left' : 'right';
78
+ this.emitChangeEvent();
79
+ }
80
+ emitChangeEvent() {
81
+ const event = new CustomEvent('change', {
82
+ detail: this.value,
83
+ });
84
+ this.dispatchEvent(event);
85
+ }
86
+ static get styles() {
87
+ const switchWidth = css `var(--switchWidth, 30px)`;
88
+ const switchHeight = css `var(--switchHeight, 14px)`;
89
+ const switchMarginLeft = css `var(--switchMarginLeft, 5px)`;
90
+ const switchMarginRight = css `var(--switchMarginRight, 5px)`;
91
+ const switchBorderWidth = css `var(--switchBorderWidth, 3px)`;
92
+ const switchBgColor = css `var(--switchBgColor, #194880)`;
93
+ const switchBorderColor = css `var(--switchBorderColor, #194880)`;
94
+ const labelFontSize = css `var(--labelFontSize, 1.3rem)`;
95
+ const knobColor = css `var(--knobColor, white)`;
96
+ const knobTransitionDuration = css `var(--knobTransitionDuration, 0.25s)`;
97
+ const knobTransitionFn = css `var(--knobTransitionFn, ease)`;
98
+ return [
99
+ srOnlyStyle,
100
100
  css `
101
101
  #container {
102
102
  display: inline-flex;
@@ -145,30 +145,30 @@ let ToggleSwitch = class ToggleSwitch extends LitElement {
145
145
  transition-duration: 0.001s !important; /* Imperceptibly fast */
146
146
  }
147
147
  }
148
- `,
149
- ];
150
- }
151
- };
152
- __decorate([
153
- property({ type: String, attribute: true })
154
- ], ToggleSwitch.prototype, "leftValue", void 0);
155
- __decorate([
156
- property({ type: String, attribute: true })
157
- ], ToggleSwitch.prototype, "leftLabel", void 0);
158
- __decorate([
159
- property({ type: String, attribute: true })
160
- ], ToggleSwitch.prototype, "rightValue", void 0);
161
- __decorate([
162
- property({ type: String, attribute: true })
163
- ], ToggleSwitch.prototype, "rightLabel", void 0);
164
- __decorate([
165
- property({ type: String, attribute: true })
166
- ], ToggleSwitch.prototype, "side", void 0);
167
- __decorate([
168
- query('#switch-left')
169
- ], ToggleSwitch.prototype, "leftRadio", void 0);
170
- ToggleSwitch = __decorate([
171
- customElement('toggle-switch')
172
- ], ToggleSwitch);
173
- export { ToggleSwitch };
148
+ `,
149
+ ];
150
+ }
151
+ };
152
+ __decorate([
153
+ property({ type: String, attribute: true })
154
+ ], ToggleSwitch.prototype, "leftValue", void 0);
155
+ __decorate([
156
+ property({ type: String, attribute: true })
157
+ ], ToggleSwitch.prototype, "leftLabel", void 0);
158
+ __decorate([
159
+ property({ type: String, attribute: true })
160
+ ], ToggleSwitch.prototype, "rightValue", void 0);
161
+ __decorate([
162
+ property({ type: String, attribute: true })
163
+ ], ToggleSwitch.prototype, "rightLabel", void 0);
164
+ __decorate([
165
+ property({ type: String, attribute: true })
166
+ ], ToggleSwitch.prototype, "side", void 0);
167
+ __decorate([
168
+ query('#switch-left')
169
+ ], ToggleSwitch.prototype, "leftRadio", void 0);
170
+ ToggleSwitch = __decorate([
171
+ customElement('toggle-switch')
172
+ ], ToggleSwitch);
173
+ export { ToggleSwitch };
174
174
  //# sourceMappingURL=toggle-switch.js.map
@@ -1,103 +1,104 @@
1
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import type { Aggregation, AggregationSortType, FilterMap, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
- import '@internetarchive/histogram-date-range';
4
- import '@internetarchive/feature-feedback';
5
- import '@internetarchive/collection-name-cache';
6
- import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
7
- import { ModalManagerInterface } from '@internetarchive/modal-manager';
8
- import type { FeatureFeedbackServiceInterface } from '@internetarchive/feature-feedback';
9
- import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
10
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
11
- import type { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
12
- import { FacetOption, SelectedFacets, FacetGroup } from './models';
13
- import './collection-facets/more-facets-content';
14
- import './collection-facets/facets-template';
15
- import './collection-facets/facet-tombstone-row';
16
- import './expanded-date-picker';
17
- export declare class CollectionFacets extends LitElement {
18
- searchService?: SearchServiceInterface;
19
- searchType?: SearchType;
20
- aggregations?: Record<string, Aggregation>;
21
- fullYearsHistogramAggregation?: Aggregation;
22
- minSelectedDate?: string;
23
- maxSelectedDate?: string;
24
- moreLinksVisible: boolean;
25
- facetsLoading: boolean;
26
- fullYearAggregationLoading: boolean;
27
- selectedFacets?: SelectedFacets;
28
- collapsableFacets: boolean;
29
- contentWidth?: number;
30
- showHistogramDatePicker: boolean;
31
- allowExpandingDatePicker: boolean;
32
- query?: string;
33
- withinCollection?: string;
34
- parentCollections: string[];
35
- filterMap?: FilterMap;
36
- baseNavigationUrl?: string;
37
- collectionPagePath: string;
38
- modalManager?: ModalManagerInterface;
39
- resizeObserver?: SharedResizeObserverInterface;
40
- featureFeedbackService?: FeatureFeedbackServiceInterface;
41
- recaptchaManager?: RecaptchaManagerInterface;
42
- analyticsHandler?: AnalyticsManagerInterface;
43
- collectionNameCache?: CollectionNameCacheInterface;
44
- openFacets: Record<FacetOption, boolean>;
45
- /**
46
- * Maximum # of facet buckets to render per facet group
47
- */
48
- private allowedFacetCount;
49
- render(): TemplateResult<1>;
50
- private get collectionPartOfTemplate();
51
- private partOfCollectionClicked;
52
- /**
53
- * Opens a modal dialog containing an enlarged version of the date picker.
54
- */
55
- private showDatePickerModal;
56
- private handleExpandedDatePickerClosed;
57
- updated(changed: PropertyValues): void;
58
- private dispatchFacetsChangedEvent;
59
- /**
60
- * Template for the "Expand" button to show the date picker modal, or
61
- * `nothing` if that button should currently not be shown.
62
- */
63
- private get expandDatePickerBtnTemplate();
64
- private get histogramTemplate();
65
- /**
66
- * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
67
- * input event.
68
- *
69
- * Arrow function to ensure `this` is always bound to the current component.
70
- */
71
- private histogramDateRangeUpdated;
72
- /**
73
- * Combines the selected facets with the aggregations to create a single list of facets
74
- */
75
- private get mergedFacets();
76
- /**
77
- * Converts the selected facets to a `FacetGroup` array,
78
- * which is easier to work with
79
- */
80
- private get selectedFacetGroups();
81
- /**
82
- * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
83
- */
84
- private get aggregationFacetGroups();
85
- /**
86
- * Generate the template for a facet group with a header and the collapsible
87
- * chevron for the mobile view
88
- */
89
- private getFacetGroupTemplate;
90
- private getTombstoneFacetGroupTemplate;
91
- /**
92
- * Generate the More... link button just below the facets group
93
- *
94
- * TODO: want to fire analytics?
95
- */
96
- private searchMoreFacetsLink;
97
- showMoreFacetsModal(facetGroup: FacetGroup, sortedBy: AggregationSortType): Promise<void>;
98
- /**
99
- * Generate the list template for each bucket in a facet group
100
- */
101
- private getFacetTemplate;
102
- static get styles(): import("lit").CSSResult[];
103
- }
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import type { Aggregation, AggregationSortType, FilterMap, SearchServiceInterface, SearchType } from '@internetarchive/search-service';
3
+ import '@internetarchive/histogram-date-range';
4
+ import '@internetarchive/feature-feedback';
5
+ import '@internetarchive/collection-name-cache';
6
+ import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
7
+ import { ModalManagerInterface } from '@internetarchive/modal-manager';
8
+ import type { FeatureFeedbackServiceInterface } from '@internetarchive/feature-feedback';
9
+ import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
10
+ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
11
+ import type { SharedResizeObserverInterface } from '@internetarchive/shared-resize-observer';
12
+ import { FacetOption, SelectedFacets, FacetGroup } from './models';
13
+ import './collection-facets/more-facets-content';
14
+ import './collection-facets/facets-template';
15
+ import './collection-facets/facet-tombstone-row';
16
+ import './expanded-date-picker';
17
+ export declare class CollectionFacets extends LitElement {
18
+ searchService?: SearchServiceInterface;
19
+ searchType?: SearchType;
20
+ aggregations?: Record<string, Aggregation>;
21
+ fullYearsHistogramAggregation?: Aggregation;
22
+ minSelectedDate?: string;
23
+ maxSelectedDate?: string;
24
+ moreLinksVisible: boolean;
25
+ facetsLoading: boolean;
26
+ fullYearAggregationLoading: boolean;
27
+ selectedFacets?: SelectedFacets;
28
+ collapsableFacets: boolean;
29
+ contentWidth?: number;
30
+ showHistogramDatePicker: boolean;
31
+ allowExpandingDatePicker: boolean;
32
+ query?: string;
33
+ withinCollection?: string;
34
+ parentCollections: string[];
35
+ filterMap?: FilterMap;
36
+ baseNavigationUrl?: string;
37
+ collectionPagePath: string;
38
+ isManageView: boolean;
39
+ modalManager?: ModalManagerInterface;
40
+ resizeObserver?: SharedResizeObserverInterface;
41
+ featureFeedbackService?: FeatureFeedbackServiceInterface;
42
+ recaptchaManager?: RecaptchaManagerInterface;
43
+ analyticsHandler?: AnalyticsManagerInterface;
44
+ collectionNameCache?: CollectionNameCacheInterface;
45
+ openFacets: Record<FacetOption, boolean>;
46
+ /**
47
+ * Maximum # of facet buckets to render per facet group
48
+ */
49
+ private allowedFacetCount;
50
+ render(): TemplateResult<1>;
51
+ private get collectionPartOfTemplate();
52
+ private partOfCollectionClicked;
53
+ /**
54
+ * Opens a modal dialog containing an enlarged version of the date picker.
55
+ */
56
+ private showDatePickerModal;
57
+ private handleExpandedDatePickerClosed;
58
+ updated(changed: PropertyValues): void;
59
+ private dispatchFacetsChangedEvent;
60
+ /**
61
+ * Template for the "Expand" button to show the date picker modal, or
62
+ * `nothing` if that button should currently not be shown.
63
+ */
64
+ private get expandDatePickerBtnTemplate();
65
+ private get histogramTemplate();
66
+ /**
67
+ * Dispatches a `histogramDateRangeUpdated` event with the date range copied from the
68
+ * input event.
69
+ *
70
+ * Arrow function to ensure `this` is always bound to the current component.
71
+ */
72
+ private histogramDateRangeUpdated;
73
+ /**
74
+ * Combines the selected facets with the aggregations to create a single list of facets
75
+ */
76
+ private get mergedFacets();
77
+ /**
78
+ * Converts the selected facets to a `FacetGroup` array,
79
+ * which is easier to work with
80
+ */
81
+ private get selectedFacetGroups();
82
+ /**
83
+ * Converts the raw `aggregations` to `FacetGroups`, which are easier to use
84
+ */
85
+ private get aggregationFacetGroups();
86
+ /**
87
+ * Generate the template for a facet group with a header and the collapsible
88
+ * chevron for the mobile view
89
+ */
90
+ private getFacetGroupTemplate;
91
+ private getTombstoneFacetGroupTemplate;
92
+ /**
93
+ * Generate the More... link button just below the facets group
94
+ *
95
+ * TODO: want to fire analytics?
96
+ */
97
+ private searchMoreFacetsLink;
98
+ showMoreFacetsModal(facetGroup: FacetGroup, sortedBy: AggregationSortType): Promise<void>;
99
+ /**
100
+ * Generate the list template for each bucket in a facet group
101
+ */
102
+ private getFacetTemplate;
103
+ static get styles(): import("lit").CSSResult[];
104
+ }