@internetarchive/collection-browser 1.8.0 → 1.9.0-alpha1

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 (269) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +26 -26
  3. package/.github/workflows/gh-pages-main.yml +39 -39
  4. package/.github/workflows/npm-publish.yml +39 -39
  5. package/.github/workflows/pr-preview.yml +38 -38
  6. package/.husky/pre-commit +4 -4
  7. package/LICENSE +661 -661
  8. package/README.md +83 -83
  9. package/dist/index.d.ts +9 -9
  10. package/dist/index.js +9 -9
  11. package/dist/src/app-root.d.ts +54 -54
  12. package/dist/src/app-root.js +293 -293
  13. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  14. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  15. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  16. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  17. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  18. package/dist/src/assets/img/icons/chevron.js +2 -2
  19. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  20. package/dist/src/assets/img/icons/contract.js +2 -2
  21. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  22. package/dist/src/assets/img/icons/empty-query.js +2 -2
  23. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  24. package/dist/src/assets/img/icons/expand.js +2 -2
  25. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  26. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  27. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  28. package/dist/src/assets/img/icons/eye.js +2 -2
  29. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  30. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  31. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  32. package/dist/src/assets/img/icons/login-required.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  49. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  50. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  51. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  52. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  53. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  54. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  55. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  56. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  57. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  58. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  59. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  60. package/dist/src/assets/img/icons/null-result.js +2 -2
  61. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  62. package/dist/src/assets/img/icons/restricted.js +2 -2
  63. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  64. package/dist/src/assets/img/icons/reviews.js +2 -2
  65. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  66. package/dist/src/assets/img/icons/upload.js +2 -2
  67. package/dist/src/assets/img/icons/views.d.ts +1 -1
  68. package/dist/src/assets/img/icons/views.js +2 -2
  69. package/dist/src/circular-activity-indicator.d.ts +5 -5
  70. package/dist/src/circular-activity-indicator.js +17 -17
  71. package/dist/src/collection-browser.d.ts +469 -469
  72. package/dist/src/collection-browser.js +1666 -1653
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  75. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  76. package/dist/src/collection-facets/facets-template.d.ts +20 -20
  77. package/dist/src/collection-facets/facets-template.js +152 -152
  78. package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
  79. package/dist/src/collection-facets/more-facets-content.js +359 -359
  80. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  81. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  82. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  83. package/dist/src/collection-facets/toggle-switch.js +94 -94
  84. package/dist/src/collection-facets.d.ts +99 -99
  85. package/dist/src/collection-facets.js +471 -471
  86. package/dist/src/empty-placeholder.d.ts +21 -21
  87. package/dist/src/empty-placeholder.js +69 -69
  88. package/dist/src/expanded-date-picker.d.ts +43 -43
  89. package/dist/src/expanded-date-picker.js +109 -109
  90. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  91. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  92. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  93. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  94. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  95. package/dist/src/mediatype/mediatype-config.js +85 -85
  96. package/dist/src/models.d.ts +162 -149
  97. package/dist/src/models.js +256 -195
  98. package/dist/src/models.js.map +1 -1
  99. package/dist/src/restoration-state-handler.d.ts +70 -63
  100. package/dist/src/restoration-state-handler.js +355 -326
  101. package/dist/src/restoration-state-handler.js.map +1 -1
  102. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  103. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  104. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  105. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  106. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  107. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  108. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  109. package/dist/src/sort-filter-bar/img/list.js +2 -2
  110. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  111. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  112. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  113. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  114. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  115. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  116. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  117. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  118. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  120. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +201 -199
  121. package/dist/src/sort-filter-bar/sort-filter-bar.js +622 -617
  122. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  123. package/dist/src/styles/item-image-styles.d.ts +8 -8
  124. package/dist/src/styles/item-image-styles.js +9 -9
  125. package/dist/src/styles/sr-only.d.ts +1 -1
  126. package/dist/src/styles/sr-only.js +2 -2
  127. package/dist/src/tiles/base-tile-component.d.ts +18 -18
  128. package/dist/src/tiles/base-tile-component.js +59 -59
  129. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  130. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  131. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  132. package/dist/src/tiles/grid/account-tile.js +72 -72
  133. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  134. package/dist/src/tiles/grid/collection-tile.js +80 -80
  135. package/dist/src/tiles/grid/item-tile.d.ts +27 -27
  136. package/dist/src/tiles/grid/item-tile.js +134 -134
  137. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  138. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  139. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  140. package/dist/src/tiles/grid/tile-stats.js +48 -48
  141. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  142. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  143. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  144. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  145. package/dist/src/tiles/image-block.d.ts +17 -17
  146. package/dist/src/tiles/image-block.js +72 -72
  147. package/dist/src/tiles/item-image.d.ts +35 -35
  148. package/dist/src/tiles/item-image.js +117 -117
  149. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  150. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  151. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  152. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  153. package/dist/src/tiles/list/tile-list.d.ts +46 -46
  154. package/dist/src/tiles/list/tile-list.js +298 -298
  155. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  156. package/dist/src/tiles/mediatype-icon.js +47 -47
  157. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  158. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  159. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  160. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  161. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  162. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  163. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  164. package/dist/src/tiles/text-snippet-block.js +73 -73
  165. package/dist/src/tiles/tile-dispatcher.d.ts +50 -50
  166. package/dist/src/tiles/tile-dispatcher.js +185 -185
  167. package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
  168. package/dist/src/tiles/tile-display-value-provider.js +80 -80
  169. package/dist/src/utils/analytics-events.d.ts +24 -24
  170. package/dist/src/utils/analytics-events.js +26 -26
  171. package/dist/src/utils/array-equals.d.ts +4 -4
  172. package/dist/src/utils/array-equals.js +10 -10
  173. package/dist/src/utils/format-count.d.ts +7 -7
  174. package/dist/src/utils/format-count.js +76 -76
  175. package/dist/src/utils/format-date.d.ts +2 -2
  176. package/dist/src/utils/format-date.js +25 -25
  177. package/dist/src/utils/format-unit-size.d.ts +2 -2
  178. package/dist/src/utils/format-unit-size.js +33 -33
  179. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  180. package/dist/src/utils/local-date-from-utc.js +15 -15
  181. package/dist/src/utils/sha1.d.ts +2 -2
  182. package/dist/src/utils/sha1.js +8 -8
  183. package/dist/test/collection-browser.test.d.ts +1 -1
  184. package/dist/test/collection-browser.test.js +808 -808
  185. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  186. package/dist/test/collection-facets/facets-template.test.js +134 -134
  187. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  188. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  189. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  190. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  191. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  192. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  193. package/dist/test/collection-facets.test.d.ts +2 -2
  194. package/dist/test/collection-facets.test.js +645 -645
  195. package/dist/test/empty-placeholder.test.d.ts +1 -1
  196. package/dist/test/empty-placeholder.test.js +56 -56
  197. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  198. package/dist/test/expanded-date-picker.test.js +95 -95
  199. package/dist/test/icon-overlay.test.d.ts +1 -1
  200. package/dist/test/icon-overlay.test.js +24 -24
  201. package/dist/test/image-block.test.d.ts +1 -1
  202. package/dist/test/image-block.test.js +48 -48
  203. package/dist/test/item-image.test.d.ts +1 -1
  204. package/dist/test/item-image.test.js +84 -84
  205. package/dist/test/mediatype-config.test.d.ts +1 -1
  206. package/dist/test/mediatype-config.test.js +16 -16
  207. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  208. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  209. package/dist/test/mocks/mock-collection-name-cache.d.ts +9 -9
  210. package/dist/test/mocks/mock-collection-name-cache.js +17 -17
  211. package/dist/test/mocks/mock-search-responses.d.ts +19 -19
  212. package/dist/test/mocks/mock-search-responses.js +623 -623
  213. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  214. package/dist/test/mocks/mock-search-service.js +48 -48
  215. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  216. package/dist/test/restoration-state-handler.test.js +270 -218
  217. package/dist/test/restoration-state-handler.test.js.map +1 -1
  218. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  219. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  220. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  221. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  222. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  223. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +378 -378
  224. package/dist/test/text-overlay.test.d.ts +1 -1
  225. package/dist/test/text-overlay.test.js +48 -48
  226. package/dist/test/text-snippet-block.test.d.ts +1 -1
  227. package/dist/test/text-snippet-block.test.js +57 -57
  228. package/dist/test/tile-stats.test.d.ts +1 -1
  229. package/dist/test/tile-stats.test.js +33 -33
  230. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  231. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  232. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  233. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  234. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  235. package/dist/test/tiles/grid/item-tile.test.js +254 -254
  236. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  237. package/dist/test/tiles/hover/hover-pane-controller.test.js +257 -257
  238. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  239. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  240. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  241. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  242. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  243. package/dist/test/tiles/list/tile-list.test.js +242 -242
  244. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  245. package/dist/test/tiles/tile-dispatcher.test.js +67 -67
  246. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  247. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  248. package/dist/test/utils/array-equals.test.d.ts +1 -1
  249. package/dist/test/utils/array-equals.test.js +26 -26
  250. package/dist/test/utils/format-count.test.d.ts +1 -1
  251. package/dist/test/utils/format-count.test.js +23 -23
  252. package/dist/test/utils/format-date.test.d.ts +1 -1
  253. package/dist/test/utils/format-date.test.js +17 -17
  254. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  255. package/dist/test/utils/format-unit-size.test.js +17 -17
  256. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  257. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  258. package/local.archive.org.cert +86 -86
  259. package/local.archive.org.key +27 -27
  260. package/package.json +1 -1
  261. package/renovate.json +6 -6
  262. package/src/collection-browser.ts +24 -8
  263. package/src/models.ts +193 -109
  264. package/src/restoration-state-handler.ts +66 -40
  265. package/src/sort-filter-bar/sort-filter-bar.ts +34 -27
  266. package/test/restoration-state-handler.test.ts +68 -1
  267. package/tsconfig.json +21 -21
  268. package/web-dev-server.config.mjs +30 -30
  269. package/web-test-runner.config.mjs +41 -41
