@auspices/eos 4.2.2 → 5.0.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.
@@ -1,17 +1,7 @@
1
- import React from "react";
1
+ import { ElementType, FC, ReactNode } from "react";
2
2
  import { ButtonProps } from "../Button";
3
- export type PageOnClick = {
4
- event: React.MouseEvent<HTMLAnchorElement>;
5
- pageNumber: number;
3
+ export type PageProps = ButtonProps & {
4
+ as?: ElementType | keyof JSX.IntrinsicElements;
5
+ children: ReactNode;
6
6
  };
7
- export type PageProps = Omit<ButtonProps, "onClick"> & {
8
- as?: "a" | React.ElementType;
9
- children: JSX.Element | string | number;
10
- currentPage: number;
11
- href: string;
12
- onClick?: ({ event, pageNumber }: PageOnClick) => void;
13
- pageNumber: number;
14
- per: number;
15
- rel?: string;
16
- };
17
- export declare const Page: React.FC<PageProps>;
7
+ export declare const Page: FC<PageProps>;
@@ -29,20 +29,8 @@ exports.Page = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
30
  var Button_1 = require("../Button");
31
31
  var Page = function (_a) {
32
- var _b = _a.as, as = _b === void 0 ? "a" : _b, children = _a.children, currentPage = _a.currentPage, href = _a.href, onClick = _a.onClick, pageNumber = _a.pageNumber, per = _a.per, rest = __rest(_a, ["as", "children", "currentPage", "href", "onClick", "pageNumber", "per"]);
33
- var handleClick = function (event) {
34
- if (!onClick)
35
- return;
36
- onClick({ event: event, pageNumber: pageNumber });
37
- };
38
- return (react_1.default.createElement(Button_1.Button, __assign({ flex: "1", textAlign: "center", as: as, disabled: pageNumber === currentPage, tabIndex: pageNumber === currentPage && -1, onClick: handleClick }, (as === "a"
39
- ? { href: "".concat(href, "?page=").concat(pageNumber, "&per=").concat(per) }
40
- : {
41
- to: {
42
- pathname: href,
43
- search: "?page=".concat(pageNumber, "&per=").concat(per),
44
- },
45
- }), rest), children));
32
+ var children = _a.children, rest = __rest(_a, ["children"]);
33
+ return (react_1.default.createElement(Button_1.Button, __assign({ flex: "1", textAlign: "center" }, rest), children));
46
34
  };
47
35
  exports.Page = Page;
48
36
  exports.Page.displayName = "Page";
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/Pagination/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,oCAAgD;AAkBzC,IAAM,IAAI,GAAwB,UAAC,EASzC;IARC,IAAA,UAAQ,EAAR,EAAE,mBAAG,GAAG,KAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,GAAG,SAAA,EACA,IAAI,cARiC,yEASzC,CADQ;IAEP,IAAM,WAAW,GAAG,UAAC,KAA0C;QAC7D,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,EAAE,KAAK,OAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,eAAM,aACL,IAAI,EAAC,GAAG,EACR,SAAS,EAAC,QAAQ,EAClB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,UAAU,KAAK,WAAW,EACpC,QAAQ,EAAE,UAAU,KAAK,WAAW,IAAI,CAAC,CAAC,EAC1C,OAAO,EAAE,WAAW,IAChB,CAAC,EAAE,KAAK,GAAG;QACb,CAAC,CAAC,EAAE,IAAI,EAAE,UAAG,IAAI,mBAAS,UAAU,kBAAQ,GAAG,CAAE,EAAE;QACnD,CAAC,CAAC;YACE,EAAE,EAAE;gBACF,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,gBAAS,UAAU,kBAAQ,GAAG,CAAE;aACzC;SACF,CAAC,EACF,IAAI,GAEP,QAAQ,CACF,CACV,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,IAAI,QAoCf;AAEF,YAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/Pagination/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0D;AAC1D,oCAAgD;AAOzC,IAAM,IAAI,GAAkB,UAAC,EAAqB;IAAnB,IAAA,QAAQ,cAAA,EAAK,IAAI,cAAnB,YAAqB,CAAF;IACrD,OAAO,CACL,8BAAC,eAAM,aAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,QAAQ,IAAK,IAAI,GACzC,QAAQ,CACF,CACV,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,IAAI,QAMf;AAEF,YAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
@@ -1,27 +1,12 @@
1
1
  import React from "react";
2
2
  import { CellVariant } from "../Cell";
3
3
  import { StackProps } from "../Stack";
4
- import { PageProps } from "./Page";
5
4
  export type PaginationProps = StackProps & {
6
- href: string;
7
5
  interval?: number;
8
6
  onChange?: (page: number) => void;
9
7
  page?: number;
10
- Page?: React.FC<PageProps>;
11
8
  per?: number;
12
9
  total: number;
13
10
  variant?: CellVariant;
14
11
  };
15
- export declare const PAGINATION_DEFAULT_PAGE = 1;
16
- export declare const PAGINATION_DEFAULT_PER = 24;
17
- export declare const PAGINATION_DEFAULT_INTERVAL = 3;
18
- export declare const paginate: ({ page, per, total, }: {
19
- page: number;
20
- per: number;
21
- total: number;
22
- }) => {
23
- totalPages: number;
24
- prevPage: number;
25
- nextPage: number;
26
- };
27
12
  export declare const Pagination: React.FC<PaginationProps>;
@@ -21,89 +21,45 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  }
22
22
  return t;
