@internetarchive/collection-browser 1.11.1-alpha.3 → 1.13.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +54 -54
  12. package/dist/src/app-root.js +293 -293
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +472 -471
  72. package/dist/src/collection-browser.js +1695 -1680
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  75. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  76. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  77. package/dist/src/collection-facets/facets-template.js +152 -152
  78. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  79. package/dist/src/collection-facets/more-facets-content.js +359 -359
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  82. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  83. package/dist/src/collection-facets/toggle-switch.js +94 -94
  84. package/dist/src/collection-facets.d.ts +103 -99
  85. package/dist/src/collection-facets.js +536 -471
  86. package/dist/src/collection-facets.js.map +1 -1
  87. package/dist/src/empty-placeholder.d.ts +23 -23
  88. package/dist/src/empty-placeholder.js +74 -74
  89. package/dist/src/expanded-date-picker.d.ts +43 -43
  90. package/dist/src/expanded-date-picker.js +109 -109
  91. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  92. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  93. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  94. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  95. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  96. package/dist/src/mediatype/mediatype-config.js +85 -85
  97. package/dist/src/models.d.ts +163 -163
  98. package/dist/src/models.js +269 -269
  99. package/dist/src/restoration-state-handler.d.ts +70 -70
  100. package/dist/src/restoration-state-handler.js +355 -355
  101. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  103. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  104. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  105. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  106. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  107. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  108. package/dist/src/sort-filter-bar/img/list.js +2 -2
  109. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  111. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  112. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  113. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  114. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  115. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  116. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  117. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  118. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  119. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +208 -208
  120. package/dist/src/sort-filter-bar/sort-filter-bar.js +637 -637
  121. package/dist/src/styles/item-image-styles.d.ts +8 -8
  122. package/dist/src/styles/item-image-styles.js +9 -9
  123. package/dist/src/styles/sr-only.d.ts +1 -1
  124. package/dist/src/styles/sr-only.js +2 -2
  125. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  126. package/dist/src/tiles/base-tile-component.js +59 -59
  127. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  128. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  129. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  130. package/dist/src/tiles/grid/account-tile.js +72 -72
  131. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  132. package/dist/src/tiles/grid/collection-tile.js +80 -80
  133. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  134. package/dist/src/tiles/grid/item-tile.js +134 -134
  135. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  136. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  137. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  138. package/dist/src/tiles/grid/tile-stats.js +48 -48
  139. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  140. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  141. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  142. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  143. package/dist/src/tiles/image-block.d.ts +17 -17
  144. package/dist/src/tiles/image-block.js +72 -72
  145. package/dist/src/tiles/item-image.d.ts +35 -35
  146. package/dist/src/tiles/item-image.js +117 -117
  147. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  148. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  149. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  150. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  151. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  152. package/dist/src/tiles/list/tile-list.js +298 -298
  153. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  154. package/dist/src/tiles/mediatype-icon.js +47 -47
  155. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  156. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  157. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  158. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  159. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  160. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  161. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  162. package/dist/src/tiles/text-snippet-block.js +73 -73
  163. package/dist/src/tiles/tile-dispatcher.d.ts +50 -50
  164. package/dist/src/tiles/tile-dispatcher.js +185 -185
  165. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  166. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  167. package/dist/src/utils/analytics-events.d.ts +25 -24
  168. package/dist/src/utils/analytics-events.js +27 -26
  169. package/dist/src/utils/analytics-events.js.map +1 -1
  170. package/dist/src/utils/array-equals.d.ts +4 -4
  171. package/dist/src/utils/array-equals.js +10 -10
  172. package/dist/src/utils/format-count.d.ts +7 -7
  173. package/dist/src/utils/format-count.js +76 -76
  174. package/dist/src/utils/format-date.d.ts +2 -2
  175. package/dist/src/utils/format-date.js +25 -25
  176. package/dist/src/utils/format-unit-size.d.ts +2 -2
  177. package/dist/src/utils/format-unit-size.js +33 -33
  178. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  179. package/dist/src/utils/local-date-from-utc.js +15 -15
  180. package/dist/src/utils/sha1.d.ts +2 -2
  181. package/dist/src/utils/sha1.js +8 -8
  182. package/dist/test/collection-browser.test.d.ts +1 -1
  183. package/dist/test/collection-browser.test.js +984 -958
  184. package/dist/test/collection-browser.test.js.map +1 -1
  185. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  186. package/dist/test/collection-facets/facets-template.test.js +134 -134
  187. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  188. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  189. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  190. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  191. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  192. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  193. package/dist/test/collection-facets.test.d.ts +2 -2
  194. package/dist/test/collection-facets.test.js +695 -645
  195. package/dist/test/collection-facets.test.js.map +1 -1
  196. package/dist/test/empty-placeholder.test.d.ts +1 -1
  197. package/dist/test/empty-placeholder.test.js +63 -56
  198. package/dist/test/empty-placeholder.test.js.map +1 -1
  199. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  200. package/dist/test/expanded-date-picker.test.js +95 -95
  201. package/dist/test/icon-overlay.test.d.ts +1 -1
  202. package/dist/test/icon-overlay.test.js +24 -24
  203. package/dist/test/image-block.test.d.ts +1 -1
  204. package/dist/test/image-block.test.js +48 -48
  205. package/dist/test/item-image.test.d.ts +1 -1
  206. package/dist/test/item-image.test.js +84 -84
  207. package/dist/test/mediatype-config.test.d.ts +1 -1
  208. package/dist/test/mediatype-config.test.js +16 -16
  209. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  210. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  211. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  212. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  213. package/dist/test/mocks/mock-search-responses.d.ts +21 -20
  214. package/dist/test/mocks/mock-search-responses.js +707 -665
  215. package/dist/test/mocks/mock-search-responses.js.map +1 -1
  216. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  217. package/dist/test/mocks/mock-search-service.js +50 -49
  218. package/dist/test/mocks/mock-search-service.js.map +1 -1
  219. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  220. package/dist/test/restoration-state-handler.test.js +270 -270
  221. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  222. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  223. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  224. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  225. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  226. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  227. package/dist/test/text-overlay.test.d.ts +1 -1
  228. package/dist/test/text-overlay.test.js +48 -48
  229. package/dist/test/text-snippet-block.test.d.ts +1 -1
  230. package/dist/test/text-snippet-block.test.js +57 -57
  231. package/dist/test/tile-stats.test.d.ts +1 -1
  232. package/dist/test/tile-stats.test.js +33 -33
  233. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  234. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  235. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  236. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  237. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  238. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  239. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  240. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  241. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  242. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  243. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  244. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  245. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  246. package/dist/test/tiles/list/tile-list.test.js +242 -242
  247. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  248. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  249. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  250. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  251. package/dist/test/utils/array-equals.test.d.ts +1 -1
  252. package/dist/test/utils/array-equals.test.js +26 -26
  253. package/dist/test/utils/format-count.test.d.ts +1 -1
  254. package/dist/test/utils/format-count.test.js +23 -23
  255. package/dist/test/utils/format-date.test.d.ts +1 -1
  256. package/dist/test/utils/format-date.test.js +17 -17
  257. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  258. package/dist/test/utils/format-unit-size.test.js +17 -17
  259. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  260. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  261. package/local.archive.org.cert +86 -86
  262. package/local.archive.org.key +27 -27
  263. package/package.json +1 -1
  264. package/renovate.json +6 -6
  265. package/src/collection-browser.ts +16 -1
  266. package/src/collection-facets.ts +66 -1
  267. package/src/utils/analytics-events.ts +1 -0
  268. package/test/collection-browser.test.ts +40 -0
  269. package/test/collection-facets.test.ts +66 -0
  270. package/test/empty-placeholder.test.ts +26 -19
  271. package/test/mocks/mock-search-responses.ts +46 -0
  272. package/test/mocks/mock-search-service.ts +2 -0
  273. package/tsconfig.json +21 -21
  274. package/web-dev-server.config.mjs +30 -30
  275. package/web-test-runner.config.mjs +41 -41
