@internetarchive/collection-browser 0.4.11 → 0.4.12

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 (251) 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 +50 -50
  12. package/dist/src/app-root.js +278 -278
  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/empty-query.d.ts +2 -2
  20. package/dist/src/assets/img/icons/empty-query.js +2 -2
  21. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  23. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  24. package/dist/src/assets/img/icons/eye.js +2 -2
  25. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  26. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  27. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  28. package/dist/src/assets/img/icons/login-required.js +2 -2
  29. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  30. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  55. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  56. package/dist/src/assets/img/icons/null-result.js +2 -2
  57. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  58. package/dist/src/assets/img/icons/restricted.js +2 -2
  59. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  60. package/dist/src/assets/img/icons/reviews.js +2 -2
  61. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  62. package/dist/src/assets/img/icons/upload.js +2 -2
  63. package/dist/src/assets/img/icons/views.d.ts +1 -1
  64. package/dist/src/assets/img/icons/views.js +2 -2
  65. package/dist/src/circular-activity-indicator.d.ts +5 -5
  66. package/dist/src/circular-activity-indicator.js +17 -17
  67. package/dist/src/collection-browser.d.ts +280 -279
  68. package/dist/src/collection-browser.js +1175 -1156
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  71. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  72. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  73. package/dist/src/collection-facets/facets-template.js +125 -125
  74. package/dist/src/collection-facets/more-facets-content.d.ts +76 -75
  75. package/dist/src/collection-facets/more-facets-content.js +354 -377
  76. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  77. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  78. package/dist/src/collection-facets/more-facets-pagination.js +197 -195
  79. package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
  80. package/dist/src/collection-facets/toggle-switch.d.ts +41 -0
  81. package/dist/src/collection-facets/toggle-switch.js +184 -0
  82. package/dist/src/collection-facets/toggle-switch.js.map +1 -0
  83. package/dist/src/collection-facets.d.ts +81 -81
  84. package/dist/src/collection-facets.js +375 -375
  85. package/dist/src/empty-placeholder.d.ts +13 -11
  86. package/dist/src/empty-placeholder.js +80 -44
  87. package/dist/src/empty-placeholder.js.map +1 -1
  88. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  89. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  90. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  91. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  92. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  93. package/dist/src/mediatype/mediatype-config.js +85 -85
  94. package/dist/src/models.d.ts +115 -115
  95. package/dist/src/models.js +125 -125
  96. package/dist/src/restoration-state-handler.d.ts +45 -45
  97. package/dist/src/restoration-state-handler.js +230 -230
  98. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  99. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  100. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -20
  101. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  102. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  103. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  104. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  105. package/dist/src/sort-filter-bar/img/list.js +2 -2
  106. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  108. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  110. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  111. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  112. package/dist/src/styles/item-image-styles.d.ts +8 -8
  113. package/dist/src/styles/item-image-styles.js +9 -9
  114. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  115. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  116. package/dist/src/tiles/grid/account-tile.d.ts +20 -20
  117. package/dist/src/tiles/grid/account-tile.js +64 -64
  118. package/dist/src/tiles/grid/collection-tile.d.ts +17 -17
  119. package/dist/src/tiles/grid/collection-tile.js +71 -71
  120. package/dist/src/tiles/grid/item-tile.d.ts +32 -32
  121. package/dist/src/tiles/grid/item-tile.js +122 -122
  122. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  123. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +7 -7
  124. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  125. package/dist/src/tiles/grid/tile-stats.js +40 -40
  126. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  127. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  128. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  129. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  130. package/dist/src/tiles/image-block.d.ts +17 -17
  131. package/dist/src/tiles/image-block.js +72 -72
  132. package/dist/src/tiles/item-image.d.ts +35 -35
  133. package/dist/src/tiles/item-image.js +117 -117
  134. package/dist/src/tiles/list/account-label.d.ts +1 -1
  135. package/dist/src/tiles/list/account-label.js +6 -6
  136. package/dist/src/tiles/list/date-label.d.ts +1 -1
  137. package/dist/src/tiles/list/date-label.js +12 -12
  138. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  139. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  140. package/dist/src/tiles/list/tile-list-compact.d.ts +22 -21
  141. package/dist/src/tiles/list/tile-list-compact.js +114 -101
  142. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  143. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  144. package/dist/src/tiles/list/tile-list.js +304 -301
  145. package/dist/src/tiles/list/tile-list.js.map +1 -1
  146. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  147. package/dist/src/tiles/mediatype-icon.js +47 -47
  148. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  149. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  150. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  151. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  152. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  153. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  154. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  155. package/dist/src/tiles/text-snippet-block.js +73 -73
  156. package/dist/src/tiles/tile-dispatcher.d.ts +58 -58
  157. package/dist/src/tiles/tile-dispatcher.js +194 -194
  158. package/dist/src/utils/analytics-events.d.ts +22 -22
  159. package/dist/src/utils/analytics-events.js +24 -24
  160. package/dist/src/utils/format-count.d.ts +7 -7
  161. package/dist/src/utils/format-count.js +76 -76
  162. package/dist/src/utils/format-date.d.ts +2 -2
  163. package/dist/src/utils/format-date.js +23 -23
  164. package/dist/src/utils/format-unit-size.d.ts +2 -2
  165. package/dist/src/utils/format-unit-size.js +33 -33
  166. package/dist/test/collection-browser.test.d.ts +1 -1
  167. package/dist/test/collection-browser.test.js +584 -584
  168. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  169. package/dist/test/collection-facets/facets-template.test.js +62 -62
  170. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  171. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  172. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  173. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  174. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -0
  175. package/dist/test/collection-facets/toggle-switch.test.js +87 -0
  176. package/dist/test/collection-facets/toggle-switch.test.js.map +1 -0
  177. package/dist/test/collection-facets.test.d.ts +2 -2
  178. package/dist/test/collection-facets.test.js +460 -460
  179. package/dist/test/empty-placeholder.test.d.ts +1 -1
  180. package/dist/test/empty-placeholder.test.js +33 -33
  181. package/dist/test/icon-overlay.test.d.ts +1 -1
  182. package/dist/test/icon-overlay.test.js +24 -24
  183. package/dist/test/image-block.test.d.ts +1 -1
  184. package/dist/test/image-block.test.js +48 -48
  185. package/dist/test/item-image.test.d.ts +1 -1
  186. package/dist/test/item-image.test.js +84 -84
  187. package/dist/test/mediatype-config.test.d.ts +1 -1
  188. package/dist/test/mediatype-config.test.js +16 -16
  189. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  190. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  191. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  192. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  193. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  194. package/dist/test/mocks/mock-search-responses.js +341 -341
  195. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  196. package/dist/test/mocks/mock-search-service.js +40 -40
  197. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  198. package/dist/test/restoration-state-handler.test.js +125 -125
  199. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  200. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  201. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  202. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  203. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  204. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  205. package/dist/test/text-overlay.test.d.ts +1 -1
  206. package/dist/test/text-overlay.test.js +48 -48
  207. package/dist/test/text-snippet-block.test.d.ts +1 -1
  208. package/dist/test/text-snippet-block.test.js +57 -57
  209. package/dist/test/tile-stats.test.d.ts +1 -1
  210. package/dist/test/tile-stats.test.js +33 -33
  211. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  212. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  213. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  214. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  215. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  216. package/dist/test/tiles/grid/item-tile.test.js +158 -158
  217. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  218. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  219. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  220. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  221. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  222. package/dist/test/tiles/list/tile-list-compact.test.js +104 -92
  223. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -1
  224. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  225. package/dist/test/tiles/list/tile-list.test.js +175 -163
  226. package/dist/test/tiles/list/tile-list.test.js.map +1 -1
  227. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  228. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  229. package/dist/test/utils/format-count.test.d.ts +1 -1
  230. package/dist/test/utils/format-count.test.js +23 -23
  231. package/dist/test/utils/format-date.test.d.ts +1 -1
  232. package/dist/test/utils/format-date.test.js +17 -17
  233. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  234. package/dist/test/utils/format-unit-size.test.js +17 -17
  235. package/local.archive.org.cert +86 -86
  236. package/local.archive.org.key +27 -27
  237. package/package.json +3 -3
  238. package/renovate.json +6 -6
  239. package/src/collection-browser.ts +25 -1
  240. package/src/collection-facets/more-facets-content.ts +25 -48
  241. package/src/collection-facets/more-facets-pagination.ts +5 -3
  242. package/src/collection-facets/toggle-switch.ts +184 -0
  243. package/src/empty-placeholder.ts +53 -7
  244. package/src/tiles/list/tile-list-compact.ts +15 -2
  245. package/src/tiles/list/tile-list.ts +3 -0
  246. package/test/collection-facets/toggle-switch.test.ts +154 -0
  247. package/test/tiles/list/tile-list-compact.test.ts +14 -0
  248. package/test/tiles/list/tile-list.test.ts +14 -0
  249. package/tsconfig.json +21 -21
  250. package/web-dev-server.config.mjs +30 -30
  251. package/web-test-runner.config.mjs +41 -41
