@internetarchive/collection-browser 1.12.0 → 1.13.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) 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 +473 -472
  72. package/dist/src/collection-browser.js +1696 -1686
  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 -103
  85. package/dist/src/collection-facets.js +497 -497
  86. package/dist/src/empty-placeholder.d.ts +23 -21
  87. package/dist/src/empty-placeholder.js +83 -69
  88. package/dist/src/empty-placeholder.js.map +1 -1
  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 -25
  168. package/dist/src/utils/analytics-events.js +27 -27
  169. package/dist/src/utils/array-equals.d.ts +4 -4
  170. package/dist/src/utils/array-equals.js +10 -10
  171. package/dist/src/utils/format-count.d.ts +7 -7
  172. package/dist/src/utils/format-count.js +76 -76
  173. package/dist/src/utils/format-date.d.ts +2 -2
  174. package/dist/src/utils/format-date.js +25 -25
  175. package/dist/src/utils/format-unit-size.d.ts +2 -2
  176. package/dist/src/utils/format-unit-size.js +33 -33
  177. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  178. package/dist/src/utils/local-date-from-utc.js +15 -15
  179. package/dist/src/utils/sha1.d.ts +2 -2
  180. package/dist/src/utils/sha1.js +8 -8
  181. package/dist/test/collection-browser.test.d.ts +1 -1
  182. package/dist/test/collection-browser.test.js +981 -967
  183. package/dist/test/collection-browser.test.js.map +1 -1
  184. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  185. package/dist/test/collection-facets/facets-template.test.js +134 -134
  186. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  187. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  188. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  189. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  190. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  191. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  192. package/dist/test/collection-facets.test.d.ts +2 -2
  193. package/dist/test/collection-facets.test.js +682 -682
  194. package/dist/test/empty-placeholder.test.d.ts +1 -1
  195. package/dist/test/empty-placeholder.test.js +63 -56
  196. package/dist/test/empty-placeholder.test.js.map +1 -1
  197. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  198. package/dist/test/expanded-date-picker.test.js +95 -95
  199. package/dist/test/icon-overlay.test.d.ts +1 -1
  200. package/dist/test/icon-overlay.test.js +24 -24
  201. package/dist/test/image-block.test.d.ts +1 -1
  202. package/dist/test/image-block.test.js +48 -48
  203. package/dist/test/item-image.test.d.ts +1 -1
  204. package/dist/test/item-image.test.js +84 -84
  205. package/dist/test/mediatype-config.test.d.ts +1 -1
  206. package/dist/test/mediatype-config.test.js +16 -16
  207. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  208. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  209. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  210. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  211. package/dist/test/mocks/mock-search-responses.d.ts +21 -21
  212. package/dist/test/mocks/mock-search-responses.js +707 -707
  213. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  214. package/dist/test/mocks/mock-search-service.js +50 -50
  215. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  216. package/dist/test/restoration-state-handler.test.js +270 -270
  217. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  218. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  219. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  220. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  221. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  223. package/dist/test/text-overlay.test.d.ts +1 -1
  224. package/dist/test/text-overlay.test.js +48 -48
  225. package/dist/test/text-snippet-block.test.d.ts +1 -1
  226. package/dist/test/text-snippet-block.test.js +57 -57
  227. package/dist/test/tile-stats.test.d.ts +1 -1
  228. package/dist/test/tile-stats.test.js +33 -33
  229. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  230. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  231. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  232. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  233. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  234. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  235. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  236. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  237. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  238. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  239. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  240. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  241. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  242. package/dist/test/tiles/list/tile-list.test.js +242 -242
  243. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  244. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  245. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  246. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  247. package/dist/test/utils/array-equals.test.d.ts +1 -1
  248. package/dist/test/utils/array-equals.test.js +26 -26
  249. package/dist/test/utils/format-count.test.d.ts +1 -1
  250. package/dist/test/utils/format-count.test.js +23 -23
  251. package/dist/test/utils/format-date.test.d.ts +1 -1
  252. package/dist/test/utils/format-date.test.js +17 -17
  253. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  254. package/dist/test/utils/format-unit-size.test.js +17 -17
  255. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  256. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  257. package/local.archive.org.cert +86 -86
  258. package/local.archive.org.key +27 -27
  259. package/package.json +1 -1
  260. package/renovate.json +6 -6
  261. package/src/collection-browser.ts +15 -1
  262. package/src/empty-placeholder.ts +17 -0
  263. package/test/collection-browser.test.ts +23 -0
  264. package/test/empty-placeholder.test.ts +26 -19
  265. package/tsconfig.json +21 -21
  266. package/web-dev-server.config.mjs +30 -30
  267. package/web-test-runner.config.mjs +41 -41