23
23
  };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
50
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
26
  };
52
27
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.Pagination = exports.paginate = exports.PAGINATION_DEFAULT_INTERVAL = exports.PAGINATION_DEFAULT_PER = exports.PAGINATION_DEFAULT_PAGE = void 0;
28
+ exports.Pagination = void 0;
54
29
  var react_1 = __importDefault(require("react"));
30
+ var hooks_1 = require("../hooks");
55
31
  var Stack_1 = require("../Stack");
56
32
  var Page_1 = require("./Page");
57
- exports.PAGINATION_DEFAULT_PAGE = 1;
58
- exports.PAGINATION_DEFAULT_PER = 24;
59
- exports.PAGINATION_DEFAULT_INTERVAL = 3;
60
- var paginate = function (_a) {
61
- var _b = _a.page, page = _b === void 0 ? exports.PAGINATION_DEFAULT_PAGE : _b, _c = _a.per, per = _c === void 0 ? exports.PAGINATION_DEFAULT_PER : _c, total = _a.total;
62
- var totalPages = Math.ceil(total / per);
63
- var prevPage = page > 1 ? page - 1 : page;
64
- var nextPage = page < totalPages ? page + 1 : page;
65
- return { totalPages: totalPages, prevPage: prevPage, nextPage: nextPage };
66
- };
67
- exports.paginate = paginate;
68
33
  var Pagination = function (_a) {
69
- var href = _a.href, _b = _a.interval, interval = _b === void 0 ? exports.PAGINATION_DEFAULT_INTERVAL : _b, onChange = _a.onChange, _c = _a.Page, Page = _c === void 0 ? Page_1.Page : _c, _d = _a.page, page = _d === void 0 ? exports.PAGINATION_DEFAULT_PAGE : _d, _e = _a.per, per = _e === void 0 ? exports.PAGINATION_DEFAULT_PER : _e, total = _a.total, variant = _a.variant, rest = __rest(_a, ["href", "interval", "onChange", "Page", "page", "per", "total", "variant"]);
70
- var _f = (0, exports.paginate)({ page: page, per: per, total: total }), totalPages = _f.totalPages, prevPage = _f.prevPage, nextPage = _f.nextPage;
71
- var handleClick = function (_a) {
72
- var pageNumber = _a.pageNumber, event = _a.event;
73
- if (!onChange)
74
- return;
75
- if (event) {
76
- event.preventDefault();
77
- }
78
- onChange(pageNumber);
79
- };
80
- var pageProps = {
81
- currentPage: page,
82
- href: href,
83
- onClick: handleClick,
34
+ var interval = _a.interval, onChange = _a.onChange, currentPage = _a.page, per = _a.per, total = _a.total, variant = _a.variant, rest = __rest(_a, ["interval", "onChange", "page", "per", "total", "variant"]);
35
+ var _b = (0, hooks_1.usePagination)({
36
+ currentPage: currentPage,
37
+ interval: interval,
84
38
  per: per,
85
- variant: variant,
86
- };
39
+ total: total,
40
+ }), head = _b.head, center = _b.center, tail = _b.tail, totalPages = _b.totalPages;
87
41
  if (totalPages <= 1)
88
42
  return null;
89
43
  return (react_1.default.createElement(Stack_1.Stack, __assign({ direction: "horizontal" }, rest),
90
- react_1.default.createElement(Stack_1.Stack, { direction: "horizontal" },
91
- react_1.default.createElement(Page, __assign({}, pageProps, { pageNumber: 1 }), "A"),
92
- react_1.default.createElement(Page, __assign({}, pageProps, { pageNumber: prevPage, rel: "prev" }), "\u2190")),
93
- __spreadArray([], __read(Array(interval).keys()), false).map(function (i) {
94
- return page > i + 1 ? (react_1.default.createElement(Page, __assign({}, pageProps, { key: page - (i + 1), pageNumber: page - (i + 1), display: ["none", "none", "block"] }), page - (i + 1))) : undefined;
95
- })
96
- .filter(Boolean)
97
- .reverse(),
98
- react_1.default.createElement(Page, __assign({}, pageProps, { pageNumber: page }), page),
99
- __spreadArray([], __read(Array(interval).keys()), false).map(function (i) {
100
- return totalPages - page + 1 > i + 1 ? (react_1.default.createElement(Page, __assign({}, pageProps, { key: page + (i + 1), pageNumber: page + (i + 1), display: ["none", "none", "block"] }), page + (i + 1))) : undefined;
101
- })
102
- .filter(Boolean),
103
- react_1.default.createElement(Stack_1.Stack, { direction: "horizontal" },
104
- react_1.default.createElement(Page, __assign({}, pageProps, { pageNumber: nextPage, rel: "next" }), "\u2192"),
105
- react_1.default.createElement(Page, __assign({}, pageProps, { pageNumber: totalPages }), "\u03A9"))));
44
+ react_1.default.createElement(Stack_1.Stack, { direction: "horizontal" }, head.map(function (page) {
45
+ return react_1.default.createElement(DefaultPage, __assign({ key: page.page }, page, { onClick: onChange }));
46
+ })),
47
+ center.map(function (page) {
48
+ return react_1.default.createElement(DefaultPage, __assign({ key: page.page }, page, { onClick: onChange }));
49
+ }),
50
+ react_1.default.createElement(Stack_1.Stack, { direction: "horizontal" }, tail.map(function (page) {
51
+ return react_1.default.createElement(DefaultPage, __assign({ key: page.page }, page, { onClick: onChange }));
52
+ }))));
106
53
  };
