@internetarchive/collection-browser 0.3.2-alpha.4 → 0.3.2

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 (218) 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 +43 -43
  12. package/dist/src/app-root.js +233 -233
  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 +247 -247
  68. package/dist/src/collection-browser.js +1419 -1418
  69. package/dist/src/collection-browser.js.map +1 -1
  70. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  71. package/dist/src/collection-facets/facets-template.js +125 -125
  72. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  73. package/dist/src/collection-facets/more-facets-content.js +330 -330
  74. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  75. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  76. package/dist/src/collection-facets.d.ts +73 -73
  77. package/dist/src/collection-facets.js +507 -507
  78. package/dist/src/collection-facets.js.map +1 -1
  79. package/dist/src/empty-placeholder.d.ts +11 -11
  80. package/dist/src/empty-placeholder.js +42 -42
  81. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  82. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  83. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  84. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  85. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  86. package/dist/src/mediatype/mediatype-config.js +85 -85
  87. package/dist/src/models.d.ts +97 -97
  88. package/dist/src/models.js +100 -100
  89. package/dist/src/restoration-state-handler.d.ts +45 -45
  90. package/dist/src/restoration-state-handler.js +220 -220
  91. package/dist/src/sort-filter-bar/alpha-bar.d.ts +9 -9
  92. package/dist/src/sort-filter-bar/alpha-bar.js +41 -41
  93. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  94. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  95. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  96. package/dist/src/sort-filter-bar/img/list.js +2 -2
  97. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  98. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  99. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  100. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  101. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +107 -107
  102. package/dist/src/sort-filter-bar/sort-filter-bar.js +423 -423
  103. package/dist/src/styles/item-image-styles.d.ts +8 -8
  104. package/dist/src/styles/item-image-styles.js +9 -9
  105. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  106. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  107. package/dist/src/tiles/grid/account-tile.d.ts +8 -8
  108. package/dist/src/tiles/grid/account-tile.js +20 -20
  109. package/dist/src/tiles/grid/collection-tile.d.ts +7 -7
  110. package/dist/src/tiles/grid/collection-tile.js +23 -23
  111. package/dist/src/tiles/grid/item-tile.d.ts +24 -24
  112. package/dist/src/tiles/grid/item-tile.js +87 -87
  113. package/dist/src/tiles/grid/tile-stats.d.ts +10 -10
  114. package/dist/src/tiles/grid/tile-stats.js +35 -35
  115. package/dist/src/tiles/image-block.d.ts +17 -17
  116. package/dist/src/tiles/image-block.js +69 -73
  117. package/dist/src/tiles/image-block.js.map +1 -1
  118. package/dist/src/tiles/item-image.d.ts +31 -31
  119. package/dist/src/tiles/item-image.js +103 -103
  120. package/dist/src/tiles/list/account-label.d.ts +1 -1
  121. package/dist/src/tiles/list/account-label.js +6 -6
  122. package/dist/src/tiles/list/date-label.d.ts +1 -1
  123. package/dist/src/tiles/list/date-label.js +12 -12
  124. package/dist/src/tiles/list/tile-list-compact-header.d.ts +12 -12
  125. package/dist/src/tiles/list/tile-list-compact-header.js +41 -41
  126. package/dist/src/tiles/list/tile-list-compact.d.ts +20 -20
  127. package/dist/src/tiles/list/tile-list-compact.js +88 -87
  128. package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
  129. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  130. package/dist/src/tiles/list/tile-list.js +265 -264
  131. package/dist/src/tiles/list/tile-list.js.map +1 -1
  132. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  133. package/dist/src/tiles/mediatype-icon.js +47 -47
  134. package/dist/src/tiles/overlay/icon-overlay.d.ts +7 -7
  135. package/dist/src/tiles/overlay/icon-overlay.js +30 -31
  136. package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
  137. package/dist/src/tiles/overlay/text-overlay.d.ts +8 -8
  138. package/dist/src/tiles/overlay/text-overlay.js +31 -31
  139. package/dist/src/tiles/text-snippet-block.d.ts +29 -29
  140. package/dist/src/tiles/text-snippet-block.js +81 -81
  141. package/dist/src/tiles/tile-dispatcher.d.ts +36 -36
  142. package/dist/src/tiles/tile-dispatcher.js +128 -128
  143. package/dist/src/utils/analytics-events.d.ts +18 -18
  144. package/dist/src/utils/analytics-events.js +20 -20
  145. package/dist/src/utils/format-count.d.ts +7 -7
  146. package/dist/src/utils/format-count.js +76 -76
  147. package/dist/src/utils/format-date.d.ts +2 -2
  148. package/dist/src/utils/format-date.js +23 -23
  149. package/dist/test/collection-browser.test.d.ts +1 -1
  150. package/dist/test/collection-browser.test.js +333 -318
  151. package/dist/test/collection-browser.test.js.map +1 -1
  152. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  153. package/dist/test/collection-facets/facets-template.test.js +62 -62
  154. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  155. package/dist/test/collection-facets/more-facets-content.test.js +91 -91
  156. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  157. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  158. package/dist/test/collection-facets.test.d.ts +2 -2
  159. package/dist/test/collection-facets.test.js +423 -423
  160. package/dist/test/collection-facets.test.js.map +1 -1
  161. package/dist/test/empty-placeholder.test.d.ts +1 -1
  162. package/dist/test/empty-placeholder.test.js +33 -33
  163. package/dist/test/icon-overlay.test.d.ts +1 -1
  164. package/dist/test/icon-overlay.test.js +24 -24
  165. package/dist/test/image-block.test.d.ts +1 -0
  166. package/dist/test/image-block.test.js +79 -0
  167. package/dist/test/image-block.test.js.map +1 -0
  168. package/dist/test/item-image.test.d.ts +1 -1
  169. package/dist/test/item-image.test.js +56 -56
  170. package/dist/test/mediatype-config.test.d.ts +1 -1
  171. package/dist/test/mediatype-config.test.js +16 -16
  172. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  173. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  174. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  175. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  176. package/dist/test/mocks/mock-search-responses.d.ts +5 -5
  177. package/dist/test/mocks/mock-search-responses.js +103 -103
  178. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  179. package/dist/test/mocks/mock-search-service.js +25 -25
  180. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  181. package/dist/test/restoration-state-handler.test.js +117 -117
  182. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  183. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  184. package/dist/test/text-overlay.test.d.ts +1 -1
  185. package/dist/test/text-overlay.test.js +41 -41
  186. package/dist/test/text-snippet-block.test.d.ts +1 -1
  187. package/dist/test/text-snippet-block.test.js +57 -57
  188. package/dist/test/tile-stats.test.d.ts +1 -1
  189. package/dist/test/tile-stats.test.js +33 -33
  190. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  191. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  192. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -0
  193. package/dist/test/tiles/list/tile-list-compact.test.js +31 -0
  194. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -0
  195. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  196. package/dist/test/tiles/list/tile-list.test.js +36 -36
  197. package/dist/test/utils/format-count.test.d.ts +1 -1
  198. package/dist/test/utils/format-count.test.js +23 -23
  199. package/dist/test/utils/format-date.test.d.ts +1 -1
  200. package/dist/test/utils/format-date.test.js +17 -17
  201. package/index.html +24 -24
  202. package/local.archive.org.cert +86 -86
  203. package/local.archive.org.key +27 -27
  204. package/package.json +115 -115
  205. package/renovate.json +6 -6
  206. package/src/collection-browser.ts +1547 -1547
  207. package/src/collection-facets.ts +582 -582
  208. package/src/tiles/image-block.ts +7 -10
  209. package/src/tiles/list/tile-list-compact.ts +1 -0
  210. package/src/tiles/list/tile-list.ts +1 -0
  211. package/src/tiles/overlay/icon-overlay.ts +3 -4
  212. package/test/collection-browser.test.ts +24 -1
  213. package/test/collection-facets.test.ts +556 -556
  214. package/test/image-block.test.ts +86 -0
  215. package/test/tiles/list/tile-list-compact.test.ts +38 -0
  216. package/tsconfig.json +21 -21
  217. package/web-dev-server.config.mjs +30 -30
  218. package/web-test-runner.config.mjs +41 -41
