@internetarchive/collection-browser 2.3.0 → 2.4.0

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 +91 -91
  8. package/dist/src/app-root.js +487 -487
  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 +466 -466
  72. package/dist/src/collection-browser.js +1475 -1475
  73. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  74. package/dist/src/collection-facets/facet-row.js +114 -114
  75. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  76. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  77. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  78. package/dist/src/collection-facets/facets-template.js +114 -114
  79. package/dist/src/collection-facets/more-facets-content.d.ts +74 -74
  80. package/dist/src/collection-facets/more-facets-content.js +360 -360
  81. package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
  82. package/dist/src/collection-facets/more-facets-pagination.js +196 -196
  83. package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
  84. package/dist/src/collection-facets/toggle-switch.js +94 -94
  85. package/dist/src/collection-facets.d.ts +103 -103
  86. package/dist/src/collection-facets.js +510 -510
  87. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
  88. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  89. package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
  90. package/dist/src/data-source/collection-browser-data-source.js +985 -985
  91. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  92. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  93. package/dist/src/data-source/models.d.ts +28 -28
  94. package/dist/src/data-source/models.js +8 -8
  95. package/dist/src/empty-placeholder.d.ts +23 -23
  96. package/dist/src/empty-placeholder.js +74 -74
  97. package/dist/src/expanded-date-picker.d.ts +43 -43
  98. package/dist/src/expanded-date-picker.js +109 -109
  99. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  100. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  101. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  102. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  103. package/dist/src/manage/manage-bar.d.ts +30 -30
  104. package/dist/src/manage/manage-bar.js +61 -61
  105. package/dist/src/mediatype/mediatype-config.d.ts +3 -3
  106. package/dist/src/mediatype/mediatype-config.js +91 -91
  107. package/dist/src/models.d.ts +209 -209
  108. package/dist/src/models.js +381 -381
  109. package/dist/src/restoration-state-handler.d.ts +70 -70
  110. package/dist/src/restoration-state-handler.js +357 -357
  111. package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
  112. package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
  113. package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
  114. package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
  115. package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
  116. package/dist/src/sort-filter-bar/img/compact.js +2 -2
  117. package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
  118. package/dist/src/sort-filter-bar/img/list.js +2 -2
  119. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
  120. package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
  121. package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
  122. package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
  123. package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
  124. package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
  125. package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
  126. package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
  127. package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
  128. package/dist/src/sort-filter-bar/img/tile.js +2 -2
  129. package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +222 -222
  130. package/dist/src/sort-filter-bar/sort-filter-bar.js +696 -696
  131. package/dist/src/styles/ia-button.d.ts +2 -2
  132. package/dist/src/styles/ia-button.js +16 -16
  133. package/dist/src/styles/item-image-styles.d.ts +8 -8
  134. package/dist/src/styles/item-image-styles.js +9 -9
  135. package/dist/src/styles/sr-only.d.ts +1 -1
  136. package/dist/src/styles/sr-only.js +2 -2
  137. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  138. package/dist/src/tiles/base-tile-component.js +63 -63
  139. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  140. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  141. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  142. package/dist/src/tiles/grid/account-tile.js +72 -72
  143. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  144. package/dist/src/tiles/grid/collection-tile.js +80 -80
  145. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  146. package/dist/src/tiles/grid/item-tile.js +149 -149
  147. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  148. package/dist/src/tiles/grid/search-tile.js +51 -51
  149. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  150. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  151. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  152. package/dist/src/tiles/grid/tile-stats.js +53 -53
  153. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  154. package/dist/src/tiles/hover/hover-pane-controller.js +354 -352
  155. package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
  156. package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -15
  157. package/dist/src/tiles/hover/tile-hover-pane.js +127 -47
  158. package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
  159. package/dist/src/tiles/image-block.d.ts +17 -17
  160. package/dist/src/tiles/image-block.js +74 -74
  161. package/dist/src/tiles/image-block.js.map +1 -1
  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 +64 -64
  183. package/dist/src/tiles/tile-dispatcher.js +229 -229
  184. package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
  185. package/dist/src/tiles/tile-display-value-provider.js +94 -94
  186. package/dist/src/utils/analytics-events.d.ts +28 -28
  187. package/dist/src/utils/analytics-events.js +30 -30
  188. package/dist/src/utils/array-equals.d.ts +4 -4
  189. package/dist/src/utils/array-equals.js +10 -10
  190. package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
  191. package/dist/src/utils/collapse-repeated-quotes.js +13 -13
  192. package/dist/src/utils/format-count.d.ts +7 -7
  193. package/dist/src/utils/format-count.js +76 -76
  194. package/dist/src/utils/format-date.d.ts +2 -2
  195. package/dist/src/utils/format-date.js +25 -25
  196. package/dist/src/utils/format-unit-size.d.ts +2 -2
  197. package/dist/src/utils/format-unit-size.js +33 -33
  198. package/dist/src/utils/local-date-from-utc.d.ts +9 -9
  199. package/dist/src/utils/local-date-from-utc.js +15 -15
  200. package/dist/src/utils/log.d.ts +7 -7
  201. package/dist/src/utils/log.js +15 -15
  202. package/dist/src/utils/resolve-mediatype.d.ts +8 -8
  203. package/dist/src/utils/resolve-mediatype.js +23 -23
  204. package/dist/src/utils/sha1.d.ts +2 -2
  205. package/dist/src/utils/sha1.js +8 -8
  206. package/dist/test/collection-browser.test.d.ts +1 -1
  207. package/dist/test/collection-browser.test.js +1293 -1293
  208. package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
  209. package/dist/test/collection-facets/facet-row.test.js +203 -203
  210. package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
  211. package/dist/test/collection-facets/facets-template.test.js +105 -105
  212. package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
  213. package/dist/test/collection-facets/more-facets-content.test.js +139 -139
  214. package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
  215. package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
  216. package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
  217. package/dist/test/collection-facets/toggle-switch.test.js +73 -73
  218. package/dist/test/collection-facets.test.d.ts +2 -2
  219. package/dist/test/collection-facets.test.js +652 -652
  220. package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
  221. package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
  222. package/dist/test/empty-placeholder.test.d.ts +1 -1
  223. package/dist/test/empty-placeholder.test.js +63 -63
  224. package/dist/test/expanded-date-picker.test.d.ts +1 -1
  225. package/dist/test/expanded-date-picker.test.js +95 -95
  226. package/dist/test/icon-overlay.test.d.ts +1 -1
  227. package/dist/test/icon-overlay.test.js +24 -24
  228. package/dist/test/image-block.test.d.ts +1 -1
  229. package/dist/test/image-block.test.js +48 -48
  230. package/dist/test/item-image.test.d.ts +1 -1
  231. package/dist/test/item-image.test.js +85 -85
  232. package/dist/test/manage/manage-bar.test.d.ts +1 -1
  233. package/dist/test/manage/manage-bar.test.js +81 -81
  234. package/dist/test/mediatype-config.test.d.ts +1 -1
  235. package/dist/test/mediatype-config.test.js +16 -16
  236. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  237. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  238. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  239. package/dist/test/mocks/mock-search-responses.js +860 -860
  240. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  241. package/dist/test/mocks/mock-search-service.js +53 -53
  242. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  243. package/dist/test/restoration-state-handler.test.js +270 -270
  244. package/dist/test/review-block.test.d.ts +1 -1
  245. package/dist/test/review-block.test.js +44 -44
  246. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  247. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  248. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  250. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  251. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
  252. package/dist/test/text-overlay.test.d.ts +1 -1
  253. package/dist/test/text-overlay.test.js +48 -48
  254. package/dist/test/text-snippet-block.test.d.ts +1 -1
  255. package/dist/test/text-snippet-block.test.js +57 -57
  256. package/dist/test/tile-stats.test.d.ts +1 -1
  257. package/dist/test/tile-stats.test.js +81 -81
  258. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  259. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  260. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  261. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  262. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  263. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  264. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  265. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  266. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  267. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  268. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  269. package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -13
  270. package/dist/test/tiles/hover/tile-hover-pane.test.js.map +1 -1
  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/tiles/hover/hover-pane-controller.ts +2 -0
  294. package/src/tiles/hover/tile-hover-pane.ts +100 -11
  295. package/src/tiles/image-block.ts +1 -1
  296. package/test/tiles/hover/tile-hover-pane.test.ts +61 -0
  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,36 +1,36 @@
