@veracity/vui 0.5.2 → 0.6.1
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/button/button.js +1 -1
- package/button/buttonIcon.js +15 -2
- package/button/buttonText.js +15 -2
- package/button/context.d.ts +2 -2
- package/button/context.js +3 -3
- package/buttonGroup/context.d.ts +2 -2
- package/buttonGroup/context.js +3 -3
- package/checkbox/checkbox.js +1 -1
- package/checkbox/context.d.ts +2 -2
- package/checkbox/context.js +3 -3
- package/core/links.d.ts +3 -2
- package/core/links.js +47 -41
- package/dialog/dialogBody.js +13 -1
- package/dialog/dialogCancelButton.js +14 -1
- package/dialog/dialogCloseButton.js +14 -1
- package/dialog/dialogFooter.js +2 -2
- package/dialog/dialogHeader.js +2 -2
- package/dialog/dialogIcon.js +14 -1
- package/dialog/dialogSubmitButton.js +14 -1
- package/dialog/dialogTitle.js +14 -1
- package/footer/footerColumn.js +3 -2
- package/footer/footerContent.js +14 -1
- package/footer/footerHeading.js +14 -1
- package/footer/footerLink.js +14 -1
- package/footer/footerRow.js +14 -1
- package/footer/footerSection.js +2 -2
- package/footer/footerTrademark.js +3 -2
- package/header/headerAccount.js +3 -3
- package/header/headerAccountUserInfo.js +4 -3
- package/header/headerContent.js +14 -1
- package/header/headerCreateAccount.js +3 -2
- package/header/headerDivider.js +14 -1
- package/header/headerLogo.js +3 -2
- package/header/headerMainLinks.js +3 -2
- package/header/headerMobileContent.js +13 -1
- package/header/headerMobileToggle.js +13 -1
- package/header/headerNotifications.js +3 -2
- package/header/headerServices.js +1 -1
- package/header/headerServicesMessage.js +3 -2
- package/header/headerSignIn.js +3 -2
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/input/context.d.ts +2 -2
- package/input/context.js +3 -3
- package/input/input.js +1 -1
- package/input/inputIcon.js +15 -2
- package/input/inputInput.js +14 -2
- package/link/context.d.ts +2 -2
- package/link/context.js +3 -3
- package/link/linkIcon.js +15 -2
- package/link/linkText.js +15 -2
- package/list/context.d.ts +2 -2
- package/list/context.js +3 -3
- package/list/listDivider.js +15 -2
- package/list/listHeading.js +15 -2
- package/list/listIcon.js +15 -2
- package/list/listItem.js +3 -3
- package/list/listText.js +15 -2
- package/menu/menuButton.js +15 -2
- package/menu/menuItem.js +2 -2
- package/menu/menuList.js +4 -3
- package/modal/modalBackdrop.js +13 -1
- package/modal/modalContent.js +13 -1
- package/notification/context.d.ts +2 -2
- package/notification/context.js +3 -3
- package/notification/notificationButton.js +16 -3
- package/notification/notificationIcon.js +16 -3
- package/notification/notificationText.js +15 -2
- package/notification/notificationTitle.js +15 -2
- package/package.json +1 -1
- package/pagination/context.d.ts +4 -0
- package/pagination/context.js +23 -0
- package/pagination/helpers.d.ts +3 -0
- package/pagination/helpers.js +56 -0
- package/pagination/index.d.ts +13 -0
- package/pagination/index.js +31 -0
- package/pagination/pagination.d.ts +21 -0
- package/pagination/pagination.js +70 -0
- package/pagination/pagination.types.d.ts +31 -0
- package/pagination/pagination.types.js +2 -0
- package/pagination/paginationButton.d.ts +4 -0
- package/pagination/paginationButton.js +51 -0
- package/pagination/paginationEllipsis.d.ts +4 -0
- package/pagination/paginationEllipsis.js +41 -0
- package/pagination/paginationGoToPage.d.ts +4 -0
- package/pagination/paginationGoToPage.js +53 -0
- package/pagination/paginationNavigation.d.ts +4 -0
- package/pagination/paginationNavigation.js +68 -0
- package/pagination/paginationPrevNext.d.ts +4 -0
- package/pagination/paginationPrevNext.js +49 -0
- package/pagination/paginationResults.d.ts +4 -0
- package/pagination/paginationResults.js +42 -0
- package/pagination/theme.d.ts +8 -0
- package/pagination/theme.js +14 -0
- package/pagination/usePagination.d.ts +14 -0
- package/pagination/usePagination.js +58 -0
- package/pagination/usePagination.types.d.ts +12 -0
- package/pagination/usePagination.types.js +2 -0
- package/popover/popoverContent.js +2 -2
- package/popover/popoverTrigger.js +3 -3
- package/radio/context.d.ts +2 -2
- package/radio/context.js +3 -3
- package/radio/radio.js +1 -1
- package/spinner/consts.d.ts +0 -12
- package/spinner/consts.js +4 -8
- package/spinner/spinner.js +2 -2
- package/switch/context.d.ts +2 -2
- package/switch/context.js +3 -3
- package/switch/switchButton.js +2 -2
- package/switch/switchLabel.js +15 -2
- package/tag/context.d.ts +2 -2
- package/tag/context.js +3 -3
- package/tag/tagButton.js +16 -3
- package/tag/tagIcon.js +15 -2
- package/tag/tagText.js +15 -2
- package/textarea/textarea.js +1 -1
- package/theme/components.d.ts +7 -0
- package/theme/components.js +20 -18
- package/theme/defaultTheme.d.ts +7 -0
- package/utils/react.d.ts +16 -2
- package/utils/react.js +41 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './context';
|
|
2
|
+
export * from './helpers';
|
|
3
|
+
export * from './pagination';
|
|
4
|
+
export { default } from './pagination';
|
|
5
|
+
export * from './pagination.types';
|
|
6
|
+
export * from './paginationButton';
|
|
7
|
+
export * from './paginationEllipsis';
|
|
8
|
+
export * from './paginationGoToPage';
|
|
9
|
+
export * from './paginationNavigation';
|
|
10
|
+
export * from './paginationPrevNext';
|
|
11
|
+
export * from './paginationResults';
|
|
12
|
+
export { default as usePagination } from './usePagination';
|
|
13
|
+
export * from './usePagination.types';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.usePagination = exports.default = void 0;
|
|
17
|
+
__exportStar(require("./context"), exports);
|
|
18
|
+
__exportStar(require("./helpers"), exports);
|
|
19
|
+
__exportStar(require("./pagination"), exports);
|
|
20
|
+
var pagination_1 = require("./pagination");
|
|
21
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(pagination_1).default; } });
|
|
22
|
+
__exportStar(require("./pagination.types"), exports);
|
|
23
|
+
__exportStar(require("./paginationButton"), exports);
|
|
24
|
+
__exportStar(require("./paginationEllipsis"), exports);
|
|
25
|
+
__exportStar(require("./paginationGoToPage"), exports);
|
|
26
|
+
__exportStar(require("./paginationNavigation"), exports);
|
|
27
|
+
__exportStar(require("./paginationPrevNext"), exports);
|
|
28
|
+
__exportStar(require("./paginationResults"), exports);
|
|
29
|
+
var usePagination_1 = require("./usePagination");
|
|
30
|
+
Object.defineProperty(exports, "usePagination", { enumerable: true, get: function () { return __importDefault(usePagination_1).default; } });
|
|
31
|
+
__exportStar(require("./usePagination.types"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { VuiComponent } from '../core';
|
|
2
|
+
import { PaginationProps } from './pagination.types';
|
|
3
|
+
import PaginationButton from './paginationButton';
|
|
4
|
+
import PaginationEllipsis from './paginationEllipsis';
|
|
5
|
+
import PaginationGoToPage from './paginationGoToPage';
|
|
6
|
+
import PaginationNavigation from './paginationNavigation';
|
|
7
|
+
import PaginationPrevNext from './paginationPrevNext';
|
|
8
|
+
import PaginationResults from './paginationResults';
|
|
9
|
+
/**
|
|
10
|
+
* Displays page navigation buttons together with page and item count.
|
|
11
|
+
* GoToPage component is shown automatically above 10 pages.
|
|
12
|
+
*/
|
|
13
|
+
export declare const Pagination: VuiComponent<"div", PaginationProps> & {
|
|
14
|
+
Button: typeof PaginationButton;
|
|
15
|
+
Ellipsis: typeof PaginationEllipsis;
|
|
16
|
+
GoToPage: typeof PaginationGoToPage;
|
|
17
|
+
Navigation: typeof PaginationNavigation;
|
|
18
|
+
PrevNext: typeof PaginationPrevNext;
|
|
19
|
+
Results: typeof PaginationResults;
|
|
20
|
+
};
|
|
21
|
+
export default Pagination;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.Pagination = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var box_1 = __importDefault(require("../box"));
|
|
31
|
+
var core_1 = require("../core");
|
|
32
|
+
var utils_1 = require("../utils");
|
|
33
|
+
var context_1 = require("./context");
|
|
34
|
+
var paginationButton_1 = __importDefault(require("./paginationButton"));
|
|
35
|
+
var paginationEllipsis_1 = __importDefault(require("./paginationEllipsis"));
|
|
36
|
+
var paginationGoToPage_1 = __importDefault(require("./paginationGoToPage"));
|
|
37
|
+
var paginationNavigation_1 = __importDefault(require("./paginationNavigation"));
|
|
38
|
+
var paginationPrevNext_1 = __importDefault(require("./paginationPrevNext"));
|
|
39
|
+
var paginationResults_1 = __importDefault(require("./paginationResults"));
|
|
40
|
+
var usePagination_1 = __importDefault(require("./usePagination"));
|
|
41
|
+
/**
|
|
42
|
+
* Displays page navigation buttons together with page and item count.
|
|
43
|
+
* GoToPage component is shown automatically above 10 pages.
|
|
44
|
+
*/
|
|
45
|
+
exports.Pagination = (0, core_1.vui)(function (props, ref) {
|
|
46
|
+
var _a;
|
|
47
|
+
var children = props.children, className = props.className, count = props.count, defaultPage = props.defaultPage, goToPage = props.goToPage, _b = props.items, itemsProp = _b === void 0 ? [] : _b, navigation = props.navigation, onPageChange = props.onPageChange, pageProp = props.page, pageSize = props.pageSize, results = props.results, size = props.size, variant = props.variant, rest = __rest(props, ["children", "className", "count", "defaultPage", "goToPage", "items", "navigation", "onPageChange", "page", "pageSize", "results", "size", "variant"]);
|
|
48
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', props);
|
|
49
|
+
var _c = (0, usePagination_1.default)({
|
|
50
|
+
count: count,
|
|
51
|
+
defaultPage: defaultPage,
|
|
52
|
+
onPageChange: onPageChange,
|
|
53
|
+
page: pageProp,
|
|
54
|
+
pageSize: pageSize
|
|
55
|
+
}), _d = _c.items, items = _d === void 0 ? itemsProp : _d, paginationProps = __rest(_c, ["items"]);
|
|
56
|
+
var context = __assign(__assign({}, paginationProps), { items: items, size: size, variant: variant });
|
|
57
|
+
return (react_1.default.createElement(context_1.PaginationProvider, { value: context },
|
|
58
|
+
react_1.default.createElement(box_1.default, __assign({ centerV: true, className: (0, utils_1.cs)('vui-pagination', className), gap: 3, ref: ref, w: 1, wrap: true }, styles.container, rest), (_a = (0, utils_1.runIfFn)(children, context)) !== null && _a !== void 0 ? _a : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
59
|
+
(0, utils_1.isJsx)(results) ? results : react_1.default.createElement(paginationResults_1.default, null),
|
|
60
|
+
(0, utils_1.isJsx)(navigation) ? navigation : react_1.default.createElement(paginationNavigation_1.default, { ml: "auto" }),
|
|
61
|
+
(0, utils_1.isJsx)(goToPage) ? goToPage : paginationProps.pageCount > 10 && react_1.default.createElement(paginationGoToPage_1.default, null))))));
|
|
62
|
+
});
|
|
63
|
+
exports.Pagination.displayName = 'Notification';
|
|
64
|
+
exports.Pagination.Button = paginationButton_1.default;
|
|
65
|
+
exports.Pagination.Ellipsis = paginationEllipsis_1.default;
|
|
66
|
+
exports.Pagination.GoToPage = paginationGoToPage_1.default;
|
|
67
|
+
exports.Pagination.Navigation = paginationNavigation_1.default;
|
|
68
|
+
exports.Pagination.PrevNext = paginationPrevNext_1.default;
|
|
69
|
+
exports.Pagination.Results = paginationResults_1.default;
|
|
70
|
+
exports.default = exports.Pagination;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BoxProps } from '../box';
|
|
3
|
+
import { ButtonProps } from '../button';
|
|
4
|
+
import { ThemingProps } from '../theme';
|
|
5
|
+
import { RenderProps } from '../utils';
|
|
6
|
+
import { UsePaginationReturnType } from './usePagination';
|
|
7
|
+
import { UsePaginationProps } from './usePagination.types';
|
|
8
|
+
export declare type PaginationButtonProps = ButtonProps & {
|
|
9
|
+
/** Applies different styling to a button of the current page. */
|
|
10
|
+
isActive?: boolean;
|
|
11
|
+
/** Number of the page, which this button represents. */
|
|
12
|
+
page: number;
|
|
13
|
+
};
|
|
14
|
+
export declare type PaginationContext = UsePaginationReturnType & ThemingProps<'Pagination'>;
|
|
15
|
+
export declare type PaginationItem = 'ellipsisEnd' | 'ellipsisStart' | 'next' | 'previous' | number;
|
|
16
|
+
export declare type PaginationPrevNextProps = ButtonProps & {
|
|
17
|
+
/** Defines the logic of previous and next buttons. */
|
|
18
|
+
direction: 'previous' | 'next';
|
|
19
|
+
};
|
|
20
|
+
export declare type PaginationProps = Omit<BoxProps, 'size' | 'variant'> & ThemingProps<'Pagination'> & UsePaginationProps & {
|
|
21
|
+
/** Children provide render props using PaginationContext data. */
|
|
22
|
+
children?: RenderProps<PaginationContext>;
|
|
23
|
+
/** Socket for page input on the right side. */
|
|
24
|
+
goToPage?: JSX.Element;
|
|
25
|
+
/** Array describing pagination items, like page buttons, prev/next arrows or ellipsis. */
|
|
26
|
+
items?: PaginationItem[];
|
|
27
|
+
/** Socket for the main navigation elements in the middle. */
|
|
28
|
+
navigation?: JSX.Element;
|
|
29
|
+
/** Socket for numbers data on the left side. */
|
|
30
|
+
results?: JSX.Element;
|
|
31
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.PaginationButton = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var button_1 = __importDefault(require("../button"));
|
|
31
|
+
var core_1 = require("../core");
|
|
32
|
+
var utils_1 = require("../utils");
|
|
33
|
+
var context_1 = require("./context");
|
|
34
|
+
/** Displays a page navigation button within the Pagination. */
|
|
35
|
+
exports.PaginationButton = (0, core_1.vui)(function (props, ref) {
|
|
36
|
+
var className = props.className, isActiveProp = props.isActive, pageProp = props.page, rest = __rest(props, ["className", "isActive", "page"]);
|
|
37
|
+
var _a = (0, context_1.usePaginationContext)(), onPageChange = _a.onPageChange, page = _a.page;
|
|
38
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
39
|
+
var isActive = isActiveProp !== null && isActiveProp !== void 0 ? isActiveProp : pageProp === page;
|
|
40
|
+
var activeProps = isActive
|
|
41
|
+
? {
|
|
42
|
+
bg: 'blue.20',
|
|
43
|
+
color: 'blue.80',
|
|
44
|
+
hoverBg: 'blue.30',
|
|
45
|
+
activeBg: 'blue.40'
|
|
46
|
+
}
|
|
47
|
+
: {};
|
|
48
|
+
return (react_1.default.createElement(button_1.default, __assign({ className: (0, utils_1.cs)('vui-paginationButton', className), minW: 0, onClick: function () { return onPageChange(pageProp); }, ref: ref, size: "sm", text: pageProp, variant: "text" }, styles.button, activeProps, rest)));
|
|
49
|
+
});
|
|
50
|
+
exports.PaginationButton.displayName = 'PaginationButton';
|
|
51
|
+
exports.default = exports.PaginationButton;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.PaginationEllipsis = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var box_1 = __importDefault(require("../box"));
|
|
31
|
+
var core_1 = require("../core");
|
|
32
|
+
var utils_1 = require("../utils");
|
|
33
|
+
var context_1 = require("./context");
|
|
34
|
+
/** Displays '...' ellipsis for hidden pages. */
|
|
35
|
+
exports.PaginationEllipsis = (0, core_1.vui)(function (props, ref) {
|
|
36
|
+
var children = props.children, className = props.className, rest = __rest(props, ["children", "className"]);
|
|
37
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
38
|
+
return (react_1.default.createElement(box_1.default, __assign({ alignItems: "center", className: (0, utils_1.cs)('vui-paginationEllipsis', className), px: "10px", ref: ref }, styles.ellipsis, rest), children !== null && children !== void 0 ? children : '...'));
|
|
39
|
+
});
|
|
40
|
+
exports.PaginationEllipsis.displayName = 'PaginationEllipsis';
|
|
41
|
+
exports.default = exports.PaginationEllipsis;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.PaginationGoToPage = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var box_1 = __importDefault(require("../box"));
|
|
31
|
+
var core_1 = require("../core");
|
|
32
|
+
var input_1 = __importDefault(require("../input"));
|
|
33
|
+
var t_1 = __importDefault(require("../t"));
|
|
34
|
+
var utils_1 = require("../utils");
|
|
35
|
+
var context_1 = require("./context");
|
|
36
|
+
/** Displays a number input, which allows quickly jumping between pages. */
|
|
37
|
+
exports.PaginationGoToPage = (0, core_1.vui)(function (props, ref) {
|
|
38
|
+
var className = props.className, rest = __rest(props, ["className"]);
|
|
39
|
+
var _a = (0, context_1.usePaginationContext)(), onPageChange = _a.onPageChange, pageCount = _a.pageCount;
|
|
40
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
41
|
+
var onChange = function (e) {
|
|
42
|
+
var value = +e.target.value;
|
|
43
|
+
if (value >= 1 && value <= pageCount) {
|
|
44
|
+
onPageChange(Math.floor(value));
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return (react_1.default.createElement(box_1.default, __assign({ centerV: true, className: (0, utils_1.cs)('vui-paginationGoToPage', className), lineHeight: "normal", ref: ref }, styles.goToPage, rest),
|
|
48
|
+
react_1.default.createElement(t_1.default, { size: "sm", weight: "medium" }, "Go to"),
|
|
49
|
+
react_1.default.createElement(input_1.default, { max: pageCount, min: 1, mx: 1, onChange: onChange, size: "sm", type: "number", w: 56 }),
|
|
50
|
+
react_1.default.createElement(t_1.default, { size: "sm", weight: "medium" }, "Page")));
|
|
51
|
+
});
|
|
52
|
+
exports.PaginationGoToPage.displayName = 'PaginationGoToPage';
|
|
53
|
+
exports.default = exports.PaginationGoToPage;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
33
|
+
var t = {};
|
|
34
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
35
|
+
t[p] = s[p];
|
|
36
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
37
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
38
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
39
|
+
t[p[i]] = s[p[i]];
|
|
40
|
+
}
|
|
41
|
+
return t;
|
|
42
|
+
};
|
|
43
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
44
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.PaginationNavigation = void 0;
|
|
48
|
+
var react_1 = __importStar(require("react"));
|
|
49
|
+
var box_1 = __importDefault(require("../box"));
|
|
50
|
+
var core_1 = require("../core");
|
|
51
|
+
var utils_1 = require("../utils");
|
|
52
|
+
var context_1 = require("./context");
|
|
53
|
+
var paginationButton_1 = __importDefault(require("./paginationButton"));
|
|
54
|
+
var paginationEllipsis_1 = __importDefault(require("./paginationEllipsis"));
|
|
55
|
+
var paginationPrevNext_1 = __importDefault(require("./paginationPrevNext"));
|
|
56
|
+
/** Displays a set of page navigation buttons. */
|
|
57
|
+
exports.PaginationNavigation = (0, core_1.vui)(function (props, ref) {
|
|
58
|
+
var children = props.children, className = props.className, rest = __rest(props, ["children", "className"]);
|
|
59
|
+
var items = (0, context_1.usePaginationContext)().items;
|
|
60
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
61
|
+
return (react_1.default.createElement(box_1.default, __assign({ className: (0, utils_1.cs)('vui-paginationNavigation', className), gap: 1, ref: ref, wrap: true }, styles.navigation, rest), children !== null && children !== void 0 ? children : items.map(function (item) { return (react_1.default.createElement(react_1.Fragment, { key: item },
|
|
62
|
+
item === 'previous' && react_1.default.createElement(paginationPrevNext_1.default, { direction: "previous" }),
|
|
63
|
+
(0, utils_1.isNumber)(item) && react_1.default.createElement(paginationButton_1.default, { page: item }),
|
|
64
|
+
(0, utils_1.isString)(item) && item.includes('ellipsis') && react_1.default.createElement(paginationEllipsis_1.default, null),
|
|
65
|
+
item === 'next' && react_1.default.createElement(paginationPrevNext_1.default, { direction: "next" }))); })));
|
|
66
|
+
});
|
|
67
|
+
exports.PaginationNavigation.displayName = 'PaginationNavigation';
|
|
68
|
+
exports.default = exports.PaginationNavigation;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PaginationPrevNextProps } from './pagination.types';
|
|
2
|
+
/** Displays a page navigation button, which navigates forward or backward. */
|
|
3
|
+
export declare const PaginationPrevNext: import("../core").VuiComponent<"button", PaginationPrevNextProps>;
|
|
4
|
+
export default PaginationPrevNext;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.PaginationPrevNext = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var button_1 = __importDefault(require("../button"));
|
|
31
|
+
var core_1 = require("../core");
|
|
32
|
+
var utils_1 = require("../utils");
|
|
33
|
+
var context_1 = require("./context");
|
|
34
|
+
/** Displays a page navigation button, which navigates forward or backward. */
|
|
35
|
+
exports.PaginationPrevNext = (0, core_1.vui)(function (props, ref) {
|
|
36
|
+
var className = props.className, direction = props.direction, rest = __rest(props, ["className", "direction"]);
|
|
37
|
+
var _a = (0, context_1.usePaginationContext)(), onPageChange = _a.onPageChange, page = _a.page, pageCount = _a.pageCount;
|
|
38
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
39
|
+
var isPrev = direction === 'previous';
|
|
40
|
+
var pageChange = isPrev ? -1 : 1;
|
|
41
|
+
var directionProps = {
|
|
42
|
+
disabled: isPrev ? page === 1 : page === pageCount,
|
|
43
|
+
icon: isPrev ? 'falAngleLeft' : 'falAngleRight',
|
|
44
|
+
onClick: function () { return onPageChange(page + pageChange); }
|
|
45
|
+
};
|
|
46
|
+
return (react_1.default.createElement(button_1.default, __assign({ className: (0, utils_1.cs)('vui-paginationPrevNext', className), minW: 0, ref: ref, size: "sm", variant: "text" }, styles.prevNext, directionProps, rest)));
|
|
47
|
+
});
|
|
48
|
+
exports.PaginationPrevNext.displayName = 'PaginationPrevNext';
|
|
49
|
+
exports.default = exports.PaginationPrevNext;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.PaginationResults = void 0;
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var core_1 = require("../core");
|
|
31
|
+
var t_1 = __importDefault(require("../t"));
|
|
32
|
+
var utils_1 = require("../utils");
|
|
33
|
+
var context_1 = require("./context");
|
|
34
|
+
/** Displays an action button within the Pagination. */
|
|
35
|
+
exports.PaginationResults = (0, core_1.vui)(function (props, ref) {
|
|
36
|
+
var children = props.children, className = props.className, rest = __rest(props, ["children", "className"]);
|
|
37
|
+
var _a = (0, context_1.usePaginationContext)(), count = _a.count, rangeEnd = _a.rangeEnd, rangeStart = _a.rangeStart;
|
|
38
|
+
var styles = (0, core_1.useStyleConfig)('Pagination', (0, context_1.usePaginationContext)());
|
|
39
|
+
return (react_1.default.createElement(t_1.default, __assign({ className: (0, utils_1.cs)('vui-paginationResults', className), color: "grey.80", ref: ref, size: "sm", weight: "medium" }, styles.results, rest), children !== null && children !== void 0 ? children : "Showing " + rangeStart + " to " + rangeEnd + " of " + count + " results."));
|
|
40
|
+
});
|
|
41
|
+
exports.PaginationResults.displayName = 'PaginationResults';
|
|
42
|
+
exports.default = exports.PaginationResults;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var baseStyle = {};
|
|
4
|
+
var defaultProps = {};
|
|
5
|
+
var parts = ['container', 'button', 'ellipsis', 'goToPage', 'navigation', 'prevNext', 'results'];
|
|
6
|
+
var sizes = {};
|
|
7
|
+
var variants = {};
|
|
8
|
+
exports.default = {
|
|
9
|
+
baseStyle: baseStyle,
|
|
10
|
+
defaultProps: defaultProps,
|
|
11
|
+
parts: parts,
|
|
12
|
+
sizes: sizes,
|
|
13
|
+
variants: variants
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { UsePaginationProps } from './usePagination.types';
|
|
3
|
+
/** Hook to manage pagination data and state in controlled or uncontrolled way. */
|
|
4
|
+
export default function usePagination(props: UsePaginationProps): {
|
|
5
|
+
count: number;
|
|
6
|
+
items: import("./pagination.types").PaginationItem[];
|
|
7
|
+
onPageChange: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
8
|
+
page: number;
|
|
9
|
+
pageCount: number;
|
|
10
|
+
pageSize: number;
|
|
11
|
+
rangeEnd: number;
|
|
12
|
+
rangeStart: number;
|
|
13
|
+
};
|
|
14
|
+
export declare type UsePaginationReturnType = ReturnType<typeof usePagination>;
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var react_1 = require("react");
|
|
20
|
+
var utils_1 = require("../utils");
|
|
21
|
+
var helpers_1 = require("./helpers");
|
|
22
|
+
/** Hook to manage pagination data and state in controlled or uncontrolled way. */
|
|
23
|
+
function usePagination(props) {
|
|
24
|
+
var count = props.count, _a = props.defaultPage, defaultPage = _a === void 0 ? 1 : _a, onPageChangeProp = props.onPageChange, pageProp = props.page, pageSize = props.pageSize;
|
|
25
|
+
var _b = __read((0, utils_1.useControlled)({
|
|
26
|
+
defaultValue: defaultPage,
|
|
27
|
+
onChange: onPageChangeProp,
|
|
28
|
+
value: pageProp
|
|
29
|
+
}), 3), page = _b[0], onPageChange = _b[1], _c = _b[2], isControlled = _c.isControlled, reset = _c.reset;
|
|
30
|
+
// In uncontrolled mode, trigger external callback on the first render for consumer to initialize data.
|
|
31
|
+
(0, react_1.useEffect)(function () {
|
|
32
|
+
!isControlled && (onPageChangeProp === null || onPageChangeProp === void 0 ? void 0 : onPageChangeProp(defaultPage));
|
|
33
|
+
}, []);
|
|
34
|
+
/** In uncontrolled mode, reset pagination whenever pageSize changes (apart from initialization). */
|
|
35
|
+
(0, react_1.useEffect)(function () {
|
|
36
|
+
isMounted() && reset();
|
|
37
|
+
}, [pageSize]);
|
|
38
|
+
var isMounted = (0, utils_1.useIsMounted)();
|
|
39
|
+
/** How many pages are there in total. */
|
|
40
|
+
var pageCount = count > 0 && pageSize > 0 ? Math.ceil(count / pageSize) : 0;
|
|
41
|
+
/** Array of navigation items, like buttons or arrows. */
|
|
42
|
+
var items = (0, helpers_1.getPaginationItems)(page, pageCount);
|
|
43
|
+
/** First item displayed on the current page. */
|
|
44
|
+
var rangeStart = (page - 1) * pageSize + 1;
|
|
45
|
+
/** Last item displayed on the current page. */
|
|
46
|
+
var rangeEnd = page === pageCount ? count : page * pageSize;
|
|
47
|
+
return {
|
|
48
|
+
count: count,
|
|
49
|
+
items: items,
|
|
50
|
+
onPageChange: onPageChange,
|
|
51
|
+
page: page,
|
|
52
|
+
pageCount: pageCount,
|
|
53
|
+
pageSize: pageSize,
|
|
54
|
+
rangeEnd: rangeEnd,
|
|
55
|
+
rangeStart: rangeStart
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.default = usePagination;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare type UsePaginationProps = {
|
|
2
|
+
/** Total amount of items being paginated. */
|
|
3
|
+
count: number;
|
|
4
|
+
/** Starting page in uncontrolled mode. */
|
|
5
|
+
defaultPage?: number;
|
|
6
|
+
/** Callback triggered by Pagination elements. */
|
|
7
|
+
onPageChange?: (page: number) => void;
|
|
8
|
+
/** Currently displayed page. */
|
|
9
|
+
page?: number;
|
|
10
|
+
/** Amount of items per page. */
|
|
11
|
+
pageSize: number;
|
|
12
|
+
};
|