@internetarchive/collection-browser 0.4.9-alpha.2 → 0.4.9

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 (261) 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 +281 -281
  68. package/dist/src/collection-browser.js +1201 -1200
  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 +77 -77
  75. package/dist/src/collection-facets/more-facets-content.js +357 -357
  76. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  77. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  78. package/dist/src/collection-facets.d.ts +83 -83
  79. package/dist/src/collection-facets.js +392 -392
  80. package/dist/src/empty-placeholder.d.ts +11 -11
  81. package/dist/src/empty-placeholder.js +42 -42
  82. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  83. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  84. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  85. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  86. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  87. package/dist/src/mediatype/mediatype-config.js +85 -85
  88. package/dist/src/models.d.ts +115 -114
  89. package/dist/src/models.js +125 -125
  90. package/dist/src/models.js.map +1 -1
  91. package/dist/src/restoration-state-handler.d.ts +45 -45
  92. package/dist/src/restoration-state-handler.js +230 -230
  93. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -0
  94. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +61 -0
  95. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js.map +1 -0
  96. package/dist/src/sort-filter-bar/alpha-bar.d.ts +20 -12
  97. package/dist/src/sort-filter-bar/alpha-bar.js +166 -58
  98. package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
  99. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  101. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  102. package/dist/src/sort-filter-bar/img/list.js +2 -2
  103. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  104. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  105. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  106. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  107. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +108 -108
  108. package/dist/src/sort-filter-bar/sort-filter-bar.js +438 -438
  109. package/dist/src/styles/item-image-styles.d.ts +8 -8
  110. package/dist/src/styles/item-image-styles.js +9 -9
  111. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  112. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  113. package/dist/src/tiles/grid/account-tile.d.ts +20 -17
  114. package/dist/src/tiles/grid/account-tile.js +68 -46
  115. package/dist/src/tiles/grid/account-tile.js.map +1 -1
  116. package/dist/src/tiles/grid/collection-tile.d.ts +17 -14
  117. package/dist/src/tiles/grid/collection-tile.js +75 -53
  118. package/dist/src/tiles/grid/collection-tile.js.map +1 -1
  119. package/dist/src/tiles/grid/item-tile.d.ts +32 -29
  120. package/dist/src/tiles/grid/item-tile.js +126 -108
  121. package/dist/src/tiles/grid/item-tile.js.map +1 -1
  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 +44 -8
  124. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
  125. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  126. package/dist/src/tiles/grid/tile-stats.js +40 -40
  127. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -197
  128. package/dist/src/tiles/hover/hover-pane-controller.js +352 -331
  129. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  130. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  131. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  132. package/dist/src/tiles/image-block.d.ts +17 -17
  133. package/dist/src/tiles/image-block.js +72 -72
  134. package/dist/src/tiles/item-image.d.ts +35 -35
  135. package/dist/src/tiles/item-image.js +117 -117
  136. package/dist/src/tiles/list/account-label.d.ts +1 -1
  137. package/dist/src/tiles/list/account-label.js +6 -6
  138. package/dist/src/tiles/list/date-label.d.ts +1 -1
  139. package/dist/src/tiles/list/date-label.js +12 -12
  140. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  141. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  142. package/dist/src/tiles/list/tile-list-compact.d.ts +21 -21
  143. package/dist/src/tiles/list/tile-list-compact.js +99 -99
  144. package/dist/src/tiles/list/tile-list.d.ts +55 -55
  145. package/dist/src/tiles/list/tile-list.js +303 -297
  146. package/dist/src/tiles/list/tile-list.js.map +1 -1
  147. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  148. package/dist/src/tiles/mediatype-icon.js +47 -47
  149. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  150. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  151. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  152. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  153. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  154. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  155. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  156. package/dist/src/tiles/text-snippet-block.js +73 -73
  157. package/dist/src/tiles/tile-dispatcher.d.ts +58 -55
  158. package/dist/src/tiles/tile-dispatcher.js +203 -179
  159. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  160. package/dist/src/utils/analytics-events.d.ts +22 -22
  161. package/dist/src/utils/analytics-events.js +24 -24
  162. package/dist/src/utils/format-count.d.ts +7 -7
  163. package/dist/src/utils/format-count.js +76 -76
  164. package/dist/src/utils/format-date.d.ts +2 -2
  165. package/dist/src/utils/format-date.js +23 -23
  166. package/dist/src/utils/format-unit-size.d.ts +2 -2
  167. package/dist/src/utils/format-unit-size.js +33 -33
  168. package/dist/test/collection-browser.test.d.ts +1 -1
  169. package/dist/test/collection-browser.test.js +584 -584
  170. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  171. package/dist/test/collection-facets/facets-template.test.js +62 -62
  172. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  173. package/dist/test/collection-facets/more-facets-content.test.js +114 -114
  174. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  175. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  176. package/dist/test/collection-facets.test.d.ts +2 -2
  177. package/dist/test/collection-facets.test.js +508 -508
  178. package/dist/test/empty-placeholder.test.d.ts +1 -1
  179. package/dist/test/empty-placeholder.test.js +33 -33
  180. package/dist/test/icon-overlay.test.d.ts +1 -1
  181. package/dist/test/icon-overlay.test.js +24 -24
  182. package/dist/test/image-block.test.d.ts +1 -1
  183. package/dist/test/image-block.test.js +48 -48
  184. package/dist/test/item-image.test.d.ts +1 -1
  185. package/dist/test/item-image.test.js +84 -84
  186. package/dist/test/mediatype-config.test.d.ts +1 -1
  187. package/dist/test/mediatype-config.test.js +16 -16
  188. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  189. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  190. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  191. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  192. package/dist/test/mocks/mock-search-responses.d.ts +12 -12
  193. package/dist/test/mocks/mock-search-responses.js +341 -341
  194. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  195. package/dist/test/mocks/mock-search-service.js +40 -40
  196. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  197. package/dist/test/restoration-state-handler.test.js +125 -125
  198. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -0
  199. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +13 -0
  200. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js.map +1 -0
  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 -43
  203. package/dist/test/sort-filter-bar/alpha-bar.test.js.map +1 -1
  204. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  205. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +197 -197
  206. package/dist/test/text-overlay.test.d.ts +1 -1
  207. package/dist/test/text-overlay.test.js +48 -48
  208. package/dist/test/text-snippet-block.test.d.ts +1 -1
  209. package/dist/test/text-snippet-block.test.js +57 -57
  210. package/dist/test/tile-stats.test.d.ts +1 -1
  211. package/dist/test/tile-stats.test.js +33 -33
  212. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  213. package/dist/test/tiles/grid/account-tile.test.js +81 -60
  214. package/dist/test/tiles/grid/account-tile.test.js.map +1 -1
  215. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  216. package/dist/test/tiles/grid/collection-tile.test.js +81 -57
  217. package/dist/test/tiles/grid/collection-tile.test.js.map +1 -1
  218. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  219. package/dist/test/tiles/grid/item-tile.test.js +163 -142
  220. package/dist/test/tiles/grid/item-tile.test.js.map +1 -1
  221. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  222. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  223. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  224. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  225. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  226. package/dist/test/tiles/list/tile-list-compact.test.js +92 -92
  227. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  228. package/dist/test/tiles/list/tile-list.test.js +163 -163
  229. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -0
  230. package/dist/test/tiles/tile-dispatcher.test.js +101 -0
  231. package/dist/test/tiles/tile-dispatcher.test.js.map +1 -0
  232. package/dist/test/utils/format-count.test.d.ts +1 -1
  233. package/dist/test/utils/format-count.test.js +23 -23
  234. package/dist/test/utils/format-date.test.d.ts +1 -1
  235. package/dist/test/utils/format-date.test.js +17 -17
  236. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  237. package/dist/test/utils/format-unit-size.test.js +17 -17
  238. package/local.archive.org.cert +86 -86
  239. package/local.archive.org.key +27 -27
  240. package/package.json +1 -1
  241. package/renovate.json +6 -6
  242. package/src/collection-browser.ts +1 -0
  243. package/src/models.ts +1 -0
  244. package/src/sort-filter-bar/alpha-bar-tooltip.ts +54 -0
  245. package/src/sort-filter-bar/alpha-bar.ts +133 -9
  246. package/src/tiles/grid/account-tile.ts +23 -1
  247. package/src/tiles/grid/collection-tile.ts +31 -2
  248. package/src/tiles/grid/item-tile.ts +22 -2
  249. package/src/tiles/grid/styles/tile-grid-shared-styles.ts +37 -1
  250. package/src/tiles/hover/hover-pane-controller.ts +38 -1
  251. package/src/tiles/list/tile-list.ts +8 -1
  252. package/src/tiles/tile-dispatcher.ts +29 -2
  253. package/test/sort-filter-bar/alpha-bar-tooltip.test.ts +17 -0
  254. package/test/sort-filter-bar/alpha-bar.test.ts +46 -1
  255. package/test/tiles/grid/account-tile.test.ts +27 -0
  256. package/test/tiles/grid/collection-tile.test.ts +30 -0
  257. package/test/tiles/grid/item-tile.test.ts +27 -0
  258. package/test/tiles/tile-dispatcher.test.ts +122 -0
  259. package/tsconfig.json +21 -21
  260. package/web-dev-server.config.mjs +30 -30
  261. 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