1
- import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
- export declare class MoreFacetsPagination extends LitElement {
3
- /**
4
- * Total number of pages
5
- */
6
- size: number;
7
- /**
8
- * Number of pages can be moved in back/forward
9
- */
10
- step: number;
11
- currentPage: number;
12
- pages?: number[];
13
- firstUpdated(): void;
14
- updated(changed: Map<string, any>): void;
15
- /** creates `this.pages` array that notes which pages to draw
16
- * - `0` is elipses marker
17
- * - rule: selected page is centered between -2/+2 pages
18
- * - outlier: first page selected, show _1_ 2 3 ... N
19
- * - outlier: second page selected, show 1 _2_ 3 4 ... N
20
- * - outlier: last page selected, show 1 ... N-2 N-1 _N_
21
- * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages
22
- */
23
- observePageCount(): void;
24
- private createFirstNode;
25
- private createMiddelNode;
26
- private createLastNode;
27
- private get getEllipsisTemplate();
28
- emitPageClick(): void;
29
- private onRewind;
30
- private onForward;
31
- private onChange;
32
- private getPageTemplate;
33
- private get getPagesTemplate();
34
- render(): TemplateResult<1>;
35
- static get styles(): CSSResultGroup;
36
- }
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ export declare class MoreFacetsPagination extends LitElement {
3
+ /**
4
+ * Total number of pages
5
+ */
6
+ size: number;
7
+ /**
8
+ * Number of pages can be moved in back/forward
9
+ */
10
+ step: number;
11
+ currentPage: number;
12
+ pages?: number[];
13
+ firstUpdated(): void;
14
+ updated(changed: Map<string, any>): void;
15
+ /** creates `this.pages` array that notes which pages to draw
16
+ * - `0` is elipses marker
17
+ * - rule: selected page is centered between -2/+2 pages
18
+ * - outlier: first page selected, show _1_ 2 3 ... N
19
+ * - outlier: second page selected, show 1 _2_ 3 4 ... N
20
+ * - outlier: last page selected, show 1 ... N-2 N-1 _N_
21
+ * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages
22
+ */
23
+ observePageCount(): void;
24
+ private createFirstNode;
25
+ private createMiddelNode;
26
+ private createLastNode;
27
+ private get getEllipsisTemplate();
28
+ emitPageClick(): void;
29
+ private onRewind;
30
+ private onForward;
31
+ private onChange;
32
+ private getPageTemplate;
33
+ private get getPagesTemplate();
34
+ render(): TemplateResult<1>;
35
+ static get styles(): CSSResultGroup;
36
+ }
@@ -1,162 +1,162 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing, } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import arrowLeftIcon from '../assets/img/icons/arrow-left';
5
- import arrowRightIcon from '../assets/img/icons/arrow-right';
6
- import { srOnlyStyle } from '../styles/sr-only';
7
- let MoreFacetsPagination = class MoreFacetsPagination extends LitElement {
8
- constructor() {
9
- super(...arguments);
10
- /**
11
- * Number of pages can be moved in back/forward
12
- */
13
- this.step = 2;
14
- this.currentPage = 1;
15
- this.pages = [];
16
- }
17
- firstUpdated() {
18
- this.observePageCount();
19
- }
20
- updated(changed) {
21
- if (changed.has('size')) {
22
- this.observePageCount();
23
- }
24
- if (changed.has('currentPage')) {
25
- this.observePageCount();
26
- this.emitPageClick();
27
- }
28
- }
29
- /** creates `this.pages` array that notes which pages to draw
30
- * - `0` is elipses marker
31
- * - rule: selected page is centered between -2/+2 pages
32
- * - outlier: first page selected, show _1_ 2 3 ... N
33
- * - outlier: second page selected, show 1 _2_ 3 4 ... N
34
- * - outlier: last page selected, show 1 ... N-2 N-1 _N_
35
- * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages
36
- */
37
- observePageCount() {
38
- this.pages = []; /* `0` is elipses marker */
39
- const paginatorMaxPagesToShow = 7;
40
- const atMinThreshold = this.size <= paginatorMaxPagesToShow;
41
- /** Display outliers */
42
- if (this.size <= 5) {
43
- // display all pages
44
- this.pages = [...Array(this.size).keys()].map(i => i + 1);
45
- return;
46
- }
47
- if (this.size === paginatorMaxPagesToShow) {
48
- // edge: 7 pages
49
- if (this.currentPage === 2) {
50
- this.pages = [1, 2, 3, 4, 0, this.size];
51
- return;
52
- }
53
- if (this.currentPage === this.size - 1) {
54
- this.pages = [1, 0, 4, 5, this.size - 1, this.size];
55
- return;
56
- }
57
- }
58
- if (this.currentPage === 1) {
59
- // first page
60
- this.pages = [1, 2, 3, 0, this.size];
61
- return;
62
- }
63
- if (this.currentPage === this.size) {
64
- // last page
65
- this.pages = [1, 0, this.size - 2, this.size - 1, this.size];
66
- return;
67
- }
68
- if (this.currentPage === this.size - 1) {
69
- // second last page
70
- this.pages = [
71
- 1,
72
- 0,
73
- this.size - 3,
74
- this.size - 2,
75
- this.size - 1,
76
- this.size,
77
- ];
78
- return;
79
- }
80
- if (atMinThreshold &&
81
- this.currentPage > 1 &&
82
- this.currentPage < paginatorMaxPagesToShow) {
83
- this.pages = [...Array(this.size).keys()].map(i => i + 1);
84
- return;
85
- }
86
- /* The rest here calculates the range to display in "page window" */
87
- let startPage = this.currentPage - this.step;
88
- let endPage = this.currentPage + this.step;
89
- if (startPage <= 0) {
90
- endPage += -startPage + 1;
91
- startPage = 1;
92
- }
93
- if (endPage >= this.size) {
94
- startPage = Math.max(startPage - (endPage - this.size), 1);
95
- endPage = this.size;
96
- }
97
- if (startPage === 2) {
98
- endPage -= 1;
99
- }
100
- if (endPage === this.size - 1) {
101
- startPage += 1;
102
- }
103
- // create first page node
104
- this.createFirstNode(startPage);
105
- // create middle pages node
106
- this.createMiddelNode(startPage, endPage);
107
- // create last page node
108
- this.createLastNode(endPage);
109
- }
110
- createFirstNode(startPage) {
111
- var _a, _b;
112
- if (startPage > 1) {
113
- (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(1);
114
- }
115
- if (startPage > 2) {
116
- (_b = this.pages) === null || _b === void 0 ? void 0 : _b.push(0); // let's asssume 0 is for ellipsis template
117
- }
118
- }
119
- createMiddelNode(startPage, endPage) {
120
- var _a;
121
- for (let page = startPage; page <= endPage; page += 1) {
122
- (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(page);
123
- }
124
- }
125
- createLastNode(endPage) {
126
- var _a, _b;
127
- if (endPage < this.size - 1) {
128
- (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(0); // let's asssume 0 is for ellipsis template
129
- }
130
- if (endPage < this.size) {
131
- (_b = this.pages) === null || _b === void 0 ? void 0 : _b.push(this.size);
132
- }
133
- }
134
- get getEllipsisTemplate() {
135
- return html `<i class="ellipses">...</i>`;
136
- }
137
- emitPageClick() {
138
- this.dispatchEvent(new CustomEvent('pageNumberClicked', {
139
- detail: { page: this.currentPage },
140
- bubbles: true,
141
- composed: true,
142
- }));
143
- }
144
- onRewind() {
145
- this.currentPage -= 1;
146
- if (this.currentPage < 1) {
147
- this.currentPage = 1;
148
- }
149
- }
150
- onForward() {
151
- this.currentPage += 1;
152
- if (this.currentPage > this.size) {
153
- this.currentPage = this.size;
154
- }
155
- }
156
- onChange(page) {
157
- this.currentPage = page;
158
- }
159
- getPageTemplate(page) {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing, } from 'lit';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
+ import arrowLeftIcon from '../assets/img/icons/arrow-left';
5
+ import arrowRightIcon from '../assets/img/icons/arrow-right';
6
+ import { srOnlyStyle } from '../styles/sr-only';
7
+ let MoreFacetsPagination = class MoreFacetsPagination extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ /**
11
+ * Number of pages can be moved in back/forward
12
+ */
13
+ this.step = 2;
14
+ this.currentPage = 1;
15
+ this.pages = [];
16
+ }
17
+ firstUpdated() {
18
+ this.observePageCount();
19
+ }
20
+ updated(changed) {
21
+ if (changed.has('size')) {
22
+ this.observePageCount();
23
+ }
24
+ if (changed.has('currentPage')) {
25
+ this.observePageCount();
26
+ this.emitPageClick();
27
+ }
28
+ }
29
+ /** creates `this.pages` array that notes which pages to draw
30
+ * - `0` is elipses marker
31
+ * - rule: selected page is centered between -2/+2 pages
32
+ * - outlier: first page selected, show _1_ 2 3 ... N
33
+ * - outlier: second page selected, show 1 _2_ 3 4 ... N
34
+ * - outlier: last page selected, show 1 ... N-2 N-1 _N_
35
+ * - outlier: if page count = 7, & selected is either [2, 3, 4, 5, 6], show all pages
36
+ */
37
+ observePageCount() {
38
+ this.pages = []; /* `0` is elipses marker */
39
+ const paginatorMaxPagesToShow = 7;
40
+ const atMinThreshold = this.size <= paginatorMaxPagesToShow;
41
+ /** Display outliers */
42
+ if (this.size <= 5) {
43
+ // display all pages
44
+ this.pages = [...Array(this.size).keys()].map(i => i + 1);
45
+ return;
46
+ }
47
+ if (this.size === paginatorMaxPagesToShow) {
48
+ // edge: 7 pages
49
+ if (this.currentPage === 2) {
50
+ this.pages = [1, 2, 3, 4, 0, this.size];
51
+ return;
52
+ }
53
+ if (this.currentPage === this.size - 1) {
54
+ this.pages = [1, 0, 4, 5, this.size - 1, this.size];
55
+ return;
56
+ }
57
+ }
58
+ if (this.currentPage === 1) {
59
+ // first page
60
+ this.pages = [1, 2, 3, 0, this.size];
61
+ return;
62
+ }
63
+ if (this.currentPage === this.size) {
64
+ // last page
65
+ this.pages = [1, 0, this.size - 2, this.size - 1, this.size];
66
+ return;
67
+ }
68
+ if (this.currentPage === this.size - 1) {
69
+ // second last page
70
+ this.pages = [
71
+ 1,
72
+ 0,
73
+ this.size - 3,
74
+ this.size - 2,
75
+ this.size - 1,
76
+ this.size,
77
+ ];
78
+ return;
79
+ }
80
+ if (atMinThreshold &&
81
+ this.currentPage > 1 &&
82
+ this.currentPage < paginatorMaxPagesToShow) {
83
+ this.pages = [...Array(this.size).keys()].map(i => i + 1);
84
+ return;
85
+ }
86
+ /* The rest here calculates the range to display in "page window" */
87
+ let startPage = this.currentPage - this.step;
88
+ let endPage = this.currentPage + this.step;
89
+ if (startPage <= 0) {
90
+ endPage += -startPage + 1;
91
+ startPage = 1;
92
+ }
93
+ if (endPage >= this.size) {
94
+ startPage = Math.max(startPage - (endPage - this.size), 1);
95
+ endPage = this.size;
96
+ }
97
+ if (startPage === 2) {
98
+ endPage -= 1;
99
+ }
100
+ if (endPage === this.size - 1) {
101
+ startPage += 1;
102
+ }
103
+ // create first page node
104
+ this.createFirstNode(startPage);
105
+ // create middle pages node
106
+ this.createMiddelNode(startPage, endPage);
107
+ // create last page node
108
+ this.createLastNode(endPage);
109
+ }
110
+ createFirstNode(startPage) {
111
+ var _a, _b;
112
+ if (startPage > 1) {
113
+ (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(1);
114
+ }
115
+ if (startPage > 2) {
116
+ (_b = this.pages) === null || _b === void 0 ? void 0 : _b.push(0); // let's asssume 0 is for ellipsis template
117
+ }
118
+ }
119
+ createMiddelNode(startPage, endPage) {
120
+ var _a;
121
+ for (let page = startPage; page <= endPage; page += 1) {
122
+ (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(page);
123
+ }
124
+ }
125
+ createLastNode(endPage) {
126
+ var _a, _b;
127
+ if (endPage < this.size - 1) {
128
+ (_a = this.pages) === null || _a === void 0 ? void 0 : _a.push(0); // let's asssume 0 is for ellipsis template
129
+ }
130
+ if (endPage < this.size) {
131
+ (_b = this.pages) === null || _b === void 0 ? void 0 : _b.push(this.size);
132
+ }
133
+ }
134
+ get getEllipsisTemplate() {
135
+ return html `<i class="ellipses">...</i>`;
136
+ }
137
+ emitPageClick() {
138
+ this.dispatchEvent(new CustomEvent('pageNumberClicked', {
139
+ detail: { page: this.currentPage },
140
+ bubbles: true,
141
+ composed: true,
142
+ }));
143
+ }
144
+ onRewind() {
145
+ this.currentPage -= 1;
146
+ if (this.currentPage < 1) {
147
+ this.currentPage = 1;
148
+ }
149
+ }
150
+ onForward() {
151
+ this.currentPage += 1;
152
+ if (this.currentPage > this.size) {
153
+ this.currentPage = this.size;
154
+ }
155
+ }
156
+ onChange(page) {
157
+ this.currentPage = page;
158
+ }
159
+ getPageTemplate(page) {
160
160
  return html `
161
161
  <button
162
162
  @click=${() => this.onChange(page)}
@@ -165,20 +165,20 @@ let MoreFacetsPagination = class MoreFacetsPagination extends LitElement {
165
165
  >
166
166
  ${page}
167
167
  </button>
168
- `;
169
- }
170
- get getPagesTemplate() {
171
- var _a;
172
- if (!this.pages || !this.pages.length) {
173
- return nothing;
174
- }
168
+ `;
169
+ }
170
+ get getPagesTemplate() {
171
+ var _a;
172
+ if (!this.pages || !this.pages.length) {
173
+ return nothing;
174
+ }
175
175
  return html `
176
- ${(_a = this.pages) === null || _a === void 0 ? void 0 : _a.map(page => html `${page !== 0
177
- ? this.getPageTemplate(page)
176
+ ${(_a = this.pages) === null || _a === void 0 ? void 0 : _a.map(page => html `${page !== 0
177
+ ? this.getPageTemplate(page)
178
178
  : this.getEllipsisTemplate}`)}
179
- `;
180
- }
181
- render() {
179
+ `;
180
+ }
181
+ render() {
182
182
  return html `
183
183
  <div class="facets-pagination">
184
184
  <button class="arrow-icon rewind" @click=${this.onRewind}>
@@ -191,11 +191,11 @@ let MoreFacetsPagination = class MoreFacetsPagination extends LitElement {
191
191
  ${arrowRightIcon}
192
192
  </button>
193
193
  </div>
194
- `;
195
- }
196
- static get styles() {
197
- return [
198
- srOnlyStyle,
194
+ `;
195
+ }
196
+ static get styles() {
197
+ return [
198
+ srOnlyStyle,
199
199
  css `
200
200
  .facets-pagination {
201
201
  user-select: none;
@@ -240,24 +240,24 @@ let MoreFacetsPagination = class MoreFacetsPagination extends LitElement {
240
240
  .page-numbers {
241
241
  display: inline-block;
242
242
  }
243
- `,
244
- ];
245
- }
246
- };
247
- __decorate([
248
- property({ type: Number })
249
- ], MoreFacetsPagination.prototype, "size", void 0);
250
- __decorate([
251
- property({ type: Number })
252
- ], MoreFacetsPagination.prototype, "step", void 0);
253
- __decorate([
254
- property({ type: Number })
255
- ], MoreFacetsPagination.prototype, "currentPage", void 0);
256
- __decorate([
257
- state()
258
- ], MoreFacetsPagination.prototype, "pages", void 0);
259
- MoreFacetsPagination = __decorate([
260
- customElement('more-facets-pagination')
261
- ], MoreFacetsPagination);
262
- export { MoreFacetsPagination };
243
+ `,
244
+ ];
245
+ }
246
+ };
247
+ __decorate([
248
+ property({ type: Number })
249
+ ], MoreFacetsPagination.prototype, "size", void 0);
250
+ __decorate([
251
+ property({ type: Number })
252
+ ], MoreFacetsPagination.prototype, "step", void 0);
253
+ __decorate([
254
+ property({ type: Number })
255
+ ], MoreFacetsPagination.prototype, "currentPage", void 0);
256
+ __decorate([
257
+ state()
258
+ ], MoreFacetsPagination.prototype, "pages", void 0);
259
+ MoreFacetsPagination = __decorate([
260
+ customElement('more-facets-pagination')
261
+ ], MoreFacetsPagination);
262
+ export { MoreFacetsPagination };
263
263
  //# sourceMappingURL=more-facets-pagination.js.map
@@ -1,41 +1,41 @@
1
- import { LitElement, CSSResultGroup } from 'lit';
2
- export declare type Side = 'left' | 'right';
3
- export declare class ToggleSwitch extends LitElement {
4
- /**
5
- * The value this switch should have when toggled to the left.
6
- */
7
- leftValue: string;
8
- /**
9
- * The human-readable label to display on the left side of this switch.
10
- * If none is provided, `leftValue` is used.
11
- */
12
- leftLabel?: string;
13
- /**
14
- * The value this switch should have when toggled to the right.
15
- */
16
- rightValue: string;
17
- /**
18
- * The human-readable label to display on the right side of this switch.
19
- * If none is provided, `rightValue` is used.
20
- */
21
- rightLabel?: string;
22
- /**
23
- * Which side of the switch is selected (`'left'` or `'right'`).
24
- */
25
- side: Side;
26
- private leftRadio;
27
- render(): import("lit-html").TemplateResult<1>;
28
- /**
29
- * The currently selected value of this switch.
30
- */
31
- get value(): string;
32
- /**
33
- * The label for the currently selected value of this switch.
34
- * Falls back to the current value if its label is not defined.
35
- */
36
- get selectedLabel(): string;
37
- private handleClick;
38
- private handleRadioChange;
39
- private emitChangeEvent;
40
- static get styles(): CSSResultGroup;
41
- }
1
+ import { LitElement, CSSResultGroup } from 'lit';
2
+ export declare type Side = 'left' | 'right';
3
+ export declare class ToggleSwitch extends LitElement {
4
+ /**
5
+ * The value this switch should have when toggled to the left.
6
+ */
7
+ leftValue: string;
8
+ /**
9
+ * The human-readable label to display on the left side of this switch.
10
+ * If none is provided, `leftValue` is used.
11
+ */
12
+ leftLabel?: string;
13
+ /**
14
+ * The value this switch should have when toggled to the right.
15
+ */
16
+ rightValue: string;
17
+ /**
18
+ * The human-readable label to display on the right side of this switch.
19
+ * If none is provided, `rightValue` is used.
20
+ */
21
+ rightLabel?: string;
22
+ /**
23
+ * Which side of the switch is selected (`'left'` or `'right'`).
24
+ */
25
+ side: Side;
26
+ private leftRadio;
27
+ render(): import("lit-html").TemplateResult<1>;
28
+ /**
29
+ * The currently selected value of this switch.
30
+ */
31
+ get value(): string;
32
+ /**
33
+ * The label for the currently selected value of this switch.
34
+ * Falls back to the current value if its label is not defined.
35
+ */
36
+ get selectedLabel(): string;
37
+ private handleClick;
38
+ private handleRadioChange;
39
+ private emitChangeEvent;
40
+ static get styles(): CSSResultGroup;
41
+ }