107
54
  exports.Pagination = Pagination;
108
55
  exports.Pagination.displayName = "Pagination";
56
+ var DefaultPage = function (_a) {
57
+ var page = _a.page, label = _a.label, disabled = _a.disabled, tabIndex = _a.tabIndex, onClick = _a.onClick, rest = __rest(_a, ["page", "label", "disabled", "tabIndex", "onClick"]);
58
+ var handleClick = function () {
59
+ if (!onClick)
60
+ return;
61
+ onClick(page);
62
+ };
63
+ return (react_1.default.createElement(Page_1.Page, __assign({ key: page, onClick: handleClick, disabled: disabled, tabIndex: tabIndex }, rest), label));
64
+ };
109
65
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,kCAAyD;AACzD,kCAA6C;AAC7C,+BAAyC;AAWlC,IAAM,UAAU,GAA8B,UAAC,EAQrD;IAPC,IAAA,QAAQ,cAAA,EACR,QAAQ,cAAA,EACF,WAAW,UAAA,EACjB,GAAG,SAAA,EACH,KAAK,WAAA,EACL,OAAO,aAAA,EACJ,IAAI,cAP6C,2DAQrD,CADQ;IAED,IAAA,KAAqC,IAAA,qBAAa,EAAC;QACvD,WAAW,aAAA;QACX,QAAQ,UAAA;QACR,GAAG,KAAA;QACH,KAAK,OAAA;KACN,CAAC,EALM,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,UAAU,gBAKpC,CAAC;IAEH,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,CACL,8BAAC,aAAK,aAAC,SAAS,EAAC,YAAY,IAAK,IAAI;QACpC,8BAAC,aAAK,IAAC,SAAS,EAAC,YAAY,IAC1B,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;YACb,OAAO,8BAAC,WAAW,aAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAM,IAAI,IAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;QACtE,CAAC,CAAC,CACI;QAEP,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI;YACf,OAAO,8BAAC,WAAW,aAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAM,IAAI,IAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;QACtE,CAAC,CAAC;QAEF,8BAAC,aAAK,IAAC,SAAS,EAAC,YAAY,IAC1B,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;YACb,OAAO,8BAAC,WAAW,aAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAM,IAAI,IAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;QACtE,CAAC,CAAC,CACI,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,UAAU,cAqCrB;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAOtC,IAAM,WAAW,GAAyB,UAAC,EAO1C;IANC,IAAA,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,OAAO,aAAA,EACJ,IAAI,cANkC,oDAO1C,CADQ;IAEP,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,WAAI,aACH,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IACd,IAAI,GAEP,KAAK,CACD,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./useClickOutside";
2
2
  export * from "./useContrastingColor";