@@ -1,21 +1,23 @@
1
- import { LitElement, CSSResultGroup, nothing, TemplateResult } from 'lit';
2
- export declare type PlaceholderType = 'empty-query' | 'empty-collection' | 'no-results' | 'query-error' | null;
3
- export declare class EmptyPlaceholder extends LitElement {
4
- private static readonly MESSAGE_EMPTY_QUERY;
5
- private static readonly MESSAGE_NO_SEARCH_RESULTS;
6
- private static readonly MESSAGE_NO_COLLECTION_RESULTS;
7
- private static readonly MESSAGE_NO_VIEWABLE_MEMBERS;
8
- private static readonly MESSAGE_QUERY_ERROR;
9
- private static readonly QUERY_ERROR_DETAILS_MESSAGE;
10
- placeholderType: PlaceholderType;
11
- isMobileView?: false;
12
- isCollection?: false;
13
- detailMessage?: string;
14
- render(): TemplateResult<1> | typeof nothing;
15
- private get placeholderTemplate();
16
- private get emptyQueryTemplate();
17
- private get emptyCollectionTemplate();
18
- private get noResultsTemplate();
19
- private get queryErrorTemplate();
20
- static get styles(): CSSResultGroup;
21
- }
1
+ import { LitElement, CSSResultGroup, nothing, TemplateResult } from 'lit';
2
+ export declare type PlaceholderType = 'empty-query' | 'empty-collection' | 'no-results' | 'query-error' | 'collection-error' | null;
3
+ export declare class EmptyPlaceholder extends LitElement {
4
+ private static readonly MESSAGE_EMPTY_QUERY;
5
+ private static readonly MESSAGE_NO_SEARCH_RESULTS;
6
+ private static readonly MESSAGE_NO_COLLECTION_RESULTS;
7
+ private static readonly MESSAGE_NO_VIEWABLE_MEMBERS;
8
+ private static readonly MESSAGE_QUERY_ERROR;
9
+ private static readonly MESSAGE_COLLECTION_ERROR;
10
+ private static readonly QUERY_ERROR_DETAILS_MESSAGE;
11
+ placeholderType: PlaceholderType;
12
+ isMobileView?: false;
13
+ isCollection?: false;
14
+ detailMessage?: string;
15
+ render(): TemplateResult<1> | typeof nothing;
16
+ private get placeholderTemplate();
17
+ private get emptyQueryTemplate();
18
+ private get emptyCollectionTemplate();
19
+ private get noResultsTemplate();
20
+ private get queryErrorTemplate();
21
+ private get collectionErrorTemplate();
22
+ static get styles(): CSSResultGroup;
23
+ }
@@ -1,68 +1,78 @@
1
- var EmptyPlaceholder_1;
2
- import { __decorate } from "tslib";
3
- import { css, html, LitElement, nothing, } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { choose } from 'lit/directives/choose.js';
6
- import { msg } from '@lit/localize';
7
- import emptyQueryIcon from './assets/img/icons/empty-query';
8
- import nullResultIcon from './assets/img/icons/null-result';
9
- let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.placeholderType = null;
13
- this.detailMessage = '';
14
- }
15
- render() {
16
- return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
17
- }
18
- get placeholderTemplate() {
1
+ var EmptyPlaceholder_1;
2
+ import { __decorate } from "tslib";
3
+ import { css, html, LitElement, nothing, } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { choose } from 'lit/directives/choose.js';
6
+ import { msg } from '@lit/localize';
7
+ import emptyQueryIcon from './assets/img/icons/empty-query';
8
+ import nullResultIcon from './assets/img/icons/null-result';
9
+ let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.placeholderType = null;
13
+ this.detailMessage = '';
14
+ }
15
+ render() {
16
+ return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
17
+ }
18
+ get placeholderTemplate() {
19
19
  return html `
20
20
  <div
21
- class="placeholder ${this.placeholderType} ${this.isMobileView
22
- ? 'mobile'
21
+ class="placeholder ${this.placeholderType} ${this.isMobileView
22
+ ? 'mobile'
23
23
  : 'desktop'}"
24
24
  >
25
- ${choose(this.placeholderType, [
26
- ['empty-query', () => this.emptyQueryTemplate],
27
- ['empty-collection', () => this.emptyCollectionTemplate],
28
- ['no-results', () => this.noResultsTemplate],
29
- ['query-error', () => this.queryErrorTemplate],
25
+ ${choose(this.placeholderType, [
26
+ ['empty-query', () => this.emptyQueryTemplate],
27
+ ['empty-collection', () => this.emptyCollectionTemplate],
28
+ ['no-results', () => this.noResultsTemplate],
29
+ ['query-error', () => this.queryErrorTemplate],
30
+ ['collection-error', () => this.collectionErrorTemplate],
30
31
  ])}
31
32
  </div>
32
- `;
33
- }
34
- get emptyQueryTemplate() {
33
+ `;
34
+ }
35
+ get emptyQueryTemplate() {
35
36
  return html `
36
37
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_EMPTY_QUERY}</h2>
37
38
  <div>${emptyQueryIcon}</div>
