@internetarchive/collection-browser 2.1.8-alpha.5 → 2.1.8-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 (299) hide show
  1. package/.editorconfig +29 -29
  2. package/.husky/pre-commit +4 -4
  3. package/LICENSE +661 -661
  4. package/README.md +83 -83
  5. package/dist/index.d.ts +12 -12
  6. package/dist/index.js +12 -12
  7. package/dist/src/app-root.d.ts +88 -88
  8. package/dist/src/app-root.js +475 -475
  9. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  10. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  11. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  13. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  14. package/dist/src/assets/img/icons/chevron.js +2 -2
  15. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  16. package/dist/src/assets/img/icons/contract.js +2 -2
  17. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  18. package/dist/src/assets/img/icons/empty-query.js +2 -2
  19. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  20. package/dist/src/assets/img/icons/expand.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/favorite-unfilled.d.ts +1 -1
  28. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  29. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  30. package/dist/src/assets/img/icons/login-required.js +2 -2
  31. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  32. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  33. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  34. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  35. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  36. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  37. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  38. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  39. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  40. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  41. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  42. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  43. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  44. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  45. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  46. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  47. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  48. package/dist/src/assets/img/icons/mediatype/search.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 +446 -446
  72. package/dist/src/collection-browser.js +1410 -1409
  73. package/dist/src/collection-browser.js.map +1 -1
  74. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  75. package/dist/src/collection-facets/facet-row.js +114 -114
  76. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  77. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  78. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  79. package/dist/src/collection-facets/facets-template.js +114 -114
  80. package/dist/src/collection-facets/more-facets-content.d.ts +70 -74
  81. package/dist/src/collection-facets/more-facets-content.js +354 -357
  82. package/dist/src/collection-facets/more-facets-content.js.map +1 -1
  83. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  84. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  85. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  86. package/dist/src/collection-facets/toggle-switch.js +94 -94
  87. package/dist/src/collection-facets.d.ts +103 -103
  88. package/dist/src/collection-facets.js +510 -511
  89. package/dist/src/collection-facets.js.map +1 -1
  90. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +236 -236
  91. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  92. package/dist/src/data-source/collection-browser-data-source.d.ts +364 -364
  93. package/dist/src/data-source/collection-browser-data-source.js +946 -946
  94. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  95. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  96. package/dist/src/data-source/models.d.ts +28 -28
  97. package/dist/src/data-source/models.js +8 -8
  98. package/dist/src/empty-placeholder.d.ts +23 -23
  99. package/dist/src/empty-placeholder.js +74 -74
  100. package/dist/src/expanded-date-picker.d.ts +43 -43
  101. package/dist/src/expanded-date-picker.js +109 -109
  102. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  103. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  104. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  105. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  106. package/dist/src/manage/manage-bar.d.ts +30 -30
  107. package/dist/src/manage/manage-bar.js +61 -61
  108. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  109. package/dist/src/mediatype/mediatype-config.js +91 -91
  110. package/dist/src/models.d.ts +198 -198
  111. package/dist/src/models.js +381 -381
  112. package/dist/src/restoration-state-handler.d.ts +70 -70
  113. package/dist/src/restoration-state-handler.js +357 -357
  114. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  115. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  116. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  117. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  118. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  119. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  120. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  121. package/dist/src/sort-filter-bar/img/list.js +2 -2
  122. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  123. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  124. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  125. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  126. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  127. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  128. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  129. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  130. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  131. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  132. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +221 -221
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js +691 -691
  134. package/dist/src/styles/ia-button.d.ts +2 -2
  135. package/dist/src/styles/ia-button.js +16 -16
  136. package/dist/src/styles/item-image-styles.d.ts +8 -8
  137. package/dist/src/styles/item-image-styles.js +9 -9
  138. package/dist/src/styles/sr-only.d.ts +1 -1
  139. package/dist/src/styles/sr-only.js +2 -2
  140. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  141. package/dist/src/tiles/base-tile-component.js +63 -63
  142. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  143. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  144. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  145. package/dist/src/tiles/grid/account-tile.js +72 -72
  146. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  147. package/dist/src/tiles/grid/collection-tile.js +80 -80
  148. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  149. package/dist/src/tiles/grid/item-tile.js +149 -149
  150. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  151. package/dist/src/tiles/grid/search-tile.js +51 -51
  152. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  153. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  154. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  155. package/dist/src/tiles/grid/tile-stats.js +53 -53
  156. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  157. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  158. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  159. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  160. package/dist/src/tiles/image-block.d.ts +17 -17
  161. package/dist/src/tiles/image-block.js +73 -73
  162. package/dist/src/tiles/item-image.d.ts +39 -39
  163. package/dist/src/tiles/item-image.js +154 -154
  164. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  165. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  166. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  167. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  168. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  169. package/dist/src/tiles/list/tile-list.js +315 -315
  170. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  171. package/dist/src/tiles/mediatype-icon.js +47 -47
  172. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  173. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  174. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  175. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  176. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  177. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  178. package/dist/src/tiles/review-block.d.ts +12 -12
  179. package/dist/src/tiles/review-block.js +56 -56
  180. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  181. package/dist/src/tiles/text-snippet-block.js +73 -73
  182. package/dist/src/tiles/tile-dispatcher.d.ts +65 -64
  183. package/dist/src/tiles/tile-dispatcher.js +233 -229
  184. package/dist/src/tiles/tile-dispatcher.js.map +1 -1
  185. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  186. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  187. package/dist/src/utils/analytics-events.d.ts +26 -26
  188. package/dist/src/utils/analytics-events.js +28 -28
  189. package/dist/src/utils/array-equals.d.ts +4 -4
  190. package/dist/src/utils/array-equals.js +10 -10
  191. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  192. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  193. package/dist/src/utils/format-count.d.ts +7 -7
  194. package/dist/src/utils/format-count.js +76 -76
  195. package/dist/src/utils/format-date.d.ts +2 -2
  196. package/dist/src/utils/format-date.js +25 -25
  197. package/dist/src/utils/format-unit-size.d.ts +2 -2
  198. package/dist/src/utils/format-unit-size.js +33 -33
  199. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  200. package/dist/src/utils/local-date-from-utc.js +15 -15
  201. package/dist/src/utils/log.d.ts +7 -7
  202. package/dist/src/utils/log.js +15 -15
  203. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  204. package/dist/src/utils/resolve-mediatype.js +23 -23
  205. package/dist/src/utils/sha1.d.ts +2 -2
  206. package/dist/src/utils/sha1.js +8 -8
  207. package/dist/test/collection-browser.test.d.ts +1 -1
  208. package/dist/test/collection-browser.test.js +1283 -1283
  209. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  210. package/dist/test/collection-facets/facet-row.test.js +203 -203
  211. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  212. package/dist/test/collection-facets/facets-template.test.js +105 -105
  213. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  214. package/dist/test/collection-facets/more-facets-content.test.js +133 -133
  215. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  216. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  217. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  218. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  219. package/dist/test/collection-facets.test.d.ts +2 -2
  220. package/dist/test/collection-facets.test.js +652 -652
  221. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  222. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  223. package/dist/test/empty-placeholder.test.d.ts +1 -1
  224. package/dist/test/empty-placeholder.test.js +63 -63
  225. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  226. package/dist/test/expanded-date-picker.test.js +95 -95
  227. package/dist/test/icon-overlay.test.d.ts +1 -1
  228. package/dist/test/icon-overlay.test.js +24 -24
  229. package/dist/test/image-block.test.d.ts +1 -1
  230. package/dist/test/image-block.test.js +48 -48
  231. package/dist/test/item-image.test.d.ts +1 -1
  232. package/dist/test/item-image.test.js +85 -85
  233. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  234. package/dist/test/manage/manage-bar.test.js +81 -81
  235. package/dist/test/mediatype-config.test.d.ts +1 -1
  236. package/dist/test/mediatype-config.test.js +16 -16
  237. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  238. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  239. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  240. package/dist/test/mocks/mock-search-responses.js +860 -860
  241. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  242. package/dist/test/mocks/mock-search-service.js +53 -53
  243. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  244. package/dist/test/restoration-state-handler.test.js +270 -270
  245. package/dist/test/review-block.test.d.ts +1 -1
  246. package/dist/test/review-block.test.js +44 -44
  247. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  248. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  249. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  250. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  251. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  252. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  253. package/dist/test/text-overlay.test.d.ts +1 -1
  254. package/dist/test/text-overlay.test.js +48 -48
  255. package/dist/test/text-snippet-block.test.d.ts +1 -1
  256. package/dist/test/text-snippet-block.test.js +57 -57
  257. package/dist/test/tile-stats.test.d.ts +1 -1
  258. package/dist/test/tile-stats.test.js +81 -81
  259. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  260. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  261. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  262. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  263. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  264. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  265. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  266. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  267. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  268. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  269. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  270. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  271. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  272. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  273. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list.test.js +297 -297
  275. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  276. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  277. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  279. package/dist/test/utils/array-equals.test.d.ts +1 -1
  280. package/dist/test/utils/array-equals.test.js +26 -26
  281. package/dist/test/utils/format-count.test.d.ts +1 -1
  282. package/dist/test/utils/format-count.test.js +23 -23
  283. package/dist/test/utils/format-date.test.d.ts +1 -1
  284. package/dist/test/utils/format-date.test.js +17 -17
  285. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  286. package/dist/test/utils/format-unit-size.test.js +17 -17
  287. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  288. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  289. package/local.archive.org.cert +86 -86
  290. package/local.archive.org.key +27 -27
  291. package/package.json +1 -1
  292. package/renovate.json +6 -6
  293. package/src/collection-browser.ts +2 -1
  294. package/src/collection-facets/more-facets-content.ts +13 -18
  295. package/src/collection-facets.ts +5 -7
  296. package/src/tiles/tile-dispatcher.ts +3 -1
  297. package/tsconfig.json +21 -21
  298. package/web-dev-server.config.mjs +30 -30
  299. package/web-test-runner.config.mjs +41 -41