3
+ export * from "./usePagination";
3
4
  export * from "./useUniqueId";
4
5
  export * from "./useUpdateEffect";
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./useClickOutside"), exports);
18
18
  __exportStar(require("./useContrastingColor"), exports);
19
+ __exportStar(require("./usePagination"), exports);
19
20
  __exportStar(require("./useUniqueId"), exports);
20
21
  __exportStar(require("./useUpdateEffect"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,kDAAgC;AAChC,gDAA8B;AAC9B,oDAAkC"}
@@ -0,0 +1,28 @@
1
+ export declare const PAGINATION_DEFAULT_PAGE = 1;
2
+ export declare const PAGINATION_DEFAULT_PER = 24;
3
+ export declare const PAGINATION_DEFAULT_INTERVAL = 3;
4
+ export interface PaginationPage {
5
+ disabled: boolean;
6
+ label: string;
7
+ page: number;
8
+ rel?: "next" | "prev";
9
+ tabIndex?: number;
10
+ }
11
+ export interface UsePagination {
12
+ currentPage?: number;
13
+ interval?: number;
14
+ per?: number;
15
+ total: number;
16
+ }
17
+ export declare const usePagination: ({ currentPage, interval, per, total, }: UsePagination) => {
18
+ center: PaginationPage[];
19
+ current: PaginationPage;
20
+ head: PaginationPage[];
21
+ leftSurrounding: PaginationPage[];
22
+ nextPage: number;
23
+ pages: PaginationPage[];
24
+ prevPage: number;
25
+ rightSurrounding: PaginationPage[];
26
+ tail: PaginationPage[];
27
+ totalPages: number;
28
+ };
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.usePagination = exports.PAGINATION_DEFAULT_INTERVAL = exports.PAGINATION_DEFAULT_PER = exports.PAGINATION_DEFAULT_PAGE = void 0;
29
+ var react_1 = require("react");
30
+ exports.PAGINATION_DEFAULT_PAGE = 1;
31
+ exports.PAGINATION_DEFAULT_PER = 24;
32
+ exports.PAGINATION_DEFAULT_INTERVAL = 3;
33
+ var usePagination = function (_a) {
34
+ var _b = _a.currentPage, currentPage = _b === void 0 ? exports.PAGINATION_DEFAULT_PAGE : _b, _c = _a.interval, interval = _c === void 0 ? exports.PAGINATION_DEFAULT_INTERVAL : _c, _d = _a.per, per = _d === void 0 ? exports.PAGINATION_DEFAULT_PER : _d, total = _a.total;
35
+ var totalPages = Math.ceil(total / per);
36
+ var prevPage = currentPage > 1 ? currentPage - 1 : currentPage;
37
+ var nextPage = currentPage < totalPages ? currentPage + 1 : currentPage;
38
+ var head = [
39
+ {
40
+ label: "A",
41
+ page: 1,
42
+ disabled: disabled(1, currentPage),
43
+ tabIndex: tabIndex(1, currentPage),
44
+ },
45
+ {
46
+ label: "←",
47
+ page: prevPage,
48
+ disabled: disabled(prevPage, currentPage),
49
+ tabIndex: tabIndex(prevPage, currentPage),
50
+ rel: "prev",
51
+ },
52
+ ];
53
+ var tail = [
54
+ {
55
+ label: "→",
56
+ page: nextPage,
57
+ disabled: disabled(nextPage, currentPage),
58
+ tabIndex: tabIndex(nextPage, currentPage),
59
+ rel: "next",
60
+ },
61
+ {
62
+ label: "Ω",
63
+ page: totalPages,
64
+ disabled: disabled(totalPages, currentPage),
65
+ tabIndex: tabIndex(totalPages, currentPage),
66
+ },
67
+ ];
68
+ var current = {
69
+ label: "".concat(currentPage),
70
+ page: currentPage,
71
+ disabled: disabled(currentPage, currentPage),
72
+ tabIndex: tabIndex(currentPage, currentPage),
73
+ };
74
+ var leftSurrounding = (0, react_1.useMemo)(function () {
75
+ return __spreadArray([], __read(Array(interval).keys()), false).map(function (i) {
76
+ var page = currentPage - (i + 1);
77
+ return {
78
+ label: "".concat(page),
79
+ page: page,
80
+ disabled: disabled(page, currentPage),
81
+ tabIndex: tabIndex(page, currentPage),
82
+ };
83
+ })
84
+ .filter(function (page) { return page.page > 0; })
85
+ .reverse();
86
+ }, [currentPage, interval]);
87
+ var rightSurrounding = (0, react_1.useMemo)(function () {
88
+ return __spreadArray([], __read(Array(interval).keys()), false).map(function (i) {
89
+ var page = currentPage + (i + 1);
90
+ return {
91
+ label: "".concat(page),
92
+ page: page,
93
+ disabled: disabled(page, currentPage),
94
+ tabIndex: tabIndex(page, currentPage),
95
+ };
96
+ })
97
+ .filter(function (page) { return page.page <= totalPages; });
98
+ }, [currentPage, interval, totalPages]);
99
+ var center = __spreadArray(__spreadArray(__spreadArray([], __read(leftSurrounding), false), [
100
+ current
101
+ ], false), __read(rightSurrounding), false);
102
+ var pages = __spreadArray(__spreadArray(__spreadArray([], __read(head), false), __read(center), false), __read(tail), false);
103
+ return {
104
+ center: center,
105
+ current: current,
106
+ head: head,
107
+ leftSurrounding: leftSurrounding,
108
+ nextPage: nextPage,
109
+ pages: pages,
110
+ prevPage: prevPage,
111
+ rightSurrounding: rightSurrounding,
112
+ tail: tail,
113
+ totalPages: totalPages,
114
+ };
115
+ };
116
+ exports.usePagination = usePagination;
117
+ var disabled = function (page, currentPage) {
118
+ return page === currentPage;
119
+ };
120
+ var tabIndex = function (page, currentPage) {
121
+ if (page === currentPage) {
122
+ return -1;
123
+ }
124
+ };
125
+ //# sourceMappingURL=usePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auspices/eos",
3
- "version": "4.2.2",
3
+ "version": "5.0.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [