@internetarchive/collection-browser 2.1.4-alpha2 → 2.1.4

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 (303) 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 -84
  8. package/dist/src/app-root.js +486 -454
  9. package/dist/src/app-root.js.map +1 -1
  10. package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
  11. package/dist/src/assets/img/icons/arrow-left.js +2 -2
  12. package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
  13. package/dist/src/assets/img/icons/arrow-right.js +2 -2
  14. package/dist/src/assets/img/icons/chevron.d.ts +2 -2
  15. package/dist/src/assets/img/icons/chevron.js +2 -2
  16. package/dist/src/assets/img/icons/contract.d.ts +2 -2
  17. package/dist/src/assets/img/icons/contract.js +2 -2
  18. package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
  19. package/dist/src/assets/img/icons/empty-query.js +2 -2
  20. package/dist/src/assets/img/icons/expand.d.ts +2 -2
  21. package/dist/src/assets/img/icons/expand.js +2 -2
  22. package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
  23. package/dist/src/assets/img/icons/eye-closed.js +2 -2
  24. package/dist/src/assets/img/icons/eye.d.ts +2 -2
  25. package/dist/src/assets/img/icons/eye.js +2 -2
  26. package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
  27. package/dist/src/assets/img/icons/favorite-filled.js +2 -2
  28. package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
  29. package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
  30. package/dist/src/assets/img/icons/login-required.d.ts +1 -1
  31. package/dist/src/assets/img/icons/login-required.js +2 -2
  32. package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
  33. package/dist/src/assets/img/icons/mediatype/account.js +2 -2
  34. package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
  35. package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
  36. package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
  37. package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
  38. package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
  39. package/dist/src/assets/img/icons/mediatype/data.js +2 -2
  40. package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
  41. package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
  42. package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
  43. package/dist/src/assets/img/icons/mediatype/film.js +2 -2
  44. package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
  45. package/dist/src/assets/img/icons/mediatype/images.js +2 -2
  46. package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
  47. package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
  48. package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
  49. package/dist/src/assets/img/icons/mediatype/search.js +2 -2
  50. package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
  51. package/dist/src/assets/img/icons/mediatype/software.js +2 -2
  52. package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
  53. package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
  54. package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
  55. package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
  56. package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
  57. package/dist/src/assets/img/icons/mediatype/video.js +2 -2
  58. package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
  59. package/dist/src/assets/img/icons/mediatype/web.js +2 -2
  60. package/dist/src/assets/img/icons/null-result.d.ts +2 -2
  61. package/dist/src/assets/img/icons/null-result.js +2 -2
  62. package/dist/src/assets/img/icons/restricted.d.ts +1 -1
  63. package/dist/src/assets/img/icons/restricted.js +2 -2
  64. package/dist/src/assets/img/icons/reviews.d.ts +1 -1
  65. package/dist/src/assets/img/icons/reviews.js +2 -2
  66. package/dist/src/assets/img/icons/upload.d.ts +1 -1
  67. package/dist/src/assets/img/icons/upload.js +2 -2
  68. package/dist/src/assets/img/icons/views.d.ts +1 -1
  69. package/dist/src/assets/img/icons/views.js +2 -2
  70. package/dist/src/circular-activity-indicator.d.ts +5 -5
  71. package/dist/src/circular-activity-indicator.js +17 -17
  72. package/dist/src/collection-browser.d.ts +446 -395
  73. package/dist/src/collection-browser.js +1407 -1362
  74. package/dist/src/collection-browser.js.map +1 -1
  75. package/dist/src/collection-facets/facet-row.d.ts +30 -30
  76. package/dist/src/collection-facets/facet-row.js +114 -114
  77. package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
  78. package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
  79. package/dist/src/collection-facets/facets-template.d.ts +17 -17
  80. package/dist/src/collection-facets/facets-template.js +114 -114
  81. package/dist/src/collection-facets/more-facets-content.d.ts +70 -70
  82. package/dist/src/collection-facets/more-facets-content.js +354 -354
  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 +509 -509
  89. package/dist/src/data-source/collection-browser-data-source-interface.d.ts +232 -232
  90. package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
  91. package/dist/src/data-source/collection-browser-data-source.d.ts +360 -360
  92. package/dist/src/data-source/collection-browser-data-source.js +930 -930
  93. package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
  94. package/dist/src/data-source/collection-browser-query-state.js +1 -1
  95. package/dist/src/data-source/models.d.ts +28 -28
  96. package/dist/src/data-source/models.js +8 -8
  97. package/dist/src/empty-placeholder.d.ts +23 -23
  98. package/dist/src/empty-placeholder.js +74 -74
  99. package/dist/src/expanded-date-picker.d.ts +43 -43
  100. package/dist/src/expanded-date-picker.js +109 -109
  101. package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
  102. package/dist/src/language-code-handler/language-code-handler.js +26 -26
  103. package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
  104. package/dist/src/language-code-handler/language-code-mapping.js +562 -562
  105. package/dist/src/manage/manage-bar.d.ts +30 -30
  106. package/dist/src/manage/manage-bar.js +62 -62
  107. package/dist/src/manage/manage-bar.js.map +1 -1
  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 -219
  133. package/dist/src/sort-filter-bar/sort-filter-bar.js +695 -685
  134. package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
  135. package/dist/src/styles/ia-button.d.ts +2 -2
  136. package/dist/src/styles/ia-button.js +16 -16
  137. package/dist/src/styles/item-image-styles.d.ts +8 -8
  138. package/dist/src/styles/item-image-styles.js +9 -9
  139. package/dist/src/styles/sr-only.d.ts +1 -1
  140. package/dist/src/styles/sr-only.js +2 -2
  141. package/dist/src/tiles/base-tile-component.d.ts +19 -19
  142. package/dist/src/tiles/base-tile-component.js +63 -63
  143. package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
  144. package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
  145. package/dist/src/tiles/grid/account-tile.d.ts +18 -18
  146. package/dist/src/tiles/grid/account-tile.js +72 -72
  147. package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
  148. package/dist/src/tiles/grid/collection-tile.js +80 -80
  149. package/dist/src/tiles/grid/item-tile.d.ts +30 -30
  150. package/dist/src/tiles/grid/item-tile.js +149 -149
  151. package/dist/src/tiles/grid/search-tile.d.ts +10 -10
  152. package/dist/src/tiles/grid/search-tile.js +51 -51
  153. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
  154. package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
  155. package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
  156. package/dist/src/tiles/grid/tile-stats.js +53 -53
  157. package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
  158. package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
  159. package/dist/src/tiles/hover/tile-hover-pane.d.ts +15 -15
  160. package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
  161. package/dist/src/tiles/image-block.d.ts +17 -17
  162. package/dist/src/tiles/image-block.js +73 -73
  163. package/dist/src/tiles/item-image.d.ts +39 -39
  164. package/dist/src/tiles/item-image.js +154 -154
  165. package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
  166. package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
  167. package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
  168. package/dist/src/tiles/list/tile-list-compact.js +114 -114
  169. package/dist/src/tiles/list/tile-list.d.ts +50 -50
  170. package/dist/src/tiles/list/tile-list.js +315 -315
  171. package/dist/src/tiles/mediatype-icon.d.ts +9 -9
  172. package/dist/src/tiles/mediatype-icon.js +47 -47
  173. package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
  174. package/dist/src/tiles/overlay/icon-overlay.js +40 -40
  175. package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
  176. package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
  177. package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
  178. package/dist/src/tiles/overlay/text-overlay.js +42 -42
  179. package/dist/src/tiles/review-block.d.ts +12 -12
  180. package/dist/src/tiles/review-block.js +56 -56
  181. package/dist/src/tiles/text-snippet-block.d.ts +27 -27
  182. package/dist/src/tiles/text-snippet-block.js +73 -73
  183. package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
  184. package/dist/src/tiles/tile-dispatcher.js +229 -229
  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 +25 -25
  188. package/dist/src/utils/analytics-events.js +27 -27
  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 +1242 -1242
  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 -77
  235. package/dist/test/manage/manage-bar.test.js.map +1 -1
  236. package/dist/test/mediatype-config.test.d.ts +1 -1
  237. package/dist/test/mediatype-config.test.js +16 -16
  238. package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
  239. package/dist/test/mocks/mock-analytics-handler.js +15 -15
  240. package/dist/test/mocks/mock-search-responses.d.ts +24 -24
  241. package/dist/test/mocks/mock-search-responses.js +840 -840
  242. package/dist/test/mocks/mock-search-service.d.ts +15 -15
  243. package/dist/test/mocks/mock-search-service.js +53 -53
  244. package/dist/test/restoration-state-handler.test.d.ts +1 -1
  245. package/dist/test/restoration-state-handler.test.js +270 -270
  246. package/dist/test/review-block.test.d.ts +1 -1
  247. package/dist/test/review-block.test.js +44 -44
  248. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
  249. package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
  250. package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
  251. package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
  252. package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
  253. package/dist/test/sort-filter-bar/sort-filter-bar.test.js +428 -420
  254. package/dist/test/sort-filter-bar/sort-filter-bar.test.js.map +1 -1
  255. package/dist/test/text-overlay.test.d.ts +1 -1
  256. package/dist/test/text-overlay.test.js +48 -48
  257. package/dist/test/text-snippet-block.test.d.ts +1 -1
  258. package/dist/test/text-snippet-block.test.js +57 -57
  259. package/dist/test/tile-stats.test.d.ts +1 -1
  260. package/dist/test/tile-stats.test.js +81 -81
  261. package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
  262. package/dist/test/tiles/grid/account-tile.test.js +76 -76
  263. package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
  264. package/dist/test/tiles/grid/collection-tile.test.js +73 -73
  265. package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
  266. package/dist/test/tiles/grid/item-tile.test.js +312 -312
  267. package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
  268. package/dist/test/tiles/grid/search-tile.test.js +51 -51
  269. package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
  270. package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
  271. package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
  272. package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
  273. package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
  274. package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
  275. package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
  276. package/dist/test/tiles/list/tile-list.test.js +297 -297
  277. package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
  278. package/dist/test/tiles/tile-dispatcher.test.js +100 -100
  279. package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
  280. package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
  281. package/dist/test/utils/array-equals.test.d.ts +1 -1
  282. package/dist/test/utils/array-equals.test.js +26 -26
  283. package/dist/test/utils/format-count.test.d.ts +1 -1
  284. package/dist/test/utils/format-count.test.js +23 -23
  285. package/dist/test/utils/format-date.test.d.ts +1 -1
  286. package/dist/test/utils/format-date.test.js +17 -17
  287. package/dist/test/utils/format-unit-size.test.d.ts +1 -1
  288. package/dist/test/utils/format-unit-size.test.js +17 -17
  289. package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
  290. package/dist/test/utils/local-date-from-utc.test.js +26 -26
  291. package/local.archive.org.cert +86 -86
  292. package/local.archive.org.key +27 -27
  293. package/package.json +1 -1
  294. package/renovate.json +6 -6
  295. package/src/app-root.ts +56 -23
  296. package/src/collection-browser.ts +60 -2
  297. package/src/manage/manage-bar.ts +2 -2
  298. package/src/sort-filter-bar/sort-filter-bar.ts +10 -1
  299. package/test/manage/manage-bar.test.ts +14 -7
  300. package/test/sort-filter-bar/sort-filter-bar.test.ts +11 -0
  301. package/tsconfig.json +21 -21
  302. package/web-dev-server.config.mjs +30 -30
  303. 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
+ }