@internetarchive/collection-browser 0.3.2-alpha.5 → 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 (214) 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 -44
  12. package/dist/src/app-root.js +233 -242
  13. package/dist/src/app-root.js.map +1 -1
  14. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  15. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  17. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  18. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  19. package/dist/src/assets/img/icons/chevron.js +2 -2
  20. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  21. package/dist/src/assets/img/icons/empty-query.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  29. package/dist/src/assets/img/icons/login-required.js +2 -2
  30. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  31. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  56. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  57. package/dist/src/assets/img/icons/null-result.js +2 -2
  58. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  59. package/dist/src/assets/img/icons/restricted.js +2 -2
  60. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  61. package/dist/src/assets/img/icons/reviews.js +2 -2
  62. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  63. package/dist/src/assets/img/icons/upload.js +2 -2
  64. package/dist/src/assets/img/icons/views.d.ts +1 -1
  65. package/dist/src/assets/img/icons/views.js +2 -2
  66. package/dist/src/circular-activity-indicator.d.ts +5 -5
  67. package/dist/src/circular-activity-indicator.js +17 -17
  68. package/dist/src/collection-browser.d.ts +247 -247
  69. package/dist/src/collection-browser.js +1077 -1056
  70. package/dist/src/collection-browser.js.map +1 -1
  71. package/dist/src/collection-facets/facets-template.d.ts +16 -16
  72. package/dist/src/collection-facets/facets-template.js +125 -125
  73. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  74. package/dist/src/collection-facets/more-facets-content.js +330 -330
  75. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  76. package/dist/src/collection-facets/more-facets-pagination.js +192 -192
  77. package/dist/src/collection-facets.d.ts +73 -73
  78. package/dist/src/collection-facets.js +359 -359
  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 +330 -330
  151. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  152. package/dist/test/collection-facets/facets-template.test.js +62 -62
  153. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  154. package/dist/test/collection-facets/more-facets-content.test.js +91 -91
  155. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  156. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  157. package/dist/test/collection-facets.test.d.ts +2 -2
  158. package/dist/test/collection-facets.test.js +421 -421
  159. package/dist/test/empty-placeholder.test.d.ts +1 -1
  160. package/dist/test/empty-placeholder.test.js +33 -33
  161. package/dist/test/icon-overlay.test.d.ts +1 -1
  162. package/dist/test/icon-overlay.test.js +24 -24
  163. package/dist/test/image-block.test.d.ts +1 -0
  164. package/dist/test/image-block.test.js +79 -0
  165. package/dist/test/image-block.test.js.map +1 -0
  166. package/dist/test/item-image.test.d.ts +1 -1
  167. package/dist/test/item-image.test.js +56 -56
  168. package/dist/test/mediatype-config.test.d.ts +1 -1
  169. package/dist/test/mediatype-config.test.js +16 -16
  170. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  171. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  172. package/dist/test/mocks/mock-collection-name-cache.d.ts +7 -7
  173. package/dist/test/mocks/mock-collection-name-cache.js +13 -13
  174. package/dist/test/mocks/mock-search-responses.d.ts +5 -5
  175. package/dist/test/mocks/mock-search-responses.js +103 -103
  176. package/dist/test/mocks/mock-search-service.d.ts +13 -13
  177. package/dist/test/mocks/mock-search-service.js +25 -25
  178. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  179. package/dist/test/restoration-state-handler.test.js +117 -117
  180. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  181. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +113 -113
  182. package/dist/test/text-overlay.test.d.ts +1 -1
  183. package/dist/test/text-overlay.test.js +41 -41
  184. package/dist/test/text-snippet-block.test.d.ts +1 -1
  185. package/dist/test/text-snippet-block.test.js +57 -57
  186. package/dist/test/tile-stats.test.d.ts +1 -1
  187. package/dist/test/tile-stats.test.js +33 -33
  188. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  189. package/dist/test/tiles/grid/item-tile.test.js +107 -107
  190. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -0
  191. package/dist/test/tiles/list/tile-list-compact.test.js +31 -0
  192. package/dist/test/tiles/list/tile-list-compact.test.js.map +1 -0
  193. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  194. package/dist/test/tiles/list/tile-list.test.js +36 -36
  195. package/dist/test/utils/format-count.test.d.ts +1 -1
  196. package/dist/test/utils/format-count.test.js +23 -23
  197. package/dist/test/utils/format-date.test.d.ts +1 -1
  198. package/dist/test/utils/format-date.test.js +17 -17
  199. package/index.html +24 -24
  200. package/local.archive.org.cert +86 -86
  201. package/local.archive.org.key +27 -27
  202. package/package.json +115 -115
  203. package/renovate.json +6 -6
  204. package/src/app-root.ts +1 -12
  205. package/src/collection-browser.ts +21 -0
  206. package/src/tiles/image-block.ts +7 -10
  207. package/src/tiles/list/tile-list-compact.ts +1 -0
  208. package/src/tiles/list/tile-list.ts +1 -0
  209. package/src/tiles/overlay/icon-overlay.ts +3 -4
  210. package/test/image-block.test.ts +86 -0
  211. package/test/tiles/list/tile-list-compact.test.ts +38 -0
  212. package/tsconfig.json +21 -21
  213. package/web-dev-server.config.mjs +30 -30
  214. 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 {};