@@ -1,34 +1,34 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html, css, nothing, } from 'lit';
3
- import { customElement, property, query, state } from 'lit/decorators.js';
4
- import { SortField, SortFieldDisplayName, } from '../models';
5
- import './alpha-bar';
6
- import { sortIcon } from './img/sort-triangle';
7
- import { tileIcon } from './img/tile';
8
- import { listIcon } from './img/list';
9
- import { compactIcon } from './img/compact';
10
- let SortFilterBar = class SortFilterBar extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- this.sortDirection = null;
14
- this.selectedSort = SortField.relevance;
15
- this.selectedTitleFilter = null;
16
- this.selectedCreatorFilter = null;
17
- this.showRelevance = true;
18
- this.alphaSelectorVisible = null;
19
- this.dateSortSelectorVisible = false;
20
- this.viewSortSelectorVisible = false;
21
- this.desktopSelectorBarWidth = 0;
22
- this.selectorBarContainerWidth = 0;
23
- this.hoveringOverDateSortOptions = false;
24
- this.boundSortBarSelectorEscapeListener = (e) => {
25
- if (e.key === 'Escape') {
26
- this.viewSortSelectorVisible = false;
27
- this.dateSortSelectorVisible = false;
28
- }
29
- };
30
- }
31
- render() {
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html, css, nothing, } from 'lit';
3
+ import { customElement, property, query, state } from 'lit/decorators.js';
4
+ import { SortField, SortFieldDisplayName, } from '../models';
5
+ import './alpha-bar';
6
+ import { sortIcon } from './img/sort-triangle';
7
+ import { tileIcon } from './img/tile';
8
+ import { listIcon } from './img/list';
9
+ import { compactIcon } from './img/compact';
10
+ let SortFilterBar = class SortFilterBar extends LitElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.sortDirection = null;
14
+ this.selectedSort = SortField.relevance;
15
+ this.selectedTitleFilter = null;
16
+ this.selectedCreatorFilter = null;
17
+ this.showRelevance = true;
18
+ this.alphaSelectorVisible = null;
19
+ this.dateSortSelectorVisible = false;
20
+ this.viewSortSelectorVisible = false;
21
+ this.desktopSelectorBarWidth = 0;
22
+ this.selectorBarContainerWidth = 0;
23
+ this.hoveringOverDateSortOptions = false;
24
+ this.boundSortBarSelectorEscapeListener = (e) => {
25
+ if (e.key === 'Escape') {
26
+ this.viewSortSelectorVisible = false;
27
+ this.dateSortSelectorVisible = false;
28
+ }
29
+ };
30
+ }
31
+ render() {
32
32
  return html `
33
33
  <div id="container">
34
34
  <div id="sort-bar">
@@ -44,113 +44,113 @@ let SortFilterBar = class SortFilterBar extends LitElement {
44
44
  <div id="display-style-selector">${this.displayOptionTemplate}</div>
45
45
  </div>
46
46
 
47
- ${this.viewSortSelectorVisible && !this.mobileSelectorVisible
48
- ? this.viewSortSelector
47
+ ${this.viewSortSelectorVisible && !this.mobileSelectorVisible
48
+ ? this.viewSortSelector
49
49
  : nothing}
50
- ${this.dateSortSelectorVisible && !this.mobileSelectorVisible
51
- ? this.dateSortSelector
50
+ ${this.dateSortSelectorVisible && !this.mobileSelectorVisible
51
+ ? this.dateSortSelector
52
52
  : nothing}
53
53
  ${this.alphaBarTemplate}
54
54
 
55
55
  <div id="bottom-shadow"></div>
56
56
  </div>
57
- `;
58
- }
59
- updated(changed) {
60
- if (changed.has('displayMode')) {
61
- this.displayModeChanged();
62
- }
63
- if (changed.has('selectedSort') && this.sortDirection === null) {
64
- this.sortDirection = 'desc';
65
- }
66
- if (changed.has('selectedTitleFilter') && this.selectedTitleFilter) {
67
- this.alphaSelectorVisible = 'title';
68
- }
69
- if (changed.has('selectedCreatorFilter') && this.selectedCreatorFilter) {
70
- this.alphaSelectorVisible = 'creator';
71
- }
72
- if (changed.has('dateSortSelectorVisible') ||
73
- changed.has('viewSortSelectorVisible')) {
74
- this.setupEscapeListeners();
75
- }
76
- if (changed.has('resizeObserver')) {
77
- const oldObserver = changed.get('resizeObserver');
78
- if (oldObserver)
79
- this.disconnectResizeObserver(oldObserver);
80
- this.setupResizeObserver();
81
- }
82
- }
83
- setupEscapeListeners() {
84
- if (this.dateSortSelectorVisible || this.viewSortSelectorVisible) {
85
- document.addEventListener('keydown', this.boundSortBarSelectorEscapeListener);
86
- }
87
- else {
88
- document.removeEventListener('keydown', this.boundSortBarSelectorEscapeListener);
89
- }
90
- }
91
- disconnectedCallback() {
92
- if (this.resizeObserver) {
93
- this.disconnectResizeObserver(this.resizeObserver);
94
- }
95
- }
96
- disconnectResizeObserver(resizeObserver) {
97
- resizeObserver.removeObserver({
98
- target: this.sortSelectorContainer,
99
- handler: this,
100
- });
101
- resizeObserver.removeObserver({
102
- target: this.desktopSortSelector,
103
- handler: this,
104
- });
105
- }
106
- setupResizeObserver() {
107
- if (!this.resizeObserver)
108
- return;
109
- this.resizeObserver.addObserver({
110
- target: this.sortSelectorContainer,
111
- handler: this,
112
- });
113
- this.resizeObserver.addObserver({
114
- target: this.desktopSortSelector,
115
- handler: this,
116
- });
117
- }
118
- get mobileSelectorVisible() {
119
- return this.selectorBarContainerWidth - 10 < this.desktopSelectorBarWidth;
120
- }
121
- get alphaBarTemplate() {
122
- if (!['title', 'creator'].includes(this.selectedSort))
123
- return nothing;
124
- if (this.alphaSelectorVisible === null) {
125
- if (this.selectedSort === 'creator')
126
- return this.creatorSelectorBar;
127
- if (this.selectedSort === 'title')
128
- return this.titleSelectorBar;
129
- }
130
- else {
131
- return this.alphaSelectorVisible === 'creator'
132
- ? this.creatorSelectorBar
133
- : this.titleSelectorBar;
134
- }
135
- return nothing;
136
- }
137
- handleResize(entry) {
138
- if (entry.target === this.desktopSortSelector) {
139
- this.desktopSelectorBarWidth = entry.contentRect.width;
140
- }
141
- else if (entry.target === this.sortSelectorContainer) {
142
- this.selectorBarContainerWidth = entry.contentRect.width;
143
- }
144
- }
145
- get sortDirectionSelectorTemplate() {
57
+ `;
58
+ }
59
+ updated(changed) {
60
+ if (changed.has('displayMode')) {
61
+ this.displayModeChanged();
62
+ }
63
+ if (changed.has('selectedSort') && this.sortDirection === null) {
64
+ this.sortDirection = 'desc';
65
+ }
66
+ if (changed.has('selectedTitleFilter') && this.selectedTitleFilter) {
67
+ this.alphaSelectorVisible = 'title';
68
+ }
69
+ if (changed.has('selectedCreatorFilter') && this.selectedCreatorFilter) {
70
+ this.alphaSelectorVisible = 'creator';
71
+ }
72
+ if (changed.has('dateSortSelectorVisible') ||
73
+ changed.has('viewSortSelectorVisible')) {
74
+ this.setupEscapeListeners();
75
+ }
76
+ if (changed.has('resizeObserver')) {
77
+ const oldObserver = changed.get('resizeObserver');
78
+ if (oldObserver)
79
+ this.disconnectResizeObserver(oldObserver);
80
+ this.setupResizeObserver();
81
+ }
82
+ }
83
+ setupEscapeListeners() {
84
+ if (this.dateSortSelectorVisible || this.viewSortSelectorVisible) {
85
+ document.addEventListener('keydown', this.boundSortBarSelectorEscapeListener);
86
+ }
87
+ else {
88
+ document.removeEventListener('keydown', this.boundSortBarSelectorEscapeListener);
89
+ }
90
+ }
91
+ disconnectedCallback() {
92
+ if (this.resizeObserver) {
93
+ this.disconnectResizeObserver(this.resizeObserver);
94
+ }
95
+ }
96
+ disconnectResizeObserver(resizeObserver) {
97
+ resizeObserver.removeObserver({
98
+ target: this.sortSelectorContainer,
99
+ handler: this,
100
+ });
101
+ resizeObserver.removeObserver({
102
+ target: this.desktopSortSelector,
103
+ handler: this,
104
+ });
105
+ }
106
+ setupResizeObserver() {
107
+ if (!this.resizeObserver)
108
+ return;
109
+ this.resizeObserver.addObserver({
110
+ target: this.sortSelectorContainer,
111
+ handler: this,
112
+ });
113
+ this.resizeObserver.addObserver({
114
+ target: this.desktopSortSelector,
115
+ handler: this,
116
+ });
117
+ }
118
+ get mobileSelectorVisible() {
119
+ return this.selectorBarContainerWidth - 10 < this.desktopSelectorBarWidth;
120
+ }
121
+ get alphaBarTemplate() {
122
+ if (!['title', 'creator'].includes(this.selectedSort))
123
+ return nothing;
124
+ if (this.alphaSelectorVisible === null) {
125
+ if (this.selectedSort === 'creator')
126
+ return this.creatorSelectorBar;
127
+ if (this.selectedSort === 'title')
128
+ return this.titleSelectorBar;
129
+ }
130
+ else {
131
+ return this.alphaSelectorVisible === 'creator'
132
+ ? this.creatorSelectorBar
133
+ : this.titleSelectorBar;
134
+ }
135
+ return nothing;
136
+ }
137
+ handleResize(entry) {
138
+ if (entry.target === this.desktopSortSelector) {
139
+ this.desktopSelectorBarWidth = entry.contentRect.width;
140
+ }
141
+ else if (entry.target === this.sortSelectorContainer) {
142
+ this.selectorBarContainerWidth = entry.contentRect.width;
143
+ }
144
+ }
145
+ get sortDirectionSelectorTemplate() {
146
146
  return html `
147
147
  <div id="sort-direction-selector">
148
148
  <button
149
149
  id="sort-ascending-btn"
150
150
  class="sort-button ${this.sortDirection === 'asc' ? 'selected' : ''}"
151
151
  ?disabled=${this.selectedSort === 'relevance'}
152
- @click=${() => {
153
- this.setSortDirections('asc');
152
+ @click=${() => {
153
+ this.setSortDirections('asc');
154
154
  }}
155
155
  >
156
156
  ${sortIcon}
@@ -159,16 +159,16 @@ let SortFilterBar = class SortFilterBar extends LitElement {
159
159
  id="sort-descending-btn"
160
160
  class="sort-button ${this.sortDirection === 'desc' ? 'selected' : ''}"
161
161
  ?disabled=${this.selectedSort === 'relevance'}
162
- @click=${() => {
163
- this.setSortDirections('desc');
162
+ @click=${() => {
163
+ this.setSortDirections('desc');
164
164
  }}
165
165
  >
166
166
  ${sortIcon}
167
167
  </button>
168
168
  </div>
169
- `;
170
- }
171
- get desktopSortSelectorTemplate() {
169
+ `;
170
+ }
171
+ get desktopSortSelectorTemplate() {
172
172
  return html `
173
173
  <ul
174
174
  id="desktop-sort-selector"
@@ -176,112 +176,112 @@ let SortFilterBar = class SortFilterBar extends LitElement {
176
176
  >
177
177
  <li id="sort-by-text">Sort By</li>
178
178
  <li>
179
- ${this.showRelevance
180
- ? this.getSortDisplayOption(SortField.relevance)
179
+ ${this.showRelevance
180
+ ? this.getSortDisplayOption(SortField.relevance)
181
181
  : nothing}
182
182
  </li>
183
183
  <li>
184
- ${this.getSortDisplayOption(SortField.weeklyview, {
185
- clickEvent: () => {
186
- if (!this.viewOptionSelected)
187
- this.setSelectedSort(SortField.weeklyview);
188
- this.viewSortSelectorVisible = !this.viewSortSelectorVisible;
189
- this.dateSortSelectorVisible = false;
190
- this.alphaSelectorVisible = null;
191
- this.selectedTitleFilter = null;
192
- this.selectedCreatorFilter = null;
193
- this.emitTitleLetterChangedEvent();
194
- this.emitCreatorLetterChangedEvent();
195
- },
196
- displayName: html `${this.viewSortField}`,
197
- isSelected: () => this.viewOptionSelected,
184
+ ${this.getSortDisplayOption(SortField.weeklyview, {
185
+ clickEvent: () => {
186
+ if (!this.viewOptionSelected)
187
+ this.setSelectedSort(SortField.weeklyview);
188
+ this.viewSortSelectorVisible = !this.viewSortSelectorVisible;
189
+ this.dateSortSelectorVisible = false;
190
+ this.alphaSelectorVisible = null;
191
+ this.selectedTitleFilter = null;
192
+ this.selectedCreatorFilter = null;
193
+ this.emitTitleLetterChangedEvent();
194
+ this.emitCreatorLetterChangedEvent();
195
+ },
196
+ displayName: html `${this.viewSortField}`,
197
+ isSelected: () => this.viewOptionSelected,
198
198
  })}
199
199
  </li>
200
200
  <li>
201
- ${this.getSortDisplayOption(SortField.title, {
202
- clickEvent: () => {
203
- this.alphaSelectorVisible = 'title';
204
- this.selectedCreatorFilter = null;
205
- this.dateSortSelectorVisible = false;
206
- this.viewSortSelectorVisible = false;
207
- this.setSelectedSort(SortField.title);
208
- this.emitCreatorLetterChangedEvent();
209
- },
201
+ ${this.getSortDisplayOption(SortField.title, {
202
+ clickEvent: () => {
203
+ this.alphaSelectorVisible = 'title';
204
+ this.selectedCreatorFilter = null;
205
+ this.dateSortSelectorVisible = false;
206
+ this.viewSortSelectorVisible = false;
207
+ this.setSelectedSort(SortField.title);
208
+ this.emitCreatorLetterChangedEvent();
209
+ },
210
210
  })}
211
211
  </li>
212
212
  <li>
213
- ${this.getSortDisplayOption(SortField.date, {
214
- clickEvent: () => {
215
- if (!this.dateOptionSelected)
216
- this.setSelectedSort(SortField.date);
217
- this.dateSortSelectorVisible = !this.dateSortSelectorVisible;
218
- this.viewSortSelectorVisible = false;
219
- this.alphaSelectorVisible = null;
220
- this.selectedTitleFilter = null;
221
- this.selectedCreatorFilter = null;
222
- this.emitTitleLetterChangedEvent();
223
- this.emitCreatorLetterChangedEvent();
224
- },
225
- displayName: html `${this.dateSortField}`,
226
- isSelected: () => this.dateOptionSelected,
213
+ ${this.getSortDisplayOption(SortField.date, {
214
+ clickEvent: () => {
215
+ if (!this.dateOptionSelected)
216
+ this.setSelectedSort(SortField.date);
217
+ this.dateSortSelectorVisible = !this.dateSortSelectorVisible;
218
+ this.viewSortSelectorVisible = false;
219
+ this.alphaSelectorVisible = null;
220
+ this.selectedTitleFilter = null;
221
+ this.selectedCreatorFilter = null;
222
+ this.emitTitleLetterChangedEvent();
223
+ this.emitCreatorLetterChangedEvent();
224
+ },
225
+ displayName: html `${this.dateSortField}`,
226
+ isSelected: () => this.dateOptionSelected,
227
227
  })}
228
228
  </li>
229
229
  <li>
230
- ${this.getSortDisplayOption(SortField.creator, {
231
- clickEvent: () => {
232
- this.alphaSelectorVisible = 'creator';
233
- this.selectedTitleFilter = null;
234
- this.dateSortSelectorVisible = false;
235
- this.setSelectedSort(SortField.creator);
236
- this.emitTitleLetterChangedEvent();
237
- },
230
+ ${this.getSortDisplayOption(SortField.creator, {
231
+ clickEvent: () => {
232
+ this.alphaSelectorVisible = 'creator';
233
+ this.selectedTitleFilter = null;
234
+ this.dateSortSelectorVisible = false;
235
+ this.setSelectedSort(SortField.creator);
236
+ this.emitTitleLetterChangedEvent();
237
+ },
238
238
  })}
239
239
  </li>
240
240
  </ul>
241
- `;
242
- }
243
- /**
244
- * This generates each of the sort option links.
245
- *
246
- * It manages the display value and the selected state of the option.
247
- *
248
- * @param sortField
249
- * @param options {
250
- * additionalClickEvent?: () => void; If this is provided, it will also be called when the option is clicked.
251
- * displayName?: TemplateResult; The name to display for the option. Defaults to the sortField display name.
252
- * isSelected?: () => boolean; A function that returns true if the option is selected. Defaults to the selectedSort === sortField.
253
- * }
254
- * @returns
255
- */
256
- getSortDisplayOption(sortField, options) {
257
- var _a, _b;
258
- const isSelected = (_a = options === null || options === void 0 ? void 0 : options.isSelected) !== null && _a !== void 0 ? _a : (() => this.selectedSort === sortField);
259
- const displayName = (_b = options === null || options === void 0 ? void 0 : options.displayName) !== null && _b !== void 0 ? _b : SortFieldDisplayName[sortField];
241
+ `;
242
+ }
243
+ /**
244
+ * This generates each of the sort option links.
245
+ *
246
+ * It manages the display value and the selected state of the option.
247
+ *
248
+ * @param sortField
249
+ * @param options {
250
+ * additionalClickEvent?: () => void; If this is provided, it will also be called when the option is clicked.
251
+ * displayName?: TemplateResult; The name to display for the option. Defaults to the sortField display name.
252
+ * isSelected?: () => boolean; A function that returns true if the option is selected. Defaults to the selectedSort === sortField.
253
+ * }
254
+ * @returns
255
+ */
256
+ getSortDisplayOption(sortField, options) {
257
+ var _a, _b;
258
+ const isSelected = (_a = options === null || options === void 0 ? void 0 : options.isSelected) !== null && _a !== void 0 ? _a : (() => this.selectedSort === sortField);
259
+ const displayName = (_b = options === null || options === void 0 ? void 0 : options.displayName) !== null && _b !== void 0 ? _b : SortFieldDisplayName[sortField];
260
260
  return html `
261
261
  <a
262
262
  href="#"
263
- @click=${(e) => {
264
- e.preventDefault();
265
- if (options === null || options === void 0 ? void 0 : options.clickEvent) {
266
- options.clickEvent(e);
267
- }
268
- else {
269
- this.alphaSelectorVisible = null;
270
- this.dateSortSelectorVisible = false;
271
- this.selectedTitleFilter = null;
272
- this.selectedCreatorFilter = null;
273
- this.setSelectedSort(sortField);
274
- this.emitTitleLetterChangedEvent();
275
- this.emitCreatorLetterChangedEvent();
276
- }
263
+ @click=${(e) => {
264
+ e.preventDefault();
265
+ if (options === null || options === void 0 ? void 0 : options.clickEvent) {
266
+ options.clickEvent(e);
267
+ }
268
+ else {
269
+ this.alphaSelectorVisible = null;
270
+ this.dateSortSelectorVisible = false;
271
+ this.selectedTitleFilter = null;
272
+ this.selectedCreatorFilter = null;
273
+ this.setSelectedSort(sortField);
274
+ this.emitTitleLetterChangedEvent();
275
+ this.emitCreatorLetterChangedEvent();
276
+ }
277
277
  }}
278
278
  class=${isSelected() ? 'selected' : ''}
279
279
  >
280
280
  ${displayName}
281
281
  </a>
282
- `;
283
- }
284
- get mobileSortSelectorTemplate() {
282
+ `;
283
+ }
284
+ get mobileSortSelectorTemplate() {
285
285
  return html `
286
286
  <select
287
287
  id="mobile-sort-selector"
@@ -294,30 +294,30 @@ let SortFilterBar = class SortFilterBar extends LitElement {
294
294
  </option>
295
295
  `)}
296
296
  </select>
297
- `;
298
- }
299
- mobileSortChanged(e) {
300
- const target = e.target;
301
- const sortField = target.value;
302
- this.setSelectedSort(sortField);
303
- this.alphaSelectorVisible = null;
304
- if (sortField !== 'title' && this.selectedTitleFilter) {
305
- this.selectedTitleFilter = null;
306
- this.emitTitleLetterChangedEvent();
307
- }
308
- if (sortField !== 'creator' && this.selectedCreatorFilter) {
309
- this.selectedCreatorFilter = null;
310
- this.emitCreatorLetterChangedEvent();
311
- }
312
- }
313
- get displayOptionTemplate() {
297
+ `;
298
+ }
299
+ mobileSortChanged(e) {
300
+ const target = e.target;
301
+ const sortField = target.value;
302
+ this.setSelectedSort(sortField);
303
+ this.alphaSelectorVisible = null;
304
+ if (sortField !== 'title' && this.selectedTitleFilter) {
305
+ this.selectedTitleFilter = null;
306
+ this.emitTitleLetterChangedEvent();
307
+ }
308
+ if (sortField !== 'creator' && this.selectedCreatorFilter) {
309
+ this.selectedCreatorFilter = null;
310
+ this.emitCreatorLetterChangedEvent();
311
+ }
312
+ }
313
+ get displayOptionTemplate() {
314
314
  return html `
315
315
  <ul>
316
316
  <li>
317
317
  <button
318
318
  id="grid-button"
319
- @click=${() => {
320
- this.displayMode = 'grid';
319
+ @click=${() => {
320
+ this.displayMode = 'grid';
321
321
  }}
322
322
  class=${this.displayMode === 'grid' ? 'active' : ''}
323
323
  title="Tile view"
@@ -328,8 +328,8 @@ let SortFilterBar = class SortFilterBar extends LitElement {
328
328
  <li>
329
329
  <button
330
330
  id="list-detail-button"
331
- @click=${() => {
332
- this.displayMode = 'list-detail';
331
+ @click=${() => {
332
+ this.displayMode = 'list-detail';
333
333
  }}
334
334
  class=${this.displayMode === 'list-detail' ? 'active' : ''}
335
335
  title="List view"
@@ -340,8 +340,8 @@ let SortFilterBar = class SortFilterBar extends LitElement {
340
340
  <li>
341
341
  <button
342
342
  id="list-compact-button"
343
- @click=${() => {
344
- this.displayMode = 'list-compact';
343
+ @click=${() => {
344
+ this.displayMode = 'list-compact';
345
345
  }}
346
346
  class=${this.displayMode === 'list-compact' ? 'active' : ''}
347
347
  title="Compact list view"
@@ -350,17 +350,17 @@ let SortFilterBar = class SortFilterBar extends LitElement {
350
350
  </button>
351
351
  </li>
352
352
  </ul>
353
- `;
354
- }
355
- get dateSortSelector() {
353
+ `;
354
+ }
355
+ get dateSortSelector() {
356
356
  return html `
357
357
  <div
358
358
  id="date-sort-selector-backdrop"
359
- @keyup=${() => {
360
- this.dateSortSelectorVisible = false;
359
+ @keyup=${() => {
360
+ this.dateSortSelectorVisible = false;
361
361
  }}
362
- @click=${() => {
363
- this.dateSortSelectorVisible = false;
362
+ @click=${() => {
363
+ this.dateSortSelectorVisible = false;
364
364
  }}
365
365
  ></div>
366
366
  <div id="date-sort-selector">
@@ -371,17 +371,17 @@ let SortFilterBar = class SortFilterBar extends LitElement {
371
371
  <li>${this.getDateSortButton(SortField.dateadded)}</li>
372
372
  </ul>
373
373
  </div>
374
- `;
375
- }
376
- get viewSortSelector() {
374
+ `;
375
+ }
376
+ get viewSortSelector() {
377
377
  return html `
378
378
  <div
379
379
  id="view-sort-selector-backdrop"
380
- @keyup=${() => {
381
- this.viewSortSelectorVisible = false;
380
+ @keyup=${() => {
381
+ this.viewSortSelectorVisible = false;
382
382
  }}
383
- @click=${() => {
384
- this.viewSortSelectorVisible = false;
383
+ @click=${() => {
384
+ this.viewSortSelectorVisible = false;
385
385
  }}
386
386
  ></div>
387
387
  <div id="view-sort-selector">
@@ -390,155 +390,155 @@ let SortFilterBar = class SortFilterBar extends LitElement {
390
390
  <li>${this.getDateSortButton(SortField.weeklyview)}</li>
391
391
  </ul>
392
392
  </div>
393
- `;
394
- }
395
- getDateSortButton(sortField) {
393
+ `;
394
+ }
395
+ getDateSortButton(sortField) {
396
396
  return html `
397
397
  <button
398
- @click=${() => {
399
- this.selectDateSort(sortField);
398
+ @click=${() => {
399
+ this.selectDateSort(sortField);
400
400
  }}
401
401
  class=${this.selectedSort === sortField ? 'selected' : ''}
402
402
  >
403
403
  ${SortFieldDisplayName[sortField]}
404
404
  </button>
405
- `;
406
- }
407
- selectDateSort(sortField) {
408
- this.dateSortSelectorVisible = false;
409
- this.viewSortSelectorVisible = false;
410
- this.setSelectedSort(sortField);
411
- }
412
- setSortDirections(sortDirection) {
413
- this.sortDirection = sortDirection;
414
- this.emitSortChangedEvent();
415
- }
416
- setSelectedSort(sort) {
417
- this.selectedSort = sort;
418
- this.emitSortChangedEvent();
419
- }
420
- /**
421
- * There are four date sort options.
422
- *
423
- * This checks to see if the current sort is one of them.
424
- *
425
- * @readonly
426
- * @private
427
- * @type {boolean}
428
- * @memberof SortFilterBar
429
- */
430
- get dateOptionSelected() {
431
- const dateSortFields = [
432
- SortField.datearchived,
433
- SortField.date,
434
- SortField.datereviewed,
435
- SortField.dateadded,
436
- ];
437
- return dateSortFields.includes(this.selectedSort);
438
- }
439
- /**
440
- * There are two view sort options.
441
- *
442
- * This checks to see if the current sort is one of them.
443
- *
444
- * @readonly
445
- * @private
446
- * @type {boolean}
447
- * @memberof SortFilterBar
448
- */
449
- get viewOptionSelected() {
450
- const viewSortFields = [
451
- SortField.alltimeview,
452
- SortField.weeklyview,
453
- ];
454
- return viewSortFields.includes(this.selectedSort);
455
- }
456
- /**
457
- * The display name of the current date field
458
- *
459
- * @readonly
460
- * @private
461
- * @type {string}
462
- * @memberof SortFilterBar
463
- */
464
- get dateSortField() {
465
- var _a;
466
- const defaultSort = SortFieldDisplayName[SortField.date];
467
- const name = this.dateOptionSelected
468
- ? (_a = SortFieldDisplayName[this.selectedSort]) !== null && _a !== void 0 ? _a : defaultSort
469
- : defaultSort;
470
- return name;
471
- }
472
- /**
473
- * The display name of the current view field
474
- *
475
- * @readonly
476
- * @private
477
- * @type {string}
478
- * @memberof SortFilterBar
479
- */
480
- get viewSortField() {
481
- var _a;
482
- const defaultSort = SortFieldDisplayName[SortField.weeklyview];
483
- const name = this.viewOptionSelected
484
- ? (_a = SortFieldDisplayName[this.selectedSort]) !== null && _a !== void 0 ? _a : defaultSort
485
- : defaultSort;
486
- return name;
487
- }
488
- get titleSelectorBar() {
489
- var _a;
405
+ `;
406
+ }
407
+ selectDateSort(sortField) {
408
+ this.dateSortSelectorVisible = false;
409
+ this.viewSortSelectorVisible = false;
410
+ this.setSelectedSort(sortField);
411
+ }
412
+ setSortDirections(sortDirection) {
413
+ this.sortDirection = sortDirection;
414
+ this.emitSortChangedEvent();
415
+ }
416
+ setSelectedSort(sort) {
417
+ this.selectedSort = sort;
418
+ this.emitSortChangedEvent();
419
+ }
420
+ /**
421
+ * There are four date sort options.
422
+ *
423
+ * This checks to see if the current sort is one of them.
424
+ *
425
+ * @readonly
426
+ * @private
427
+ * @type {boolean}
428
+ * @memberof SortFilterBar
429
+ */
430
+ get dateOptionSelected() {
431
+ const dateSortFields = [
432
+ SortField.datearchived,
433
+ SortField.date,
434
+ SortField.datereviewed,
435
+ SortField.dateadded,
436
+ ];
437
+ return dateSortFields.includes(this.selectedSort);
438
+ }
439
+ /**
440
+ * There are two view sort options.
441
+ *
442
+ * This checks to see if the current sort is one of them.
443
+ *
444
+ * @readonly
445
+ * @private
446
+ * @type {boolean}
447
+ * @memberof SortFilterBar
448
+ */
449
+ get viewOptionSelected() {
450
+ const viewSortFields = [
451
+ SortField.alltimeview,
452
+ SortField.weeklyview,
453
+ ];
454
+ return viewSortFields.includes(this.selectedSort);
455
+ }
456
+ /**
457
+ * The display name of the current date field
458
+ *
459
+ * @readonly
460
+ * @private
461
+ * @type {string}
462
+ * @memberof SortFilterBar
463
+ */
464
+ get dateSortField() {
465
+ var _a;
466
+ const defaultSort = SortFieldDisplayName[SortField.date];
467
+ const name = this.dateOptionSelected
468
+ ? (_a = SortFieldDisplayName[this.selectedSort]) !== null && _a !== void 0 ? _a : defaultSort
469
+ : defaultSort;
470
+ return name;
471
+ }
472
+ /**
473
+ * The display name of the current view field
474
+ *
475
+ * @readonly
476
+ * @private
477
+ * @type {string}
478
+ * @memberof SortFilterBar
479
+ */
480
+ get viewSortField() {
481
+ var _a;
482
+ const defaultSort = SortFieldDisplayName[SortField.weeklyview];
483
+ const name = this.viewOptionSelected
484
+ ? (_a = SortFieldDisplayName[this.selectedSort]) !== null && _a !== void 0 ? _a : defaultSort
485
+ : defaultSort;
486
+ return name;
487
+ }
488
+ get titleSelectorBar() {
489
+ var _a;
490
490
  return html ` <alpha-bar
491
491
  .selectedLetter=${this.selectedTitleFilter}
492
492
  .letterCounts=${(_a = this.prefixFilterCountMap) === null || _a === void 0 ? void 0 : _a.title}
493
493
  @letterChanged=${this.titleLetterChanged}
494
- ></alpha-bar>`;
495
- }
496
- get creatorSelectorBar() {
497
- var _a;
494
+ ></alpha-bar>`;
495
+ }
496
+ get creatorSelectorBar() {
497
+ var _a;
498
498
  return html ` <alpha-bar
499
499
  .selectedLetter=${this.selectedCreatorFilter}
500
500
  .letterCounts=${(_a = this.prefixFilterCountMap) === null || _a === void 0 ? void 0 : _a.creator}
501
501
  @letterChanged=${this.creatorLetterChanged}
502
- ></alpha-bar>`;
503
- }
504
- titleLetterChanged(e) {
505
- var _a;
506
- this.selectedTitleFilter = (_a = e.detail.selectedLetter) !== null && _a !== void 0 ? _a : null;
507
- this.emitTitleLetterChangedEvent();
508
- }
509
- creatorLetterChanged(e) {
510
- var _a;
511
- this.selectedCreatorFilter = (_a = e.detail.selectedLetter) !== null && _a !== void 0 ? _a : null;
512
- this.emitCreatorLetterChangedEvent();
513
- }
514
- emitTitleLetterChangedEvent() {
515
- const event = new CustomEvent('titleLetterChanged', {
516
- detail: { selectedLetter: this.selectedTitleFilter },
517
- });
518
- this.dispatchEvent(event);
519
- }
520
- emitCreatorLetterChangedEvent() {
521
- const event = new CustomEvent('creatorLetterChanged', {
522
- detail: { selectedLetter: this.selectedCreatorFilter },
523
- });
524
- this.dispatchEvent(event);
525
- }
526
- displayModeChanged() {
527
- const event = new CustomEvent('displayModeChanged', {
528
- detail: { displayMode: this.displayMode },
529
- });
530
- this.dispatchEvent(event);
531
- }
532
- emitSortChangedEvent() {
533
- const event = new CustomEvent('sortChanged', {
534
- detail: {
535
- selectedSort: this.selectedSort,
536
- sortDirection: this.sortDirection,
537
- },
538
- });
539
- this.dispatchEvent(event);
540
- }
541
- };
502
+ ></alpha-bar>`;
503
+ }
504
+ titleLetterChanged(e) {
505
+ var _a;
506
+ this.selectedTitleFilter = (_a = e.detail.selectedLetter) !== null && _a !== void 0 ? _a : null;
507
+ this.emitTitleLetterChangedEvent();
508
+ }
509
+ creatorLetterChanged(e) {
510
+ var _a;
511
+ this.selectedCreatorFilter = (_a = e.detail.selectedLetter) !== null && _a !== void 0 ? _a : null;
512
+ this.emitCreatorLetterChangedEvent();
513
+ }
514
+ emitTitleLetterChangedEvent() {
515
+ const event = new CustomEvent('titleLetterChanged', {
516
+ detail: { selectedLetter: this.selectedTitleFilter },
517
+ });
518
+ this.dispatchEvent(event);
519
+ }
520
+ emitCreatorLetterChangedEvent() {
521
+ const event = new CustomEvent('creatorLetterChanged', {
522
+ detail: { selectedLetter: this.selectedCreatorFilter },
523
+ });
524
+ this.dispatchEvent(event);
525
+ }
526
+ displayModeChanged() {
527
+ const event = new CustomEvent('displayModeChanged', {
528
+ detail: { displayMode: this.displayMode },
529
+ });
530
+ this.dispatchEvent(event);
531
+ }
532
+ emitSortChangedEvent() {
533
+ const event = new CustomEvent('sortChanged', {
534
+ detail: {
535
+ selectedSort: this.selectedSort,
536
+ sortDirection: this.sortDirection,
537
+ },
538
+ });
539
+ this.dispatchEvent(event);
540
+ }
541
+ };
542
542
  SortFilterBar.styles = css `
543
543
  #container {
544
544
  position: relative;
@@ -743,57 +743,57 @@ SortFilterBar.styles = css `
743
743
  width: 24px;
744
744
  height: 24px;
745
745
  }
746
- `;
747
- __decorate([
748
- property({ type: String })
749
- ], SortFilterBar.prototype, "displayMode", void 0);
750
- __decorate([
751
- property({ type: String })
752
- ], SortFilterBar.prototype, "sortDirection", void 0);
753
- __decorate([
754
- property({ type: String })
755
- ], SortFilterBar.prototype, "selectedSort", void 0);
756
- __decorate([
757
- property({ type: String })
758
- ], SortFilterBar.prototype, "selectedTitleFilter", void 0);
759
- __decorate([
760
- property({ type: String })
761
- ], SortFilterBar.prototype, "selectedCreatorFilter", void 0);
762
- __decorate([
763
- property({ type: Boolean })
764
- ], SortFilterBar.prototype, "showRelevance", void 0);
765
- __decorate([
766
- property({ type: Object })
767
- ], SortFilterBar.prototype, "prefixFilterCountMap", void 0);
768
- __decorate([
769
- property({ type: Object })
770
- ], SortFilterBar.prototype, "resizeObserver", void 0);
771
- __decorate([
772
- state()
773
- ], SortFilterBar.prototype, "alphaSelectorVisible", void 0);
774
- __decorate([
775
- state()
776
- ], SortFilterBar.prototype, "dateSortSelectorVisible", void 0);
777
- __decorate([
778
- state()
779
- ], SortFilterBar.prototype, "viewSortSelectorVisible", void 0);
780
- __decorate([
781
- state()
782
- ], SortFilterBar.prototype, "desktopSelectorBarWidth", void 0);
783
- __decorate([
784
- state()
785
- ], SortFilterBar.prototype, "selectorBarContainerWidth", void 0);
786
- __decorate([
787
- state()
788
- ], SortFilterBar.prototype, "hoveringOverDateSortOptions", void 0);
789
- __decorate([
790
- query('#desktop-sort-selector')
791
- ], SortFilterBar.prototype, "desktopSortSelector", void 0);
792
- __decorate([
793
- query('#sort-selector-container')
794
- ], SortFilterBar.prototype, "sortSelectorContainer", void 0);
795
- SortFilterBar = __decorate([
796
- customElement('sort-filter-bar')
797
- ], SortFilterBar);
798
- export { SortFilterBar };
746
+ `;
747
+ __decorate([
748
+ property({ type: String })
749
+ ], SortFilterBar.prototype, "displayMode", void 0);
750
+ __decorate([
751
+ property({ type: String })
752
+ ], SortFilterBar.prototype, "sortDirection", void 0);
753
+ __decorate([
754
+ property({ type: String })
755
+ ], SortFilterBar.prototype, "selectedSort", void 0);
756
+ __decorate([
757
+ property({ type: String })
758
+ ], SortFilterBar.prototype, "selectedTitleFilter", void 0);
759
+ __decorate([
760
+ property({ type: String })
761
+ ], SortFilterBar.prototype, "selectedCreatorFilter", void 0);
762
+ __decorate([
763
+ property({ type: Boolean })
764
+ ], SortFilterBar.prototype, "showRelevance", void 0);
765
+ __decorate([
766
+ property({ type: Object })
767
+ ], SortFilterBar.prototype, "prefixFilterCountMap", void 0);
768
+ __decorate([
769
+ property({ type: Object })
770
+ ], SortFilterBar.prototype, "resizeObserver", void 0);
771
+ __decorate([
772
+ state()
773
+ ], SortFilterBar.prototype, "alphaSelectorVisible", void 0);
774
+ __decorate([
775
+ state()
776
+ ], SortFilterBar.prototype, "dateSortSelectorVisible", void 0);
777
+ __decorate([
778
+ state()
779
+ ], SortFilterBar.prototype, "viewSortSelectorVisible", void 0);
780
+ __decorate([
781
+ state()
782
+ ], SortFilterBar.prototype, "desktopSelectorBarWidth", void 0);
783
+ __decorate([
784
+ state()
785
+ ], SortFilterBar.prototype, "selectorBarContainerWidth", void 0);
786
+ __decorate([
787
+ state()
788
+ ], SortFilterBar.prototype, "hoveringOverDateSortOptions", void 0);
789
+ __decorate([
790
+ query('#desktop-sort-selector')
791
+ ], SortFilterBar.prototype, "desktopSortSelector", void 0);
792
+ __decorate([
793
+ query('#sort-selector-container')
794
+ ], SortFilterBar.prototype, "sortSelectorContainer", void 0);
795
+ SortFilterBar = __decorate([
796
+ customElement('sort-filter-bar')
797
+ ], SortFilterBar);
798
+ export { SortFilterBar };
799
799
  //# sourceMappingURL=sort-filter-bar.js.map