@@ -1,107 +1,107 @@
1
- import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import type { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
3
- import { CollectionDisplayMode, SortField } from '../models';
4
- import './alpha-bar';
5
- declare type AlphaSelector = 'creator' | 'title';
6
- export declare class SortFilterBar extends LitElement implements SharedResizeObserverResizeHandlerInterface {
7
- displayMode?: CollectionDisplayMode;
8
- sortDirection: 'asc' | 'desc' | null;
9
- selectedSort: SortField;
10
- selectedTitleFilter: string | null;
11
- selectedCreatorFilter: string | null;
12
- showRelevance: boolean;
13
- resizeObserver?: SharedResizeObserverInterface;
14
- alphaSelectorVisible: AlphaSelector | null;
15
- dateSortSelectorVisible: boolean;
16
- viewSortSelectorVisible: boolean;
17
- desktopSelectorBarWidth: number;
18
- selectorBarContainerWidth: number;
19
- hoveringOverDateSortOptions: boolean;
20
- private desktopSortSelector;
21
- private sortSelectorContainer;
22
- render(): TemplateResult<1>;
23
- updated(changed: PropertyValues): void;
24
- private setupEscapeListeners;
25
- private boundSortBarSelectorEscapeListener;
26
- disconnectedCallback(): void;
27
- private disconnectResizeObserver;
28
- private setupResizeObserver;
29
- private get mobileSelectorVisible();
30
- private get alphaBarTemplate();
31
- handleResize(entry: ResizeObserverEntry): void;
32
- private get sortDirectionSelectorTemplate();
33
- private get desktopSortSelectorTemplate();
34
- /**
35
- * This generates each of the sort option links.
36
- *
37
- * It manages the display value and the selected state of the option.
38
- *
39
- * @param sortField
40
- * @param options {
41
- * additionalClickEvent?: () => void; If this is provided, it will also be called when the option is clicked.
42
- * displayName?: TemplateResult; The name to display for the option. Defaults to the sortField display name.
43
- * isSelected?: () => boolean; A function that returns true if the option is selected. Defaults to the selectedSort === sortField.
44
- * }
45
- * @returns
46
- */
47
- private getSortDisplayOption;
48
- private get mobileSortSelectorTemplate();
49
- private mobileSortChanged;
50
- private get displayOptionTemplate();
51
- private get dateSortSelector();
52
- private get viewSortSelector();
53
- private getDateSortButton;
54
- private selectDateSort;
55
- private setSortDirections;
56
- private setSelectedSort;
57
- /**
58
- * There are four date sort options.
59
- *
60
- * This checks to see if the current sort is one of them.
61
- *
62
- * @readonly
63
- * @private
64
- * @type {boolean}
65
- * @memberof SortFilterBar
66
- */
67
- private get dateOptionSelected();
68
- /**
69
- * There are two view sort options.
70
- *
71
- * This checks to see if the current sort is one of them.
72
- *
73
- * @readonly
74
- * @private
75
- * @type {boolean}
76
- * @memberof SortFilterBar
77
- */
78
- private get viewOptionSelected();
79
- /**
80
- * The display name of the current date field
81
- *
82
- * @readonly
83
- * @private
84
- * @type {string}
85
- * @memberof SortFilterBar
86
- */
87
- private get dateSortField();
88
- /**
89
- * The display name of the current view field
90
- *
91
- * @readonly
92
- * @private
93
- * @type {string}
94
- * @memberof SortFilterBar
95
- */
96
- private get viewSortField();
97
- private get titleSelectorBar();
98
- private get creatorSelectorBar();
99
- private titleLetterChanged;
100
- private creatorLetterChanged;
101
- private emitTitleLetterChangedEvent;
102
- private emitCreatorLetterChangedEvent;
103
- private displayModeChanged;
104
- private emitSortChangedEvent;
105
- static styles: import("lit").CSSResult;
106
- }
107
- export {};
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import type { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
3
+ import { CollectionDisplayMode, SortField } from '../models';
4
+ import './alpha-bar';
5
+ declare type AlphaSelector = 'creator' | 'title';
6
+ export declare class SortFilterBar extends LitElement implements SharedResizeObserverResizeHandlerInterface {
7
+ displayMode?: CollectionDisplayMode;
8
+ sortDirection: 'asc' | 'desc' | null;
9
+ selectedSort: SortField;
10
+ selectedTitleFilter: string | null;
11
+ selectedCreatorFilter: string | null;
12
+ showRelevance: boolean;
13
+ resizeObserver?: SharedResizeObserverInterface;
14
+ alphaSelectorVisible: AlphaSelector | null;
15
+ dateSortSelectorVisible: boolean;
16
+ viewSortSelectorVisible: boolean;
17
+ desktopSelectorBarWidth: number;
18
+ selectorBarContainerWidth: number;
19
+ hoveringOverDateSortOptions: boolean;
20
+ private desktopSortSelector;
21
+ private sortSelectorContainer;
22
+ render(): TemplateResult<1>;
23
+ updated(changed: PropertyValues): void;
24
+ private setupEscapeListeners;
25
+ private boundSortBarSelectorEscapeListener;
26
+ disconnectedCallback(): void;
27
+ private disconnectResizeObserver;
28
+ private setupResizeObserver;
29
+ private get mobileSelectorVisible();
30
+ private get alphaBarTemplate();
31
+ handleResize(entry: ResizeObserverEntry): void;
32
+ private get sortDirectionSelectorTemplate();
33
+ private get desktopSortSelectorTemplate();
34
+ /**
35
+ * This generates each of the sort option links.
36
+ *
37
+ * It manages the display value and the selected state of the option.
38
+ *
39
+ * @param sortField
40
+ * @param options {
41
+ * additionalClickEvent?: () => void; If this is provided, it will also be called when the option is clicked.
42
+ * displayName?: TemplateResult; The name to display for the option. Defaults to the sortField display name.
43
+ * isSelected?: () => boolean; A function that returns true if the option is selected. Defaults to the selectedSort === sortField.
44
+ * }
45
+ * @returns
46
+ */
47
+ private getSortDisplayOption;
48
+ private get mobileSortSelectorTemplate();
49
+ private mobileSortChanged;
50
+ private get displayOptionTemplate();
51
+ private get dateSortSelector();
52
+ private get viewSortSelector();
53
+ private getDateSortButton;
54
+ private selectDateSort;
55
+ private setSortDirections;
56
+ private setSelectedSort;
57
+ /**
58
+ * There are four date sort options.
59
+ *
60
+ * This checks to see if the current sort is one of them.
61
+ *
62
+ * @readonly
63
+ * @private
64
+ * @type {boolean}
65
+ * @memberof SortFilterBar
66
+ */
67
+ private get dateOptionSelected();
68
+ /**
69
+ * There are two view sort options.
70
+ *
71
+ * This checks to see if the current sort is one of them.
72
+ *
73
+ * @readonly
74
+ * @private
75
+ * @type {boolean}
76
+ * @memberof SortFilterBar
77
+ */
78
+ private get viewOptionSelected();
79
+ /**
80
+ * The display name of the current date field
81
+ *
82
+ * @readonly
83
+ * @private
84
+ * @type {string}
85
+ * @memberof SortFilterBar
86
+ */
87
+ private get dateSortField();
88
+ /**
89
+ * The display name of the current view field
90
+ *
91
+ * @readonly
92
+ * @private
93
+ * @type {string}
94
+ * @memberof SortFilterBar
95
+ */
96
+ private get viewSortField();
97
+ private get titleSelectorBar();
98
+ private get creatorSelectorBar();
99
+ private titleLetterChanged;
100
+ private creatorLetterChanged;
101
+ private emitTitleLetterChangedEvent;
102
+ private emitCreatorLetterChangedEvent;
103
+ private displayModeChanged;
104
+ private emitSortChangedEvent;
105
+ static styles: import("lit").CSSResult;
106
+ }
107
+ export {};