@ethlete/cdk 2.10.0 → 2.11.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 2.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`089543e`](https://github.com/ethlete-io/ethdk/commit/089543e046c486ef62e22c51a0e0498d7a348723) Thanks [@TomTomB](https://github.com/TomTomB)! - Allow for setting the first page inside pagination util
8
+
3
9
  ## 2.10.0
4
10
 
5
11
  ### Minor Changes
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3R5cGVzL3BhZ2luYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVPcHRpb25zIHtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlQ291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIG9taXRGaXJzdExhc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgb21pdFByZXZpb3VzTmV4dD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHBhZ2VzQmVmb3JlQWZ0ZXI/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkl0ZW0ge1xuICBjdXJyZW50OiBib29sZWFuO1xuICBwYWdlOiBudW1iZXI7XG4gIGFyaWFMYWJlbDogc3RyaW5nO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgdHlwZTogJ3BhZ2UnIHwgJ2hvdExpbmsnO1xuICBleHBsaWNpdFR5cGU6ICdmaXJzdCcgfCAnbGFzdCcgfCAncHJldmlvdXMnIHwgJ25leHQnIHwgJ2N1cnJlbnQnIHwgJ3BhZ2UtbnVtYmVyLWNsb3NlJyB8ICdwYWdlLW51bWJlci1mYXInO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uSGVhZFNlcnZpY2VDb25maWcge1xuICBmaXJzdFBhZ2VUaXRsZTogc3RyaW5nIHwgbnVsbDtcbiAgdGl0bGVUZW1wbGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgYWRkQ2Fub25pY2FsVGFnOiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3R5cGVzL3BhZ2luYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVPcHRpb25zIHtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlQ291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIG9taXRGaXJzdExhc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgb21pdFByZXZpb3VzTmV4dD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHBhZ2VzQmVmb3JlQWZ0ZXI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGZpcnN0UGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uSXRlbSB7XG4gIGN1cnJlbnQ6IGJvb2xlYW47XG4gIHBhZ2U6IG51bWJlcjtcbiAgYXJpYUxhYmVsOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0eXBlOiAncGFnZScgfCAnaG90TGluayc7XG4gIGV4cGxpY2l0VHlwZTogJ2ZpcnN0JyB8ICdsYXN0JyB8ICdwcmV2aW91cycgfCAnbmV4dCcgfCAnY3VycmVudCcgfCAncGFnZS1udW1iZXItY2xvc2UnIHwgJ3BhZ2UtbnVtYmVyLWZhcic7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25IZWFkU2VydmljZUNvbmZpZyB7XG4gIGZpcnN0UGFnZVRpdGxlOiBzdHJpbmcgfCBudWxsO1xuICB0aXRsZVRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xuICBhZGRDYW5vbmljYWxUYWc6IGJvb2xlYW47XG59XG4iXX0=
@@ -3,9 +3,9 @@ export const paginate = (value) => {
3
3
  if (!value) {
4
4
  return null;
5
5
  }
6
- const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2 } = value;
6
+ const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2, firstPage = 1 } = value;
7
7
  const pages = [];
8
- const activePage = clamp(value.currentPage, 1, value.totalPageCount);
8
+ const activePage = clamp(value.currentPage, firstPage, value.totalPageCount);
9
9
  if (value.totalPageCount === 0) {
10
10
  return null;
11
11
  }
@@ -22,13 +22,13 @@ export const paginate = (value) => {
22
22
  };
23
23
  if (!omitFirstLast) {
24
24
  pages.push({
25
- page: 1,
25
+ page: firstPage,
26
26
  current: false,
27
27
  ariaLabel: 'First page',
28
- disabled: activePage === 1,
28
+ disabled: activePage === firstPage,
29
29
  type: 'hotLink',
30
30
  explicitType: 'first',
31
- url: createUrl(1),
31
+ url: createUrl(firstPage),
32
32
  });
33
33
  }
34
34
  if (!omitPreviousNext) {
@@ -42,9 +42,19 @@ export const paginate = (value) => {
42
42
  url: createUrl(activePage - 1),
43
43
  });
44
44
  }