38
- `;
39
- }
40
- get emptyCollectionTemplate() {
39
+ `;
40
+ }
41
+ get emptyCollectionTemplate() {
41
42
  return html `
42
43
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_NO_VIEWABLE_MEMBERS}</h2>
43
44
  <div>${nullResultIcon}</div>
44
- `;
45
- }
46
- get noResultsTemplate() {
45
+ `;
46
+ }
47
+ get noResultsTemplate() {
47
48
  return html `
48
49
  <h2 class="title">
49
- ${this.isCollection
50
- ? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
50
+ ${this.isCollection
51
+ ? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
51
52
  : EmptyPlaceholder_1.MESSAGE_NO_SEARCH_RESULTS}
52
53
  </h2>
53
54
  <div>${nullResultIcon}</div>
54
- `;
55
- }
56
- get queryErrorTemplate() {
55
+ `;
56
+ }
57
+ get queryErrorTemplate() {
57
58
  return html `
58
59
  <h2 class="title">${EmptyPlaceholder_1.MESSAGE_QUERY_ERROR}</h2>
59
60
  <div>${nullResultIcon}</div>
60
61
  <p class="error-details">
61
62
  ${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
62
63
  </p>
63
- `;
64
- }
65
- static get styles() {
64
+ `;
65
+ }
66
+ get collectionErrorTemplate() {
67
+ return html `
68
+ <h2 class="title">${EmptyPlaceholder_1.MESSAGE_COLLECTION_ERROR}</h2>
69
+ <div>${nullResultIcon}</div>
70
+ <p class="error-details">
71
+ ${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
72
+ </p>
73
+ `;
74
+ }
75
+ static get styles() {
66
76
  return css `
67
77
  :host {
68
78
  text-align: center;
@@ -103,37 +113,41 @@ let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitEl
103
113
  font-size: 1.2rem;
104
114
  word-break: break-word;
105
115
  }
106
- `;
107
- }
108
- };
109
- EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
110
- EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
111
- 'Try different keywords or a more general search.');
112
- EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
113
- 'Try different keywords or a more general search.');
114
- EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
116
+ `;
117
+ }
118
+ };
119
+ EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
120
+ EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
121
+ 'Try different keywords or a more general search.');
122
+ EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
123
+ 'Try different keywords or a more general search.');
124
+ EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
115
125
  EmptyPlaceholder.MESSAGE_QUERY_ERROR = msg(html `The search engine
116
126
  encountered an error, which might be related to your search query.
117
127
  <a
118
128
  href="https://help.archive.org/help/search-building-powerful-complex-queries/"
119
129
  >
120
130
  Tips for constructing search queries.
121
- </a> `);
122
- EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
123
- __decorate([
124
- property({ type: String })
125
- ], EmptyPlaceholder.prototype, "placeholderType", void 0);
126
- __decorate([
127
- property({ type: Boolean })
128
- ], EmptyPlaceholder.prototype, "isMobileView", void 0);
129
- __decorate([
130
- property({ type: Boolean })
131
- ], EmptyPlaceholder.prototype, "isCollection", void 0);
132
- __decorate([
133
- property({ type: String })
134
- ], EmptyPlaceholder.prototype, "detailMessage", void 0);
135
- EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
136
- customElement('empty-placeholder')
137
- ], EmptyPlaceholder);
138
- export { EmptyPlaceholder };
131
+ </a> `);
132
+ EmptyPlaceholder.MESSAGE_COLLECTION_ERROR = msg(html `The search engine
133
+ encountered an error while loading this collection. If the problem persists,
134
+ please let us know at
135
+ <a href="mailto:info@archive.org">info@archive.org</a>.`);
136
+ EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
137
+ __decorate([
138
+ property({ type: String })
139
+ ], EmptyPlaceholder.prototype, "placeholderType", void 0);
140
+ __decorate([
141
+ property({ type: Boolean })
142
+ ], EmptyPlaceholder.prototype, "isMobileView", void 0);
143
+ __decorate([
144
+ property({ type: Boolean })
145
+ ], EmptyPlaceholder.prototype, "isCollection", void 0);
146
+ __decorate([
147
+ property({ type: String })
148
+ ], EmptyPlaceholder.prototype, "detailMessage", void 0);
149
+ EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
150
+ customElement('empty-placeholder')
151
+ ], EmptyPlaceholder);
152
+ export { EmptyPlaceholder };
139
153
  //# sourceMappingURL=empty-placeholder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"empty-placeholder.js","sourceRoot":"","sources":["../../src/empty-placeholder.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,EAEV,OAAO,GAER,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAS5D,IAAa,gBAAgB,wBAA7B,MAAa,gBAAiB,SAAQ,UAAU;IAAhD;;QA6B8B,oBAAe,GAAoB,IAAI,CAAC;QAMxC,kBAAa,GAAY,EAAE,CAAC;IAqG1D,CAAC;IAnGC,MAAM;QACJ,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAA;;6BAEc,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY;YAC5D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS;;UAEX,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAC7B,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC9C,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACxD,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC5C,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC/C,CAAC;;KAEL,CAAC;IACJ,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,IAAI,CAAA;0BACW,kBAAgB,CAAC,mBAAmB;aACjD,cAAc;KACtB,CAAC;IACJ,CAAC;IAED,IAAY,uBAAuB;QACjC,OAAO,IAAI,CAAA;0BACW,kBAAgB,CAAC,2BAA2B;aACzD,cAAc;KACtB,CAAC;IACJ,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,YAAY;YACjB,CAAC,CAAC,kBAAgB,CAAC,6BAA6B;YAChD,CAAC,CAAC,kBAAgB,CAAC,yBAAyB;;aAEzC,cAAc;KACtB,CAAC;IACJ,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,IAAI,CAAA;0BACW,kBAAgB,CAAC,mBAAmB;aACjD,cAAc;;UAEjB,kBAAgB,CAAC,2BAA2B,IAAI,IAAI,CAAC,aAAa;;KAEvE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwCT,CAAC;IACJ,CAAC;CACF,CAAA;AAvIyB,oCAAmB,GAAG,GAAG,CAC/C,wEAAwE,CACxE,CAAA;AAEsB,0CAAyB,GAAG,GAAG,CACrD,sDAAsD;IACpD,kDAAkD,CACpD,CAAA;AAEsB,8CAA6B,GAAG,GAAG,CACzD,0DAA0D;IACxD,kDAAkD,CACpD,CAAA;AAEsB,4CAA2B,GAAG,GAAG,CACvD,6CAA6C,CAC7C,CAAA;AAEsB,oCAAmB,GAAG,GAAG,CAAC,IAAI,CAAA;;;;;;UAM9C,CAAE,CAAA;AAEc,4CAA2B,GAAG,GAAG,CAAC,gBAAgB,CAAE,CAAA;AAEhD;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDAAyC;AAEvC;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDAAsB;AAErB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDAAsB;AAEtB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDAA6B;AAnC7C,gBAAgB;IAD5B,aAAa,CAAC,mBAAmB,CAAC;GACtB,gBAAgB,CAwI5B;SAxIY,gBAAgB","sourcesContent":["import {\n css,\n html,\n LitElement,\n CSSResultGroup,\n nothing,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { choose } from 'lit/directives/choose.js';\nimport { msg } from '@lit/localize';\n\nimport emptyQueryIcon from './assets/img/icons/empty-query';\nimport nullResultIcon from './assets/img/icons/null-result';\n\nexport type PlaceholderType =\n | 'empty-query'\n | 'empty-collection'\n | 'no-results'\n | 'query-error'\n | null;\n@customElement('empty-placeholder')\nexport class EmptyPlaceholder extends LitElement {\n private static readonly MESSAGE_EMPTY_QUERY = msg(\n 'To begin searching, enter a search term in the box above and hit \"Go\".'\n );\n\n private static readonly MESSAGE_NO_SEARCH_RESULTS = msg(\n 'Your search did not match any items in the Archive. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_COLLECTION_RESULTS = msg(\n 'Your search did not match any items in this collection. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_VIEWABLE_MEMBERS = msg(\n 'This collection contains no viewable items.'\n );\n\n private static readonly MESSAGE_QUERY_ERROR = msg(html`The search engine\n encountered an error, which might be related to your search query.\n <a\n href=\"https://help.archive.org/help/search-building-powerful-complex-queries/\"\n >\n Tips for constructing search queries.\n </a> `);\n\n private static readonly QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');\n\n @property({ type: String }) placeholderType: PlaceholderType = null;\n\n @property({ type: Boolean }) isMobileView?: false;\n\n @property({ type: Boolean }) isCollection?: false;\n\n @property({ type: String }) detailMessage?: string = '';\n\n render() {\n return this.placeholderType ? html`${this.placeholderTemplate}` : nothing;\n }\n\n private get placeholderTemplate(): TemplateResult {\n return html`\n <div\n class=\"placeholder ${this.placeholderType} ${this.isMobileView\n ? 'mobile'\n : 'desktop'}\"\n >\n ${choose(this.placeholderType, [\n ['empty-query', () => this.emptyQueryTemplate],\n ['empty-collection', () => this.emptyCollectionTemplate],\n ['no-results', () => this.noResultsTemplate],\n ['query-error', () => this.queryErrorTemplate],\n ])}\n </div>\n `;\n }\n\n private get emptyQueryTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_EMPTY_QUERY}</h2>\n <div>${emptyQueryIcon}</div>\n `;\n }\n\n private get emptyCollectionTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS}</h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get noResultsTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">\n ${this.isCollection\n ? EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS\n : EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS}\n </h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get queryErrorTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_QUERY_ERROR}</h2>\n <div>${nullResultIcon}</div>\n <p class=\"error-details\">\n ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}\n </p>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n text-align: center;\n width: 100%;\n }\n\n a {\n text-decoration: none;\n }\n a:link {\n color: var(--ia-theme-link-color, #4b64ff);\n }\n a:hover {\n text-decoration: underline;\n }\n\n .placeholder {\n display: block;\n }\n\n .desktop svg {\n max-height: 40rem;\n }\n .desktop .title,\n .desktop .error-details {\n margin: 4rem 0;\n }\n\n .mobile svg {\n max-height: 20rem;\n }\n .mobile .title,\n .mobile .error-details {\n margin: 2rem 0.5;\n }\n\n .error-details {\n font-size: 1.2rem;\n word-break: break-word;\n }\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"empty-placeholder.js","sourceRoot":"","sources":["../../src/empty-placeholder.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n html,\n LitElement,\n CSSResultGroup,\n nothing,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { choose } from 'lit/directives/choose.js';\nimport { msg } from '@lit/localize';\n\nimport emptyQueryIcon from './assets/img/icons/empty-query';\nimport nullResultIcon from './assets/img/icons/null-result';\n\nexport type PlaceholderType =\n | 'empty-query'\n | 'empty-collection'\n | 'no-results'\n | 'query-error'\n | 'collection-error'\n | null;\n@customElement('empty-placeholder')\nexport class EmptyPlaceholder extends LitElement {\n private static readonly MESSAGE_EMPTY_QUERY = msg(\n 'To begin searching, enter a search term in the box above and hit \"Go\".'\n );\n\n private static readonly MESSAGE_NO_SEARCH_RESULTS = msg(\n 'Your search did not match any items in the Archive. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_COLLECTION_RESULTS = msg(\n 'Your search did not match any items in this collection. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_VIEWABLE_MEMBERS = msg(\n 'This collection contains no viewable items.'\n );\n\n private static readonly MESSAGE_QUERY_ERROR = msg(html`The search engine\n encountered an error, which might be related to your search query.\n <a\n href=\"https://help.archive.org/help/search-building-powerful-complex-queries/\"\n >\n Tips for constructing search queries.\n </a> `);\n\n private static readonly MESSAGE_COLLECTION_ERROR = msg(html`The search engine\n encountered an error while loading this collection. If the problem persists,\n please let us know at\n <a href=\"mailto:info@archive.org\">info@archive.org</a>.`);\n\n private static readonly QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');\n\n @property({ type: String }) placeholderType: PlaceholderType = null;\n\n @property({ type: Boolean }) isMobileView?: false;\n\n @property({ type: Boolean }) isCollection?: false;\n\n @property({ type: String }) detailMessage?: string = '';\n\n render() {\n return this.placeholderType ? html`${this.placeholderTemplate}` : nothing;\n }\n\n private get placeholderTemplate(): TemplateResult {\n return html`\n <div\n class=\"placeholder ${this.placeholderType} ${this.isMobileView\n ? 'mobile'\n : 'desktop'}\"\n >\n ${choose(this.placeholderType, [\n ['empty-query', () => this.emptyQueryTemplate],\n ['empty-collection', () => this.emptyCollectionTemplate],\n ['no-results', () => this.noResultsTemplate],\n ['query-error', () => this.queryErrorTemplate],\n ['collection-error', () => this.collectionErrorTemplate],\n ])}\n </div>\n `;\n }\n\n private get emptyQueryTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_EMPTY_QUERY}</h2>\n <div>${emptyQueryIcon}</div>\n `;\n }\n\n private get emptyCollectionTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS}</h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get noResultsTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">\n ${this.isCollection\n ? EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS\n : EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS}\n </h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get queryErrorTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_QUERY_ERROR}</h2>\n <div>${nullResultIcon}</div>\n <p class=\"error-details\">\n ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}\n </p>\n `;\n }\n\n private get collectionErrorTemplate(): TemplateResult {\n return html`\n <h2 class=\"title\">${EmptyPlaceholder.MESSAGE_COLLECTION_ERROR}</h2>\n <div>${nullResultIcon}</div>\n <p class=\"error-details\">\n ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}\n </p>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n text-align: center;\n width: 100%;\n }\n\n a {\n text-decoration: none;\n }\n a:link {\n color: var(--ia-theme-link-color, #4b64ff);\n }\n a:hover {\n text-decoration: underline;\n }\n\n .placeholder {\n display: block;\n }\n\n .desktop svg {\n max-height: 40rem;\n }\n .desktop .title,\n .desktop .error-details {\n margin: 4rem 0;\n }\n\n .mobile svg {\n max-height: 20rem;\n }\n .mobile .title,\n .mobile .error-details {\n margin: 2rem 0.5;\n }\n\n .error-details {\n font-size: 1.2rem;\n word-break: break-word;\n }\n `;\n }\n}\n"]}
@@ -1,43 +1,43 @@
1
- import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
- import type { ModalManagerInterface } from '@internetarchive/modal-manager';
3
- import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
4
- export declare class ExpandedDatePicker extends LitElement {
5
- minDate?: string;
6
- maxDate?: string;
7
- minSelectedDate?: string;
8
- maxSelectedDate?: string;
9
- buckets?: number[];
10
- modalManager?: ModalManagerInterface;
11
- analyticsHandler?: AnalyticsManagerInterface;
12
- render(): TemplateResult;
13
- connectedCallback(): void;
14
- disconnectedCallback(): void;
15
- /**
16
- * Add an event listener to close the date picker modal when the Esc key is pressed
17
- */
18
- private setupEscapeListener;
19
- /**
20
- * Remove the Esc key listener that was previously added
21
- */
22
- private removeEscapeListener;
23
- /**
24
- * Closes the modal dialog if the given event is pressing the Esc key.
25
- * Arrow function to ensure `this` remains bound to the current component.
26
- */
27
- private boundEscapeListener;
28
- /**
29
- * When the histogram is updated, keep track of the newly selected date range.
30
- * We don't commit to the new range until the apply button is clicked.
31
- */
32
- private histogramDateRangeUpdated;
33
- /**
34
- * When the Apply button is clicked, emit the current date range and close the modal.
35
- */
36
- private applyBtnClicked;
37
- /**
38
- * Closes the modal associated with this component (if it exists) and dispatches a
39
- * modalClosed event.
40
- */
41
- private closeModal;
42
- static get styles(): CSSResultGroup;
43
- }
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
+ import type { ModalManagerInterface } from '@internetarchive/modal-manager';
3
+ import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
4
+ export declare class ExpandedDatePicker extends LitElement {
5
+ minDate?: string;
6
+ maxDate?: string;
7
+ minSelectedDate?: string;
8
+ maxSelectedDate?: string;
9
+ buckets?: number[];
10
+ modalManager?: ModalManagerInterface;
11
+ analyticsHandler?: AnalyticsManagerInterface;
12
+ render(): TemplateResult;
13
+ connectedCallback(): void;
14
+ disconnectedCallback(): void;
15
+ /**
16
+ * Add an event listener to close the date picker modal when the Esc key is pressed
17
+ */
18
+ private setupEscapeListener;
19
+ /**
20
+ * Remove the Esc key listener that was previously added
21
+ */
22
+ private removeEscapeListener;
23
+ /**
24
+ * Closes the modal dialog if the given event is pressing the Esc key.
25
+ * Arrow function to ensure `this` remains bound to the current component.
26
+ */
27
+ private boundEscapeListener;
28
+ /**
29
+ * When the histogram is updated, keep track of the newly selected date range.
30
+ * We don't commit to the new range until the apply button is clicked.
31
+ */
32
+ private histogramDateRangeUpdated;
33
+ /**
34
+ * When the Apply button is clicked, emit the current date range and close the modal.
35
+ */
36
+ private applyBtnClicked;
37
+ /**
38
+ * Closes the modal associated with this component (if it exists) and dispatches a
39
+ * modalClosed event.
40
+ */
41
+ private closeModal;
42
+ static get styles(): CSSResultGroup;
43
+ }
@@ -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