@@ -1,22 +1,22 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
5
- let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- /**
9
- * Closes the modal dialog if the given event is pressing the Esc key.
10
- * Arrow function to ensure `this` remains bound to the current component.
11
- */
12
- this.boundEscapeListener = (e) => {
13
- if (e.key === 'Escape') {
14
- this.closeModal();
15
- }
16
- };
17
- }
18
- render() {
19
- var _a, _b;
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
5
+ let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ /**
9
+ * Closes the modal dialog if the given event is pressing the Esc key.
10
+ * Arrow function to ensure `this` remains bound to the current component.
11
+ */
12
+ this.boundEscapeListener = (e) => {
13
+ if (e.key === 'Escape') {
14
+ this.closeModal();
15
+ }
16
+ };
17
+ }
18
+ render() {
19
+ var _a, _b;
20
20
  return html `
21
21
  <div id="container">
22
22
  <histogram-date-range
@@ -42,68 +42,68 @@ let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
42
42
  </button>
43
43
  </histogram-date-range>
44
44
  </div>
45
- `;
46
- }
47
- connectedCallback() {
48
- var _a;
49
- (_a = super.connectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
50
- this.setupEscapeListener();
51
- }
52
- disconnectedCallback() {
53
- var _a;
54
- (_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
55
- this.removeEscapeListener();
56
- }
57
- /**
58
- * Add an event listener to close the date picker modal when the Esc key is pressed
59
- */
60
- setupEscapeListener() {
61
- document.addEventListener('keydown', this.boundEscapeListener);
62
- }
63
- /**
64
- * Remove the Esc key listener that was previously added
65
- */
66
- removeEscapeListener() {
67
- document.removeEventListener('keydown', this.boundEscapeListener);
68
- }
69
- /**
70
- * When the histogram is updated, keep track of the newly selected date range.
71
- * We don't commit to the new range until the apply button is clicked.
72
- */
73
- histogramDateRangeUpdated(e) {
74
- this.minSelectedDate = e.detail.minDate;
75
- this.maxSelectedDate = e.detail.maxDate;
76
- }
77
- /**
78
- * When the Apply button is clicked, emit the current date range and close the modal.
79
- */
80
- applyBtnClicked() {
81
- var _a;
82
- const event = new CustomEvent('histogramDateRangeApplied', {
83
- detail: {
84
- minDate: this.minSelectedDate,
85
- maxDate: this.maxSelectedDate,
86
- },
87
- });
88
- this.dispatchEvent(event);
89
- this.closeModal();
90
- (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
91
- category: analyticsCategories.default,
92
- action: analyticsActions.histogramChangedFromModal,
93
- label: window.location.href,
94
- });
95
- }
96
- /**
97
- * Closes the modal associated with this component (if it exists) and dispatches a
98
- * modalClosed event.
99
- */
100
- closeModal() {
101
- if (this.modalManager) {
102
- this.modalManager.closeModal();
103
- this.dispatchEvent(new CustomEvent('modalClosed'));
104
- }
105
- }
106
- static get styles() {
45
+ `;
46
+ }
47
+ connectedCallback() {
48
+ var _a;
49
+ (_a = super.connectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
50
+ this.setupEscapeListener();
51
+ }
52
+ disconnectedCallback() {
53
+ var _a;
54
+ (_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
55
+ this.removeEscapeListener();
56
+ }
57
+ /**
58
+ * Add an event listener to close the date picker modal when the Esc key is pressed
59
+ */
60
+ setupEscapeListener() {
61
+ document.addEventListener('keydown', this.boundEscapeListener);
62
+ }
63
+ /**
64
+ * Remove the Esc key listener that was previously added
65
+ */
66
+ removeEscapeListener() {
67
+ document.removeEventListener('keydown', this.boundEscapeListener);
68
+ }
69
+ /**
70
+ * When the histogram is updated, keep track of the newly selected date range.
71
+ * We don't commit to the new range until the apply button is clicked.
72
+ */
73
+ histogramDateRangeUpdated(e) {
74
+ this.minSelectedDate = e.detail.minDate;
75
+ this.maxSelectedDate = e.detail.maxDate;
76
+ }
77
+ /**
78
+ * When the Apply button is clicked, emit the current date range and close the modal.
79
+ */
80
+ applyBtnClicked() {
81
+ var _a;
82
+ const event = new CustomEvent('histogramDateRangeApplied', {
83
+ detail: {
84
+ minDate: this.minSelectedDate,
85
+ maxDate: this.maxSelectedDate,
86
+ },
87
+ });
88
+ this.dispatchEvent(event);
89
+ this.closeModal();
90
+ (_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
91
+ category: analyticsCategories.default,
92
+ action: analyticsActions.histogramChangedFromModal,
93
+ label: window.location.href,
94
+ });
95
+ }
96
+ /**
97
+ * Closes the modal associated with this component (if it exists) and dispatches a
98
+ * modalClosed event.
99
+ */
100
+ closeModal() {
101
+ if (this.modalManager) {
102
+ this.modalManager.closeModal();
103
+ this.dispatchEvent(new CustomEvent('modalClosed'));
104
+ }
105
+ }
106
+ static get styles() {
107
107
  return css `
108
108
  #container {
109
109
  display: flex;
@@ -126,32 +126,32 @@ let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
126
126
  color: white;
127
127
  cursor: pointer;
128
128
  }
129
- `;
130
- }
131
- };
132
- __decorate([
133
- property({ type: String })
134
- ], ExpandedDatePicker.prototype, "minDate", void 0);
135
- __decorate([
136
- property({ type: String })
137
- ], ExpandedDatePicker.prototype, "maxDate", void 0);
138
- __decorate([
139
- property({ type: String })
140
- ], ExpandedDatePicker.prototype, "minSelectedDate", void 0);
141
- __decorate([
142
- property({ type: String })
143
- ], ExpandedDatePicker.prototype, "maxSelectedDate", void 0);
144
- __decorate([
145
- property({ type: Array })
146
- ], ExpandedDatePicker.prototype, "buckets", void 0);
147
- __decorate([
148
- property({ type: Object, attribute: false })
149
- ], ExpandedDatePicker.prototype, "modalManager", void 0);
150
- __decorate([
151
- property({ type: Object, attribute: false })
152
- ], ExpandedDatePicker.prototype, "analyticsHandler", void 0);
153
- ExpandedDatePicker = __decorate([
154
- customElement('expanded-date-picker')
155
- ], ExpandedDatePicker);
156
- export { ExpandedDatePicker };
129
+ `;
130
+ }
131
+ };
132
+ __decorate([
133
+ property({ type: String })
134
+ ], ExpandedDatePicker.prototype, "minDate", void 0);
135
+ __decorate([
136
+ property({ type: String })
137
+ ], ExpandedDatePicker.prototype, "maxDate", void 0);
138
+ __decorate([
139
+ property({ type: String })
140
+ ], ExpandedDatePicker.prototype, "minSelectedDate", void 0);
141
+ __decorate([
142
+ property({ type: String })
143
+ ], ExpandedDatePicker.prototype, "maxSelectedDate", void 0);
144
+ __decorate([
145
+ property({ type: Array })
146
+ ], ExpandedDatePicker.prototype, "buckets", void 0);
147
+ __decorate([
148
+ property({ type: Object, attribute: false })
149
+ ], ExpandedDatePicker.prototype, "modalManager", void 0);
150
+ __decorate([
151
+ property({ type: Object, attribute: false })
152
+ ], ExpandedDatePicker.prototype, "analyticsHandler", void 0);
153
+ ExpandedDatePicker = __decorate([
154
+ customElement('expanded-date-picker')
155
+ ], ExpandedDatePicker);
156
+ export { ExpandedDatePicker };
157
157
  //# sourceMappingURL=expanded-date-picker.js.map