@@ -1,3 +1,3 @@
1
- export declare const mediatypeConfig: {
2
- [key: string]: any;
3
- };
1
+ export declare const mediatypeConfig: {
2
+ [key: string]: any;
3
+ };
@@ -1,86 +1,86 @@
1
- import { accountIcon } from '../assets/img/icons/mediatype/account';
2
- import { audioIcon } from '../assets/img/icons/mediatype/audio';
3
- import { collectionIcon } from '../assets/img/icons/mediatype/collection';
4
- import { dataIcon } from '../assets/img/icons/mediatype/data';
5
- import { etreeIcon } from '../assets/img/icons/mediatype/etree';
6
- import { imagesIcon } from '../assets/img/icons/mediatype/images';
7
- import { filmIcon } from '../assets/img/icons/mediatype/film';
8
- import { radioIcon } from '../assets/img/icons/mediatype/radio';
9
- import { softwareIcon } from '../assets/img/icons/mediatype/software';
10
- import { textsIcon } from '../assets/img/icons/mediatype/texts';
11
- import { tvIcon } from '../assets/img/icons/mediatype/tv';
12
- import { videoIcon } from '../assets/img/icons/mediatype/video';
13
- import { webIcon } from '../assets/img/icons/mediatype/web';
14
- export const mediatypeConfig = {
15
- account: {
16
- color: '#000000',
17
- icon: accountIcon,
18
- text: 'Account',
19
- },
20
- audio: {
21
- color: '#00adef',
22
- icon: audioIcon,
23
- text: 'Audio',
24
- },
25
- collection: {
26
- color: '#4666ff',
27
- icon: collectionIcon,
28
- text: 'Collection',
29
- },
30
- data: {
31
- color: '#333333',
32
- icon: dataIcon,
33
- text: 'Data',
34
- },
35
- etree: {
36
- color: '#00adef',
37
- icon: etreeIcon,
38
- text: 'E-tree',
39
- },
40
- film: {
41
- color: '#bf1b2c',
42
- icon: filmIcon,
43
- text: 'Film',
44
- },
45
- image: {
46
- color: '#aa99c9',
47
- icon: imagesIcon,
48
- text: 'Image',
49
- },
50
- movies: {
51
- color: '#f1644b',
52
- icon: filmIcon,
53
- text: 'Movie',
54
- },
55
- radio: {
56
- color: '#8fdaef',
57
- icon: radioIcon,
58
- text: 'Radio',
59
- },
60
- software: {
61
- color: '#9ecc4f',
62
- icon: softwareIcon,
63
- text: 'Software',
64
- },
65
- texts: {
66
- color: '#faab3c',
67
- icon: textsIcon,
68
- text: 'Text',
69
- },
70
- tv: {
71
- color: '#f1644b',
72
- icon: tvIcon,
73
- text: 'TV',
74
- },
75
- video: {
76
- color: '#f1644b',
77
- icon: videoIcon,
78
- text: 'Video',
79
- },
80
- web: {
81
- color: '#ffcd27',
82
- icon: webIcon,
83
- text: 'Web',
84
- },
85
- };
1
+ import { accountIcon } from '../assets/img/icons/mediatype/account';
2
+ import { audioIcon } from '../assets/img/icons/mediatype/audio';
3
+ import { collectionIcon } from '../assets/img/icons/mediatype/collection';
4
+ import { dataIcon } from '../assets/img/icons/mediatype/data';
5
+ import { etreeIcon } from '../assets/img/icons/mediatype/etree';
6
+ import { imagesIcon } from '../assets/img/icons/mediatype/images';
7
+ import { filmIcon } from '../assets/img/icons/mediatype/film';
8
+ import { radioIcon } from '../assets/img/icons/mediatype/radio';
9
+ import { softwareIcon } from '../assets/img/icons/mediatype/software';
10
+ import { textsIcon } from '../assets/img/icons/mediatype/texts';
11
+ import { tvIcon } from '../assets/img/icons/mediatype/tv';
12
+ import { videoIcon } from '../assets/img/icons/mediatype/video';
13
+ import { webIcon } from '../assets/img/icons/mediatype/web';
14
+ export const mediatypeConfig = {
15
+ account: {
16
+ color: '#000000',
17
+ icon: accountIcon,
18
+ text: 'Account',
19
+ },
20
+ audio: {
21
+ color: '#00adef',
22
+ icon: audioIcon,
23
+ text: 'Audio',
24
+ },
25
+ collection: {
26
+ color: '#4666ff',
27
+ icon: collectionIcon,
28
+ text: 'Collection',
29
+ },
30
+ data: {
31
+ color: '#333333',
32
+ icon: dataIcon,
33
+ text: 'Data',
34
+ },
35
+ etree: {
36
+ color: '#00adef',
37
+ icon: etreeIcon,
38
+ text: 'E-tree',
39
+ },
40
+ film: {
41
+ color: '#bf1b2c',
42
+ icon: filmIcon,
43
+ text: 'Film',
44
+ },
45
+ image: {
46
+ color: '#aa99c9',
47
+ icon: imagesIcon,
48
+ text: 'Image',
49
+ },
50
+ movies: {
51
+ color: '#f1644b',
52
+ icon: filmIcon,
53
+ text: 'Movie',
54
+ },
55
+ radio: {
56
+ color: '#8fdaef',
57
+ icon: radioIcon,
58
+ text: 'Radio',
59
+ },
60
+ software: {
61
+ color: '#9ecc4f',
62
+ icon: softwareIcon,
63
+ text: 'Software',
64
+ },
65
+ texts: {
66
+ color: '#faab3c',
67
+ icon: textsIcon,
68
+ text: 'Text',
69
+ },
70
+ tv: {
71
+ color: '#f1644b',
72
+ icon: tvIcon,
73
+ text: 'TV',
74
+ },
75
+ video: {
76
+ color: '#f1644b',
77
+ icon: videoIcon,
78
+ text: 'Video',
79
+ },
80
+ web: {
81
+ color: '#ffcd27',
82
+ icon: webIcon,
83
+ text: 'Web',
84
+ },
85
+ };
86
86
  //# sourceMappingURL=mediatype-config.js.map