45
+ let pagesBefore = activePage - pagesBeforeAfter;
46
+ let pagesAfter = activePage + pagesBeforeAfter;
47
+ if (pagesBefore < firstPage) {
48
+ pagesAfter += firstPage - pagesBefore;
49
+ pagesBefore = firstPage;
50
+ }
51
+ if (pagesAfter > value.totalPageCount) {
52
+ pagesBefore -= pagesAfter - value.totalPageCount;
53
+ pagesAfter = value.totalPageCount;
54
+ }
45
55
  // add N pages before and after active page
46
- for (let i = activePage - pagesBeforeAfter; i <= activePage + pagesBeforeAfter; i++) {
47
- if (i > 0 && i <= value.totalPageCount) {
56
+ for (let i = pagesBefore; i <= pagesAfter; i++) {
57
+ if (i > firstPage - 1 && i <= value.totalPageCount) {
48
58
  const explicitType = i === activePage
49
59
  ? 'current'
50
60
  : i === activePage - 1 || i === activePage + 1
@@ -85,4 +95,4 @@ export const paginate = (value) => {
85
95
  }
86
96
  return pages;
87
97
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vdXRpbHMvcGFnaW5hdGlvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxFQUFFLGFBQWEsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixHQUFHLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV4RixNQUFNLEtBQUssR0FBcUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckUsSUFBSSxLQUFLLENBQUMsY0FBYyxLQUFLLENBQUMsRUFBRTtRQUM5QixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDZCxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENB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J0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGVPcHRpb25zLCBQYWdpbmF0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHBhZ2luYXRlID0gKHZhbHVlPzogUGFnaW5hdGVPcHRpb25zIHwgbnVsbCkgPT4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IG9taXRGaXJzdExhc3QgPSBmYWxzZSwgb21pdFByZXZpb3VzTmV4dCA9IGZhbHNlLCBwYWdlc0JlZm9yZUFmdGVyID0gMiB9ID0gdmFsdWU7XG5cbiAgY29uc3QgcGFnZXM6IFBhZ2luYXRpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgYWN0aXZlUGFnZSA9IGNsYW1wKHZhbHVlLmN1cnJlbnRQYWdlLCAxLCB2YWx1ZS50b3RhbFBhZ2VDb3VudCk7XG5cbiAgaWYgKHZhbHVlLnRvdGFsUGFnZUNvdW50ID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgY29uc3QgY3JlYXRlVXJsID0gKHBhZ2U6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoY3VycmVudFVybC5ocmVmKTtcblxuICAgIGlmIChwYWdlID09PSAxKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSgncGFnZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9O1xuXG4gIGlmICghb21pdEZpcnN0TGFzdCkge1xuICAgIHBhZ2VzLnB1c2goe1xuICAgICAgcGFnZTogMSxcbiAgICAgIGN1cnJlbnQ6IGZhbHNlLFxuICAgICAgYXJpYUxhYmVsOiAnRmlyc3QgcGFnZScsXG4gICAgICBkaXNhYmxlZDogYWN0aXZlUGFnZSA9PT0gMSxcbiAgICAgIHR5cGU6ICdob3RMaW5rJyxcbiAgICAgIGV4cGxpY2l0VHlwZTogJ2ZpcnN0JyxcbiAgICAgIHVybDogY3JlYXRlVXJsKDEpLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKCFvbWl0UHJldmlvdXNOZXh0KSB7XG4gICAgcGFnZXMucHVzaCh7XG4gICAgICBwYWdlOiBhY3RpdmVQYWdlIC0gMSxcbiAgICAgIGN1cnJlbnQ6IGZhbHNlLFxuICAgICAgYXJpYUxhYmVsOiBgUHJldmlvdXMgcGFnZWAsXG4gICAgICBkaXNhYmxlZDogYWN0aXZlUGFnZSA9PT0gMSxcbiAgICAgIHR5cGU6ICdob3RMaW5rJyxcbiAgICAgIGV4cGxpY2l0VHlwZTogJ3ByZXZpb3VzJyxcbiAgICAgIHVybDogY3JlYXRlVXJsKGFjdGl2ZVBhZ2UgLSAxKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGFkZCBOIHBhZ2VzIGJlZm9yZSBhbmQgYWZ0ZXIgYWN0aXZlIHBhZ2VcbiAgZm9yIChsZXQgaSA9IGFjdGl2ZVBhZ2UgLSBwYWdlc0JlZm9yZUFmdGVyOyBpIDw9IGFjdGl2ZVBhZ2UgKyBwYWdlc0JlZm9yZUFmdGVyOyBpKyspIHtcbiAgICBpZiAoaSA+IDAgJiYgaSA8PSB2YWx1ZS50b3RhbFBhZ2VDb3VudCkge1xuICAgICAgY29uc3QgZXhwbGljaXRUeXBlID1cbiAgICAgICAgaSA9PT0gYWN0aXZlUGFnZVxuICAgICAgICAgID8gJ2N1cnJlbnQnXG4gICAgICAgICAgOiBpID09PSBhY3RpdmVQYWdlIC0gMSB8fCBpID09PSBhY3RpdmVQYWdlICsgMVxuICAgICAgICAgID8gJ3BhZ2UtbnVtYmVyLWNsb3NlJ1xuICAgICAgICAgIDogJ3BhZ2UtbnVtYmVyLWZhcic7XG5cbiAgICAgIHBhZ2VzLnB1c2goe1xuICAgICAgICBwYWdlOiBpLFxuICAgICAgICBjdXJyZW50OiBpID09PSBhY3RpdmVQYWdlLFxuICAgICAgICBhcmlhTGFiZWw6IGBQYWdlICR7aX1gLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIHR5cGU6ICdwYWdlJyxcbiAgICAgICAgZXhwbGljaXRUeXBlLFxuICAgICAgICB1cmw6IGNyZWF0ZVVybChpKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmICghb21pdFByZXZpb3VzTmV4dCkge1xuICAgIHBhZ2VzLnB1c2goe1xuICAgICAgcGFnZTogYWN0aXZlUGFnZSArIDEsXG4gICAgICBjdXJyZW50OiBmYWxzZSxcbiAgICAgIGFyaWFMYWJlbDogYE5leHQgcGFnZWAsXG4gICAgICBkaXNhYmxlZDogYWN0aXZlUGFnZSA9PT0gdmFsdWUudG90YWxQYWdlQ291bnQsXG4gICAgICB0eXBlOiAnaG90TGluaycsXG4gICAgICBleHBsaWNpdFR5cGU6ICduZXh0JyxcbiAgICAgIHVybDogY3JlYXRlVXJsKGFjdGl2ZVBhZ2UgKyAxKSxcbiAgICB9KTtcbiAgfVxuXG4gIGlmICghb21pdEZpcnN0TGFzdCkge1xuICAgIHBhZ2VzLnB1c2goe1xuICAgICAgcGFnZTogdmFsdWUudG90YWxQYWdlQ291bnQsXG4gICAgICBjdXJyZW50OiBmYWxzZSxcbiAgICAgIGFyaWFMYWJlbDogYExhc3QgcGFnZWAsXG4gICAgICBkaXNhYmxlZDogYWN0aXZlUGFnZSA9PT0gdmFsdWUudG90YWxQYWdlQ291bnQsXG4gICAgICB0eXBlOiAnaG90TGluaycsXG4gICAgICBleHBsaWNpdFR5cGU6ICdsYXN0JyxcbiAgICAgIHVybDogY3JlYXRlVXJsKHZhbHVlLnRvdGFsUGFnZUNvdW50KSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBwYWdlcztcbn07XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vdXRpbHMvcGFnaW5hdGlvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxFQUFFLGFBQWEsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZHLE1BQU0sS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDbkMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RSxJQUFJLEtBQUssQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUFFO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNkLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxHQUFHLENB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LEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDVCxJQUFJLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDMUIsT0FBTyxFQUFFLEtBQUs7WUFDZCxTQUFTLEVBQUUsV0FBVztZQUN0QixRQUFRLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxjQUFjO1lBQzdDLElBQUksRUFBRSxTQUFTO1lBQ2YsWUFBWSxFQUFFLE1BQU07WUFDcEIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1NBQ3JDLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbGFtcCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGVPcHRpb25zLCBQYWdpbmF0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IHBhZ2luYXRlID0gKHZhbHVlPzogUGFnaW5hdGVPcHRpb25zIHwgbnVsbCkgPT4ge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IG9taXRGaXJzdExhc3QgPSBmYWxzZSwgb21pdFByZXZpb3VzTmV4dCA9IGZhbHNlLCBwYWdlc0JlZm9yZUFmdGVyID0gMiwgZmlyc3RQYWdlID0gMSB9ID0gdmFsdWU7XG5cbiAgY29uc3QgcGFnZXM6IFBhZ2luYXRpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgYWN0aXZlUGFnZSA9IGNsYW1wKHZhbHVlLmN1cnJlbnRQYWdlLCBmaXJzdFBhZ2UsIHZhbHVlLnRvdGFsUGFnZUNvdW50KTtcblxuICBpZiAodmFsdWUudG90YWxQYWdlQ291bnQgPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRVcmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcblxuICBjb25zdCBjcmVhdGVVcmwgPSAocGFnZTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChjdXJyZW50VXJsLmhyZWYpO1xuXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKCdwYWdlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG4gIH07XG5cbiAgaWYgKCFvbWl0Rmlyc3RMYXN0KSB7XG4gICAgcGFnZXMucHVzaCh7XG4gICAgICBwYWdlOiBmaXJzdFBhZ2UsXG4gICAgICBjdXJyZW50OiBmYWxzZSxcbiAgICAgIGFyaWFMYWJlbDogJ0ZpcnN0IHBhZ2UnLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IGZpcnN0UGFnZSxcbiAgICAgIHR5cGU6ICdob3RMaW5rJyxcbiAgICAgIGV4cGxpY2l0VHlwZTogJ2ZpcnN0JyxcbiAgICAgIHVybDogY3JlYXRlVXJsKGZpcnN0UGFnZSksXG4gICAgfSk7XG4gIH1cblxuICBpZiAoIW9taXRQcmV2aW91c05leHQpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IGFjdGl2ZVBhZ2UgLSAxLFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBQcmV2aW91cyBwYWdlYCxcbiAgICAgIGRpc2FibGVkOiBhY3RpdmVQYWdlID09PSAxLFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAncHJldmlvdXMnLFxuICAgICAgdXJsOiBjcmVhdGVVcmwoYWN0aXZlUGFnZSAtIDEpLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IHBhZ2VzQmVmb3JlID0gYWN0aXZlUGFnZSAtIHBhZ2VzQmVmb3JlQWZ0ZXI7XG4gIGxldCBwYWdlc0FmdGVyID0gYWN0aXZlUGFnZSArIHBhZ2VzQmVmb3JlQWZ0ZXI7XG5cbiAgaWYgKHBhZ2VzQmVmb3JlIDwgZmlyc3RQYWdlKSB7XG4gICAgcGFnZXNBZnRlciArPSBmaXJzdFBhZ2UgLSBwYWdlc0JlZm9yZTtcbiAgICBwYWdlc0JlZm9yZSA9IGZpcnN0UGFnZTtcbiAgfVxuXG4gIGlmIChwYWdlc0FmdGVyID4gdmFsdWUudG90YWxQYWdlQ291bnQpIHtcbiAgICBwYWdlc0JlZm9yZSAtPSBwYWdlc0FmdGVyIC0gdmFsdWUudG90YWxQYWdlQ291bnQ7XG4gICAgcGFnZXNBZnRlciA9IHZhbHVlLnRvdGFsUGFnZUNvdW50O1xuICB9XG5cbiAgLy8gYWRkIE4gcGFnZXMgYmVmb3JlIGFuZCBhZnRlciBhY3RpdmUgcGFnZVxuICBmb3IgKGxldCBpID0gcGFnZXNCZWZvcmU7IGkgPD0gcGFnZXNBZnRlcjsgaSsrKSB7XG4gICAgaWYgKGkgPiBmaXJzdFBhZ2UgLSAxICYmIGkgPD0gdmFsdWUudG90YWxQYWdlQ291bnQpIHtcbiAgICAgIGNvbnN0IGV4cGxpY2l0VHlwZSA9XG4gICAgICAgIGkgPT09IGFjdGl2ZVBhZ2VcbiAgICAgICAgICA/ICdjdXJyZW50J1xuICAgICAgICAgIDogaSA9PT0gYWN0aXZlUGFnZSAtIDEgfHwgaSA9PT0gYWN0aXZlUGFnZSArIDFcbiAgICAgICAgICA/ICdwYWdlLW51bWJlci1jbG9zZSdcbiAgICAgICAgICA6ICdwYWdlLW51bWJlci1mYXInO1xuXG4gICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgcGFnZTogaSxcbiAgICAgICAgY3VycmVudDogaSA9PT0gYWN0aXZlUGFnZSxcbiAgICAgICAgYXJpYUxhYmVsOiBgUGFnZSAke2l9YCxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICB0eXBlOiAncGFnZScsXG4gICAgICAgIGV4cGxpY2l0VHlwZSxcbiAgICAgICAgdXJsOiBjcmVhdGVVcmwoaSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW9taXRQcmV2aW91c05leHQpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IGFjdGl2ZVBhZ2UgKyAxLFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBOZXh0IHBhZ2VgLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAnbmV4dCcsXG4gICAgICB1cmw6IGNyZWF0ZVVybChhY3RpdmVQYWdlICsgMSksXG4gICAgfSk7XG4gIH1cblxuICBpZiAoIW9taXRGaXJzdExhc3QpIHtcbiAgICBwYWdlcy5wdXNoKHtcbiAgICAgIHBhZ2U6IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgY3VycmVudDogZmFsc2UsXG4gICAgICBhcmlhTGFiZWw6IGBMYXN0IHBhZ2VgLFxuICAgICAgZGlzYWJsZWQ6IGFjdGl2ZVBhZ2UgPT09IHZhbHVlLnRvdGFsUGFnZUNvdW50LFxuICAgICAgdHlwZTogJ2hvdExpbmsnLFxuICAgICAgZXhwbGljaXRUeXBlOiAnbGFzdCcsXG4gICAgICB1cmw6IGNyZWF0ZVVybCh2YWx1ZS50b3RhbFBhZ2VDb3VudCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcGFnZXM7XG59O1xuIl19
@@ -8658,9 +8658,9 @@ const paginate = (value) => {
8658
8658
  if (!value) {
8659
8659
  return null;
8660
8660
  }
8661
- const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2 } = value;
8661
+ const { omitFirstLast = false, omitPreviousNext = false, pagesBeforeAfter = 2, firstPage = 1 } = value;
8662
8662
  const pages = [];
8663
- const activePage = clamp(value.currentPage, 1, value.totalPageCount);
8663
+ const activePage = clamp(value.currentPage, firstPage, value.totalPageCount);
8664
8664
  if (value.totalPageCount === 0) {
8665
8665
  return null;
8666
8666
  }
@@ -8677,13 +8677,13 @@ const paginate = (value) => {
8677
8677
  };
8678
8678
  if (!omitFirstLast) {
8679
8679
  pages.push({
8680
- page: 1,
8680
+ page: firstPage,
8681
8681
  current: false,
8682
8682
  ariaLabel: 'First page',
8683
- disabled: activePage === 1,
8683
+ disabled: activePage === firstPage,
8684
8684
  type: 'hotLink',
8685
8685
  explicitType: 'first',
8686
- url: createUrl(1),
8686
+ url: createUrl(firstPage),
8687
8687
  });
8688
8688
  }
8689
8689
  if (!omitPreviousNext) {
@@ -8697,9 +8697,19 @@ const paginate = (value) => {
8697
8697
  url: createUrl(activePage - 1),
8698
8698
  });
8699
8699
  }
8700
+ let pagesBefore = activePage - pagesBeforeAfter;
8701
+ let pagesAfter = activePage + pagesBeforeAfter;
8702
+ if (pagesBefore < firstPage) {
8703
+ pagesAfter += firstPage - pagesBefore;
8704
+ pagesBefore = firstPage;
8705
+ }
8706
+ if (pagesAfter > value.totalPageCount) {
8707
+ pagesBefore -= pagesAfter - value.totalPageCount;
8708
+ pagesAfter = value.totalPageCount;
8709
+ }
8700
8710
  // add N pages before and after active page
8701
- for (let i = activePage - pagesBeforeAfter; i <= activePage + pagesBeforeAfter; i++) {
8702
- if (i > 0 && i <= value.totalPageCount) {
8711
+ for (let i = pagesBefore; i <= pagesAfter; i++) {
8712
+ if (i > firstPage - 1 && i <= value.totalPageCount) {
8703
8713
  const explicitType = i === activePage
8704
8714
  ? 'current'
8705
8715
  : i === activePage - 1 || i === activePage + 1