@@ -1,70 +1,70 @@
1
- import { SearchType, SortDirection } from '@internetarchive/search-service';
2
- import { CollectionBrowserContext, CollectionDisplayMode, SelectedFacets, SortField } from './models';
3
- export interface RestorationState {
4
- displayMode?: CollectionDisplayMode;
5
- searchType?: SearchType;
6
- selectedSort?: SortField;
7
- sortDirection?: SortDirection;
8
- selectedFacets: SelectedFacets;
9
- baseQuery?: string;
10
- currentPage?: number;
11
- titleQuery?: string;
12
- creatorQuery?: string;
13
- minSelectedDate?: string;
14
- maxSelectedDate?: string;
15
- selectedTitleFilter?: string;
16
- selectedCreatorFilter?: string;
17
- }
18
- export interface RestorationStateHandlerInterface {
19
- persistState(state: RestorationState, forceReplace?: boolean): void;
20
- getRestorationState(): RestorationState;
21
- }
22
- export declare class RestorationStateHandler implements RestorationStateHandlerInterface {
23
- private context;
24
- private cookieDomain;
25
- private cookieExpiration;
26
- private cookiePath;
27
- constructor(options: {
28
- context: CollectionBrowserContext;
29
- });
30
- persistState(state: RestorationState, forceReplace?: boolean): void;
31
- getRestorationState(): RestorationState;
32
- private persistViewStateToCookies;
33
- private loadTileViewStateFromCookies;
34
- private persistQueryStateToUrl;
35
- private loadQueryStateFromUrl;
36
- /**
37
- * Converts a URL sort param into a field/direction pair, if possible.
38
- * Either or both may be undefined if the param is not in a recognized format.
39
- */
40
- private getSortFieldAndDirection;
41
- /** Returns the `-` prefix for `desc` sort, or the empty string otherwise. */
42
- private sortDirectionPrefix;
43
- /** Remove optional opening and closing quotes from a string */
44
- private stripQuotes;
45
- /**
46
- * Returns whether the two given URLSearchParams objects have
47
- * identical values for all of the given param keys. If either
48
- * object contains more than one value for a given key, then
49
- * all of the values for that key must match (disregarding order).
50
- */
51
- private paramsMatch;
52
- /**
53
- * Deletes any params from the given URLSearchParams object that are recognized
54
- * when loading state from the URL.
55
- */
56
- private removeRecognizedParams;
57
- /**
58
- * Returns whether the given URLSearchParams object contains a param that is
59
- * only recognized as a holdover from legacy search, and should not be
60
- * persisted to the URL.
61
- */
62
- private hasLegacyParam;
63
- /**
64
- * Sets the facet state for the given field & value to the given state,
65
- * creating any previously-undefined buckets as needed.
66
- */
67
- private setSelectedFacetState;
68
- /** Returns a default bucket with the given key, count of 0, and state 'none'. */
69
- private getDefaultBucket;
70
- }
1
+ import { SearchType, SortDirection } from '@internetarchive/search-service';
2
+ import { CollectionBrowserContext, CollectionDisplayMode, SelectedFacets, SortField } from './models';
3
+ export interface RestorationState {
4
+ displayMode?: CollectionDisplayMode;
5
+ searchType?: SearchType;
6
+ selectedSort?: SortField;
7
+ sortDirection?: SortDirection;
8
+ selectedFacets: SelectedFacets;
9
+ baseQuery?: string;
10
+ currentPage?: number;
11
+ titleQuery?: string;
12
+ creatorQuery?: string;
13
+ minSelectedDate?: string;
14
+ maxSelectedDate?: string;
15
+ selectedTitleFilter?: string;
16
+ selectedCreatorFilter?: string;
17
+ }
18
+ export interface RestorationStateHandlerInterface {
19
+ persistState(state: RestorationState, forceReplace?: boolean): void;
20
+ getRestorationState(): RestorationState;
21
+ }
22
+ export declare class RestorationStateHandler implements RestorationStateHandlerInterface {
23
+ private context;
24
+ private cookieDomain;
25
+ private cookieExpiration;
26
+ private cookiePath;
27
+ constructor(options: {
28
+ context: CollectionBrowserContext;
29
+ });
30
+ persistState(state: RestorationState, forceReplace?: boolean): void;
31
+ getRestorationState(): RestorationState;
32
+ private persistViewStateToCookies;
33
+ private loadTileViewStateFromCookies;
34
+ private persistQueryStateToUrl;
35
+ private loadQueryStateFromUrl;
36
+ /**
37
+ * Converts a URL sort param into a field/direction pair, if possible.
38
+ * Either or both may be undefined if the param is not in a recognized format.
39
+ */
40
+ private getSortFieldAndDirection;
41
+ /** Returns the `-` prefix for `desc` sort, or the empty string otherwise. */
42
+ private sortDirectionPrefix;
43
+ /** Remove optional opening and closing quotes from a string */
44
+ private stripQuotes;
45
+ /**
46
+ * Returns whether the two given URLSearchParams objects have
47
+ * identical values for all of the given param keys. If either
48
+ * object contains more than one value for a given key, then
49
+ * all of the values for that key must match (disregarding order).
50
+ */
51
+ private paramsMatch;
52
+ /**
53
+ * Deletes any params from the given URLSearchParams object that are recognized
54
+ * when loading state from the URL.
55
+ */
56
+ private removeRecognizedParams;
57
+ /**
58
+ * Returns whether the given URLSearchParams object contains a param that is
59
+ * only recognized as a holdover from legacy search, and should not be
60
+ * persisted to the URL.
61
+ */
62
+ private hasLegacyParam;
63
+ /**
64
+ * Sets the facet state for the given field & value to the given state,
65
+ * creating any previously-undefined buckets as needed.
66
+ */
67
+ private setSelectedFacetState;
68
+ /** Returns a default bucket with the given key, count of 0, and state 'none'. */
69
+ private getDefaultBucket;
70
+ }