@@ -1,37 +1,37 @@
1
- export interface LanguageCodeHandlerInterface {
2
- /**
3
- * This takes a list of codes in the format `en-us|en|en-gb` and
4
- * returns the first language code in the list.
5
- *
6
- * The codes in the string should always represent the same language name.
7
- * eg `en-us`, `en-gb`, and `en` should always be "English"
8
- *
9
- * @param languageCodes
10
- */
11
- getLanguageNameFromCodeString(languageCodes: string): string;
12
- /**
13
- * This creates a serialized string of language codes for the given language.
14
- *
15
- * eg. `English` becomes `en-us|en|en-gb|.....`
16
- *
17
- * @param languageName
18
- */
19
- getCodeStringFromLanguageName(languageName: string): string;
20
- /**
21
- * Get an array of langauge codes from a serialized string.
22
- *
23
- * eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
24
- *
25
- * @param languageCodes
26
- */
27
- getCodeArrayFromCodeString(languageCodes: string): string[];
28
- }
29
- export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
30
- private delimeter;
31
- /** @inheritdoc */
32
- getLanguageNameFromCodeString(languageCodes: string): string;
33
- /** @inheritdoc */
34
- getCodeStringFromLanguageName(languageName: string): string;
35
- /** @inheritdoc */
36
- getCodeArrayFromCodeString(languageCodes: string): string[];
37
- }
1
+ export interface LanguageCodeHandlerInterface {
2
+ /**
3
+ * This takes a list of codes in the format `en-us|en|en-gb` and
4
+ * returns the first language code in the list.
5
+ *
6
+ * The codes in the string should always represent the same language name.
7
+ * eg `en-us`, `en-gb`, and `en` should always be "English"
8
+ *
9
+ * @param languageCodes
10
+ */
11
+ getLanguageNameFromCodeString(languageCodes: string): string;
12
+ /**
13
+ * This creates a serialized string of language codes for the given language.
14
+ *
15
+ * eg. `English` becomes `en-us|en|en-gb|.....`
16
+ *
17
+ * @param languageName
18
+ */
19
+ getCodeStringFromLanguageName(languageName: string): string;
20
+ /**
21
+ * Get an array of langauge codes from a serialized string.
22
+ *
23
+ * eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
24
+ *
25
+ * @param languageCodes
26
+ */
27
+ getCodeArrayFromCodeString(languageCodes: string): string[];
28
+ }
29
+ export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
30
+ private delimeter;
31
+ /** @inheritdoc */
32
+ getLanguageNameFromCodeString(languageCodes: string): string;
33
+ /** @inheritdoc */
34
+ getCodeStringFromLanguageName(languageName: string): string;
35
+ /** @inheritdoc */
36
+ getCodeArrayFromCodeString(languageCodes: string): string[];
37
+ }
@@ -1,27 +1,27 @@
1
- import { codeToLanguageMap } from './language-code-mapping';
2
- export class LanguageCodeHandler {
3
- constructor() {
4
- this.delimeter = '|';
5
- }
6
- /** @inheritdoc */
7
- getLanguageNameFromCodeString(languageCodes) {
8
- const split = this.getCodeArrayFromCodeString(languageCodes);
9
- if (split.length === 0)
10
- return '';
11
- const languageCode = split[0];
12
- const languageName = codeToLanguageMap[languageCode];
13
- return languageName !== null && languageName !== void 0 ? languageName : languageCodes;
14
- }
15
- /** @inheritdoc */
16
- getCodeStringFromLanguageName(languageName) {
17
- const languageCodes = Object.keys(codeToLanguageMap).filter(code => codeToLanguageMap[code] === languageName);
18
- const stringifiedCodes = languageCodes === null || languageCodes === void 0 ? void 0 : languageCodes.join(this.delimeter);
19
- return stringifiedCodes;
20
- }
21
- /** @inheritdoc */
22
- getCodeArrayFromCodeString(languageCodes) {
23
- const split = languageCodes.split(this.delimeter);
24
- return split;
25
- }
26
- }
1
+ import { codeToLanguageMap } from './language-code-mapping';
2
+ export class LanguageCodeHandler {
3
+ constructor() {
4
+ this.delimeter = '|';
5
+ }
6
+ /** @inheritdoc */
7
+ getLanguageNameFromCodeString(languageCodes) {
8
+ const split = this.getCodeArrayFromCodeString(languageCodes);
9
+ if (split.length === 0)
10
+ return '';
11
+ const languageCode = split[0];
12
+ const languageName = codeToLanguageMap[languageCode];
13
+ return languageName !== null && languageName !== void 0 ? languageName : languageCodes;
14
+ }
15
+ /** @inheritdoc */
16
+ getCodeStringFromLanguageName(languageName) {
17
+ const languageCodes = Object.keys(codeToLanguageMap).filter(code => codeToLanguageMap[code] === languageName);
18
+ const stringifiedCodes = languageCodes === null || languageCodes === void 0 ? void 0 : languageCodes.join(this.delimeter);
19
+ return stringifiedCodes;
20
+ }
21
+ /** @inheritdoc */
22
+ getCodeArrayFromCodeString(languageCodes) {
23
+ const split = languageCodes.split(this.delimeter);
24
+ return split;
25
+ }
26
+ }
27
27
  //# sourceMappingURL=language-code-handler.js.map
@@ -1 +1 @@
1
- export declare const codeToLanguageMap: Record<string, string>;
1
+ export declare const codeToLanguageMap: Record<string, string>;