@@ -1,149 +1,162 @@
1
- import type { MediaType } from '@internetarchive/field-parsers';
2
- import { AggregationSortType, SortDirection } from '@internetarchive/search-service';
3
- export interface TileModel {
4
- averageRating?: number;
5
- collectionIdentifier?: string;
6
- collectionName?: string;
7
- collectionFilesCount: number;
8
- collections: string[];
9
- collectionSize: number;
10
- commentCount: number;
11
- creator?: string;
12
- creators: string[];
13
- dateAdded?: Date;
14
- dateArchived?: Date;
15
- datePublished?: Date;
16
- dateReviewed?: Date;
17
- description?: string;
18
- favCount: number;
19
- href?: string;
20
- identifier: string;
21
- issue?: string;
22
- itemCount: number;
23
- mediatype: MediaType;
24
- source?: string;
25
- snippets?: string[];
26
- subjects: string[];
27
- title: string;
28
- viewCount: number;
29
- volume?: string;
30
- weeklyViewCount?: number;
31
- loginRequired: boolean;
32
- contentWarning: boolean;
33
- }
34
- export declare type CollectionDisplayMode = 'grid' | 'list-compact' | 'list-detail';
35
- export declare type TileDisplayMode = 'grid' | 'list-compact' | 'list-detail' | 'list-header';
36
- /**
37
- * This is mainly used to set the cookies for the collection display mode.
38
- *
39
- * It allows the user to set different modes for different contexts (collection page, search page, etc).
40
- */
41
- export declare type CollectionBrowserContext = 'collection' | 'search';
42
- /**
43
- * The sort fields shown in the sort filter bar
44
- */
45
- export declare enum SortField {
46
- 'default' = "default",
47
- 'relevance' = "relevance",
48
- 'alltimeview' = "alltimeview",
49
- 'weeklyview' = "weeklyview",
50
- 'title' = "title",
51
- 'date' = "date",
52
- 'datearchived' = "datearchived",
53
- 'datereviewed' = "datereviewed",
54
- 'dateadded' = "dateadded",
55
- 'creator' = "creator"
56
- }
57
- /**
58
- * The metadata fields we sort by that map to the SortFields above
59
- */
60
- export declare type MetadataSortField = 'downloads' | 'week' | 'titleSorter' | 'date' | 'creatorSorter' | 'publicdate' | 'reviewdate' | 'addeddate';
61
- /**
62
- * All sort strings recognized in search URLs
63
- */
64
- export declare type URLSortField = MetadataSortField | 'title' | 'creator';
65
- export declare const SortFieldDisplayName: {
66
- [key in SortField]: string;
67
- };
68
- export declare const DefaultSortDirection: {
69
- [key in SortField]: SortDirection | null;
70
- };
71
- /**
72
- * Maps the SortField above to the corresponding Metadata field in the API.
73
- */
74
- export declare const SortFieldToMetadataField: {
75
- [key in SortField]: MetadataSortField | null;
76
- };
77
- /**
78
- * Maps the Metadata field to the corresponding SortField field in the API.
79
- */
80
- export declare const MetadataFieldToSortField: {
81
- [key in MetadataSortField]: SortField;
82
- };
83
- /**
84
- * Maps the Metadata fields to how they should be presented in URLs.
85
- */
86
- export declare const MetadataFieldToURLField: {
87
- [key in MetadataSortField]: URLSortField;
88
- };
89
- /**
90
- * Maps all allowable sort strings from the URL to their respective
91
- * sort fields.
92
- */
93
- export declare const URLFieldToSortField: Record<URLSortField, SortField>;
94
- /** A union of the fields that permit prefix filtering (e.g., alphabetical filtering) */
95
- export declare type PrefixFilterType = 'title' | 'creator';
96
- /** A map from prefixes (e.g., initial letters) to the number of items matching that prefix */
97
- export declare type PrefixFilterCounts = Record<string, number>;
98
- /**
99
- * A map from prefix filter types to the corresponding aggregation keys
100
- * that are needed to fetch the filter counts from the backend.
101
- */
102
- export declare const prefixFilterAggregationKeys: Record<PrefixFilterType, string>;
103
- export declare type FacetOption = 'subject' | 'lending' | 'mediatype' | 'language' | 'creator' | 'collection' | 'year';
104
- export declare type SelectedFacetState = 'selected' | 'hidden';
105
- export declare type FacetState = SelectedFacetState | 'none';
106
- export interface FacetBucket {
107
- displayText?: string;
108
- key: string;
109
- count: number;
110
- state: FacetState;
111
- }
112
- export interface FacetGroup {
113
- title: string;
114
- key: FacetOption;
115
- buckets: FacetBucket[];
116
- }
117
- export declare type FacetEventDetails = {
118
- key: FacetOption;
119
- state: FacetState;
120
- negative: boolean;
121
- };
122
- export declare type FacetValue = string;
123
- export declare type SelectedFacets = Record<FacetOption, Record<FacetValue, FacetBucket>>;
124
- export declare const getDefaultSelectedFacets: () => SelectedFacets;
125
- export declare const facetDisplayOrder: FacetOption[];
126
- export declare const facetTitles: Record<FacetOption, string>;
127
- /**
128
- * The default sort type to use for each facet type
129
- */
130
- export declare const defaultFacetSort: Record<FacetOption, AggregationSortType>;
131
- /**
132
- * The sort type corresponding to facet bucket values, for each facet type
133
- * (i.e., the opposite of "sort by count" for that type).
134
- */
135
- export declare const valueFacetSort: Record<FacetOption, AggregationSortType>;
136
- export declare type LendingFacetKey = 'is_lendable' | 'is_borrowable' | 'available_to_borrow' | 'is_browsable' | 'available_to_browse' | 'is_readable' | 'available_to_waitlist';
137
- /**
138
- * Maps valid lending keys to whether they should be visible in the facet sidebar
139
- */
140
- export declare const lendingFacetKeysVisibility: Record<LendingFacetKey, boolean>;
141
- /**
142
- * Maps valid, visible lending keys to their facet sidebar display text
143
- */
144
- export declare const lendingFacetDisplayNames: Partial<Record<LendingFacetKey, string>>;
145
- /**
146
- * A record of which admin-only collections should be suppressed from being displayed
147
- * as facets or in an item's list of collections.
148
- */
149
- export declare const suppressedCollections: Record<string, boolean>;
1
+ import type { MediaType } from '@internetarchive/field-parsers';
2
+ import { AggregationSortType, SortDirection } from '@internetarchive/search-service';
3
+ export interface TileModel {
4
+ averageRating?: number;
5
+ collectionIdentifier?: string;
6
+ collectionName?: string;
7
+ collectionFilesCount: number;
8
+ collections: string[];
9
+ collectionSize: number;
10
+ commentCount: number;
11
+ creator?: string;
12
+ creators: string[];
13
+ dateAdded?: Date;
14
+ dateArchived?: Date;
15
+ datePublished?: Date;
16
+ dateReviewed?: Date;
17
+ description?: string;
18
+ favCount: number;
19
+ href?: string;
20
+ identifier: string;
21
+ issue?: string;
22
+ itemCount: number;
23
+ mediatype: MediaType;
24
+ source?: string;
25
+ snippets?: string[];
26
+ subjects: string[];
27
+ title: string;
28
+ viewCount: number;
29
+ volume?: string;
30
+ weeklyViewCount?: number;
31
+ loginRequired: boolean;
32
+ contentWarning: boolean;
33
+ }
34
+ export declare type CollectionDisplayMode = 'grid' | 'list-compact' | 'list-detail';
35
+ export declare type TileDisplayMode = 'grid' | 'list-compact' | 'list-detail' | 'list-header';
36
+ /**
37
+ * This is mainly used to set the cookies for the collection display mode.
38
+ *
39
+ * It allows the user to set different modes for different contexts (collection page, search page, etc).
40
+ */
41
+ export declare type CollectionBrowserContext = 'collection' | 'search';
42
+ /**
43
+ * The sort fields shown in the sort filter bar
44
+ */
45
+ export declare enum SortField {
46
+ 'default' = "default",
47
+ 'unrecognized' = "unrecognized",
48
+ 'relevance' = "relevance",
49
+ 'alltimeview' = "alltimeview",
50
+ 'weeklyview' = "weeklyview",
51
+ 'title' = "title",
52
+ 'date' = "date",
53
+ 'datearchived' = "datearchived",
54
+ 'datereviewed' = "datereviewed",
55
+ 'dateadded' = "dateadded",
56
+ 'creator' = "creator"
57
+ }
58
+ export interface SortOption {
59
+ /**
60
+ * The SortField enum member corresponding to this option.
61
+ */
62
+ field: SortField;
63
+ /**
64
+ * The default sort direction to apply when this sort option is first selected.
65
+ */
66
+ defaultSortDirection: SortDirection | null;
67
+ /**
68
+ * Whether this sort option allows its sort direction to be changed from the default.
69
+ */
70
+ canSetDirection: boolean;
71
+ /**
72
+ * Whether this sort option may appear in the sort bar.
73
+ */
74
+ shownInSortBar: boolean;
75
+ /**
76
+ * Whether this sort option should be saved to the URL.
77
+ * If false, then no `sort` param will be added to the URL when this sort option
78
+ * is selected.
79
+ */
80
+ shownInURL: boolean;
81
+ /**
82
+ * Whether this sort option is passed to the search service.
83
+ * If false, then no sort param will be passed to the search service at all when
84
+ * this sort option is selected.
85
+ */
86
+ handledBySearchService: boolean;
87
+ /**
88
+ * The string identifying this sort field to the search service & backend API.
89
+ */
90
+ searchServiceKey?: string;
91
+ /**
92
+ * The human-readable name to use for this option in the sort bar (if applicable).
93
+ */
94
+ displayName: string;
95
+ /**
96
+ * A list of URL param keys that should be mapped to this sort option.
97
+ * E.g., both `title` and `titleSorter` in the URL map to the `SortField.title` option.
98
+ */
99
+ urlNames: (string | null | undefined)[];
100
+ }
101
+ export declare const SORT_OPTIONS: Record<SortField, SortOption>;
102
+ /**
103
+ * Returns the SortOption corresponding to the given API sort name, or
104
+ * the "unrecognized" SortOption if none matches.
105
+ */
106
+ export declare function sortOptionFromAPIString(sortName?: string | null): SortOption;
107
+ /** A union of the fields that permit prefix filtering (e.g., alphabetical filtering) */
108
+ export declare type PrefixFilterType = 'title' | 'creator';
109
+ /** A map from prefixes (e.g., initial letters) to the number of items matching that prefix */
110
+ export declare type PrefixFilterCounts = Record<string, number>;
111
+ /**
112
+ * A map from prefix filter types to the corresponding aggregation keys
113
+ * that are needed to fetch the filter counts from the backend.
114
+ */
115
+ export declare const prefixFilterAggregationKeys: Record<PrefixFilterType, string>;
116
+ export declare type FacetOption = 'subject' | 'lending' | 'mediatype' | 'language' | 'creator' | 'collection' | 'year';
117
+ export declare type SelectedFacetState = 'selected' | 'hidden';
118
+ export declare type FacetState = SelectedFacetState | 'none';
119
+ export interface FacetBucket {
120
+ displayText?: string;
121
+ key: string;
122
+ count: number;
123
+ state: FacetState;
124
+ }
125
+ export interface FacetGroup {
126
+ title: string;
127
+ key: FacetOption;
128
+ buckets: FacetBucket[];
129
+ }
130
+ export declare type FacetEventDetails = {
131
+ key: FacetOption;
132
+ state: FacetState;
133
+ negative: boolean;
134
+ };
135
+ export declare type FacetValue = string;
136
+ export declare type SelectedFacets = Record<FacetOption, Record<FacetValue, FacetBucket>>;
137
+ export declare const getDefaultSelectedFacets: () => SelectedFacets;
138
+ export declare const facetDisplayOrder: FacetOption[];
139
+ export declare const facetTitles: Record<FacetOption, string>;
140
+ /**
141
+ * The default sort type to use for each facet type
142
+ */
143
+ export declare const defaultFacetSort: Record<FacetOption, AggregationSortType>;
144
+ /**
145
+ * The sort type corresponding to facet bucket values, for each facet type
146
+ * (i.e., the opposite of "sort by count" for that type).
147
+ */
148
+ export declare const valueFacetSort: Record<FacetOption, AggregationSortType>;
149
+ export declare type LendingFacetKey = 'is_lendable' | 'is_borrowable' | 'available_to_borrow' | 'is_browsable' | 'available_to_browse' | 'is_readable' | 'available_to_waitlist';
150
+ /**
151
+ * Maps valid lending keys to whether they should be visible in the facet sidebar
152
+ */
153
+ export declare const lendingFacetKeysVisibility: Record<LendingFacetKey, boolean>;
154
+ /**
155
+ * Maps valid, visible lending keys to their facet sidebar display text
156
+ */
157
+ export declare const lendingFacetDisplayNames: Partial<Record<LendingFacetKey, string>>;
158
+ /**
159
+ * A record of which admin-only collections should be suppressed from being displayed
160
+ * as facets or in an item's list of collections.
161
+ */
162
+ export declare const suppressedCollections: Record<string, boolean>;