@hitachivantara/uikit-react-core 5.15.0 → 5.17.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/dist/cjs/components/ActionBar/ActionBar.cjs +8 -7
- package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
- package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +16 -17
- package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +46 -45
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +98 -160
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Select.cjs +2 -1
- package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +30 -33
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +14 -0
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs.map +1 -0
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +6 -6
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/{RuleGroup/RuleGroup.styles.cjs → QueryBuilder.styles.cjs} +48 -29
- package/dist/cjs/components/QueryBuilder/QueryBuilder.styles.cjs.map +1 -0
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +60 -61
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs +10 -5
- package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +253 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +40 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs.map +1 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs +37 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs.map +1 -0
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +10 -6
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +76 -82
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +33 -37
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +8 -3
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs +8 -5
- package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +155 -166
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/Placeholder.cjs +70 -0
- package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -0
- package/dist/cjs/components/TimePicker/TimePicker.cjs +212 -0
- package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
- package/dist/cjs/components/TimePicker/TimePicker.styles.cjs +53 -0
- package/dist/cjs/components/TimePicker/TimePicker.styles.cjs.map +1 -0
- package/dist/cjs/components/TimePicker/Unit/Unit.cjs +72 -0
- package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -0
- package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs +56 -0
- package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs.map +1 -0
- package/dist/cjs/index.cjs +10 -6
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/classes.cjs +4 -3
- package/dist/cjs/utils/classes.cjs.map +1 -1
- package/dist/esm/components/ActionBar/ActionBar.js +11 -9
- package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
- package/dist/esm/components/ActionBar/ActionBar.styles.js +16 -15
- package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +50 -48
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +98 -158
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Select.js +2 -1
- package/dist/esm/components/Pagination/Select.js.map +1 -1
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +31 -34
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +14 -0
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +1 -0
- package/dist/esm/components/QueryBuilder/QueryBuilder.js +6 -6
- package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryBuilder/{RuleGroup/RuleGroup.styles.js → QueryBuilder.styles.js} +48 -29
- package/dist/esm/components/QueryBuilder/QueryBuilder.styles.js.map +1 -0
- package/dist/esm/components/QueryBuilder/Rule/Rule.js +61 -62
- package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js +10 -5
- package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +250 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +40 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +1 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js +35 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +1 -0
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +10 -6
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +78 -84
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js +34 -38
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +8 -3
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/Value.js +7 -4
- package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +157 -168
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/esm/components/TimePicker/Placeholder.js +70 -0
- package/dist/esm/components/TimePicker/Placeholder.js.map +1 -0
- package/dist/esm/components/TimePicker/TimePicker.js +213 -0
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/esm/components/TimePicker/TimePicker.styles.js +53 -0
- package/dist/esm/components/TimePicker/TimePicker.styles.js.map +1 -0
- package/dist/esm/components/TimePicker/Unit/Unit.js +72 -0
- package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -0
- package/dist/esm/components/TimePicker/Unit/Unit.styles.js +56 -0
- package/dist/esm/components/TimePicker/Unit/Unit.styles.js.map +1 -0
- package/dist/esm/index.js +238 -234
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/classes.js +4 -3
- package/dist/esm/utils/classes.js.map +1 -1
- package/dist/types/index.d.ts +194 -82
- package/package.json +5 -5
- package/dist/cjs/components/ActionBar/actionBarClasses.cjs +0 -8
- package/dist/cjs/components/ActionBar/actionBarClasses.cjs.map +0 -1
- package/dist/cjs/components/Pagination/paginationClasses.cjs +0 -8
- package/dist/cjs/components/Pagination/paginationClasses.cjs.map +0 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs +0 -8
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs.map +0 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs +0 -8
- package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs.map +0 -1
- package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs +0 -8
- package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs.map +0 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.styles.cjs.map +0 -1
- package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs +0 -8
- package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs.map +0 -1
- package/dist/esm/components/ActionBar/actionBarClasses.js +0 -8
- package/dist/esm/components/ActionBar/actionBarClasses.js.map +0 -1
- package/dist/esm/components/Pagination/paginationClasses.js +0 -8
- package/dist/esm/components/Pagination/paginationClasses.js.map +0 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js +0 -8
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js.map +0 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js +0 -8
- package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js.map +0 -1
- package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js +0 -8
- package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js.map +0 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.styles.js.map +0 -1
- package/dist/esm/components/QueryBuilder/queryBuilderClasses.js +0 -8
- package/dist/esm/components/QueryBuilder/queryBuilderClasses.js.map +0 -1
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const clsx = require("clsx");
|
|
4
3
|
const ActionBar_styles = require("./ActionBar.styles.cjs");
|
|
5
|
-
const actionBarClasses = require("./actionBarClasses.cjs");
|
|
6
4
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
7
5
|
const HvActionBar = (props) => {
|
|
8
6
|
const {
|
|
9
|
-
classes,
|
|
7
|
+
classes: classesProp,
|
|
10
8
|
className,
|
|
11
|
-
id,
|
|
12
9
|
children,
|
|
13
10
|
...others
|
|
14
11
|
} = props;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
const {
|
|
13
|
+
classes,
|
|
14
|
+
cx
|
|
15
|
+
} = ActionBar_styles.useClasses(classesProp);
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
17
|
+
className: cx(classes.root, className),
|
|
18
18
|
...others,
|
|
19
19
|
children
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
+
exports.actionBarClasses = ActionBar_styles.staticClasses;
|
|
22
23
|
exports.HvActionBar = HvActionBar;
|
|
23
24
|
//# sourceMappingURL=ActionBar.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBar.cjs","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ActionBar.cjs","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./ActionBar.styles\";\n\nexport { staticClasses as actionBarClasses };\n\nexport type HvActionBarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionBarProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: Partial<HvActionBarClasses>;\n}\n\nexport const HvActionBar = (props: HvActionBarProps) => {\n const { classes: classesProp, className, children, ...others } = props;\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n"],"names":["HvActionBar","props","classes","classesProp","className","children","others","cx","useClasses","root"],"mappings":";;;;AAaaA,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IAAEC,SAASC;AAAAA,IAAaC;AAAAA,IAAWC;AAAAA,IAAU,GAAGC;AAAAA,EAAWL,IAAAA;AAC3D,QAAA;AAAA,IAAEC;AAAAA,IAASK;AAAAA,EAAAA,IAAOC,iBAAAA,WAAWL,WAAW;AAE9C,wCACE,OAAA;AAAA,IAAKC,WAAWG,GAAGL,QAAQO,MAAML,SAAS;AAAA,IAAE,GAAKE;AAAAA,IAAMD;AAAAA,EAAAA,CAElD;AAET;;;"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const _styled = require("@emotion/styled/base");
|
|
4
3
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
exports.
|
|
4
|
+
const classes = require("../../utils/classes.cjs");
|
|
5
|
+
const {
|
|
6
|
+
staticClasses,
|
|
7
|
+
useClasses
|
|
8
|
+
} = classes.createClasses("HvActionBar", {
|
|
9
|
+
root: {
|
|
10
|
+
width: "100%",
|
|
11
|
+
padding: uikitStyles.theme.space.sm,
|
|
12
|
+
borderTop: uikitStyles.theme.actionBar.borderTop,
|
|
13
|
+
display: "flex",
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
justifyContent: "flex-end"
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
exports.staticClasses = staticClasses;
|
|
19
|
+
exports.useClasses = useClasses;
|
|
21
20
|
//# sourceMappingURL=ActionBar.styles.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBar.styles.cjs","sources":["../../../../src/components/ActionBar/ActionBar.styles.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ActionBar.styles.cjs","sources":["../../../../src/components/ActionBar/ActionBar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvActionBar\", {\n root: {\n width: \"100%\",\n padding: theme.space.sm,\n borderTop: theme.actionBar.borderTop,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","width","padding","theme","space","sm","borderTop","actionBar","display","alignItems","justifyContent"],"mappings":";;;;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,QAAAA,cAAc,eAAe;AAAA,EACxEC,MAAM;AAAA,IACJC,OAAO;AAAA,IACPC,SAASC,YAAAA,MAAMC,MAAMC;AAAAA,IACrBC,WAAWH,YAAAA,MAAMI,UAAUD;AAAAA,IAC3BE,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,gBAAgB;AAAA,EAClB;AACF,CAAC;;;"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const clsx = require("clsx");
|
|
5
4
|
const material = require("@mui/material");
|
|
6
5
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
7
6
|
const Select = require("./Select.cjs");
|
|
8
7
|
const Pagination_styles = require("./Pagination.styles.cjs");
|
|
9
|
-
const paginationClasses = require("./paginationClasses.cjs");
|
|
10
8
|
const utils = require("./utils.cjs");
|
|
9
|
+
const ButtonIconTooltip = require("./ButtonIconTooltip.cjs");
|
|
11
10
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
12
11
|
const useLabels = require("../../hooks/useLabels.cjs");
|
|
13
12
|
const Typography = require("../Typography/Typography.cjs");
|
|
@@ -33,15 +32,16 @@ const DEFAULT_LABELS = {
|
|
|
33
32
|
const {
|
|
34
33
|
Enter
|
|
35
34
|
} = keyboardCodes.keyboardCodes;
|
|
35
|
+
const defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];
|
|
36
36
|
const HvPagination = ({
|
|
37
|
-
classes,
|
|
37
|
+
classes: classesProp = {},
|
|
38
38
|
className,
|
|
39
39
|
id,
|
|
40
40
|
pages = 1,
|
|
41
41
|
page = 0,
|
|
42
42
|
showPageSizeOptions = true,
|
|
43
|
-
pageSizeOptions =
|
|
44
|
-
pageSize = 1,
|
|
43
|
+
pageSizeOptions = defaultPageSizeOptions,
|
|
44
|
+
pageSize = defaultPageSizeOptions[1],
|
|
45
45
|
showPageJump = true,
|
|
46
46
|
canPrevious = false,
|
|
47
47
|
canNext = false,
|
|
@@ -55,6 +55,10 @@ const HvPagination = ({
|
|
|
55
55
|
}) => {
|
|
56
56
|
const labels = useLabels.useLabels(DEFAULT_LABELS, labelsProp);
|
|
57
57
|
const [pageInput, handleInputChange] = utils.usePageInput(page);
|
|
58
|
+
const {
|
|
59
|
+
classes,
|
|
60
|
+
cx
|
|
61
|
+
} = Pagination_styles.useClasses(classesProp);
|
|
58
62
|
const changePage = React.useCallback((newPage) => {
|
|
59
63
|
const safePage = utils.getSafePage(newPage, page, pages);
|
|
60
64
|
onPageChange == null ? void 0 : onPageChange(safePage);
|
|
@@ -70,8 +74,8 @@ const HvPagination = ({
|
|
|
70
74
|
handleInputChange(null, page + 1);
|
|
71
75
|
}
|
|
72
76
|
}, [handleInputChange, page]);
|
|
73
|
-
const renderPageJump = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
74
|
-
className:
|
|
77
|
+
const renderPageJump = () => /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
78
|
+
className: classes.pageJump,
|
|
75
79
|
children: /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
|
|
76
80
|
id: setId.setId(id, "currentPage"),
|
|
77
81
|
labels,
|
|
@@ -81,9 +85,9 @@ const HvPagination = ({
|
|
|
81
85
|
type: "number"
|
|
82
86
|
},
|
|
83
87
|
classes: {
|
|
84
|
-
root:
|
|
85
|
-
input:
|
|
86
|
-
inputRoot:
|
|
88
|
+
root: classes == null ? void 0 : classes.pageSizeInputContainer,
|
|
89
|
+
input: classes == null ? void 0 : classes.pageSizeInput,
|
|
90
|
+
inputRoot: classes == null ? void 0 : classes.pageSizeInputRoot
|
|
87
91
|
},
|
|
88
92
|
onChange: (event, value) => handleInputChange(event, Number(value)),
|
|
89
93
|
value: String(pageInput),
|
|
@@ -94,27 +98,25 @@ const HvPagination = ({
|
|
|
94
98
|
...currentPageInputProps
|
|
95
99
|
})
|
|
96
100
|
});
|
|
97
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
101
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
98
102
|
id,
|
|
99
|
-
className:
|
|
103
|
+
className: cx(classes.root, className),
|
|
100
104
|
...others,
|
|
101
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(
|
|
102
|
-
className:
|
|
105
|
+
children: [/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
106
|
+
className: classes.pageSizeOptions,
|
|
103
107
|
...showPageProps,
|
|
104
108
|
children: showPageSizeOptions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
105
109
|
children: [/* @__PURE__ */ jsxRuntime.jsx(material.Hidden, {
|
|
106
110
|
xsDown: true,
|
|
107
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
children: labels == null ? void 0 : labels.pageSizePrev
|
|
112
|
-
})
|
|
111
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
112
|
+
component: "span",
|
|
113
|
+
className: classes == null ? void 0 : classes.pageSizeTextContainer,
|
|
114
|
+
children: labels == null ? void 0 : labels.pageSizePrev
|
|
113
115
|
})
|
|
114
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
+
}), /* @__PURE__ */ jsxRuntime.jsx(Select.default, {
|
|
115
117
|
id: setId.setId(id, "pageSize"),
|
|
116
118
|
disabled: pageSize === 0,
|
|
117
|
-
className:
|
|
119
|
+
className: classes.pageSizeOptionsSelect,
|
|
118
120
|
"aria-label": labels == null ? void 0 : labels.pageSizeSelectorDescription,
|
|
119
121
|
onChange: (_, val) => onPageSizeChange == null ? void 0 : onPageSizeChange(val),
|
|
120
122
|
value: pageSize,
|
|
@@ -124,42 +126,40 @@ const HvPagination = ({
|
|
|
124
126
|
}, option))
|
|
125
127
|
}), /* @__PURE__ */ jsxRuntime.jsx(material.Hidden, {
|
|
126
128
|
xsDown: true,
|
|
127
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
children: labels == null ? void 0 : labels.pageSizeEntryName
|
|
132
|
-
})
|
|
129
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
130
|
+
component: "span",
|
|
131
|
+
className: classes.pageSizeTextContainer,
|
|
132
|
+
children: labels == null ? void 0 : labels.pageSizeEntryName
|
|
133
133
|
})
|
|
134
134
|
})]
|
|
135
135
|
})
|
|
136
|
-
}), /* @__PURE__ */ jsxRuntime.jsxs(
|
|
137
|
-
className:
|
|
136
|
+
}), /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
137
|
+
className: classes.pageNavigator,
|
|
138
138
|
...navigationProps,
|
|
139
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
children: [/* @__PURE__ */ jsxRuntime.jsx(ButtonIconTooltip.default, {
|
|
140
140
|
id: setId.setId(id, "firstPage-button"),
|
|
141
141
|
"aria-label": labels == null ? void 0 : labels.firstPage,
|
|
142
|
-
className:
|
|
142
|
+
className: classes.iconContainer,
|
|
143
143
|
disabled: !canPrevious,
|
|
144
144
|
onClick: () => changePage(0),
|
|
145
145
|
tooltip: labels == null ? void 0 : labels.paginationFirstPageTitle,
|
|
146
146
|
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Start, {
|
|
147
|
-
className:
|
|
147
|
+
className: classes.icon,
|
|
148
148
|
color: utils.setColor(!canPrevious)
|
|
149
149
|
})
|
|
150
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(
|
|
150
|
+
}), /* @__PURE__ */ jsxRuntime.jsx(ButtonIconTooltip.default, {
|
|
151
151
|
id: setId.setId(id, "previousPage-button"),
|
|
152
152
|
"aria-label": labels == null ? void 0 : labels.previousPage,
|
|
153
|
-
className:
|
|
153
|
+
className: classes.iconContainer,
|
|
154
154
|
disabled: !canPrevious,
|
|
155
155
|
onClick: () => changePage(page - 1),
|
|
156
156
|
tooltip: labels == null ? void 0 : labels.paginationPreviousPageTitle,
|
|
157
157
|
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Backwards, {
|
|
158
|
-
className:
|
|
158
|
+
className: classes.icon,
|
|
159
159
|
color: utils.setColor(!canPrevious)
|
|
160
160
|
})
|
|
161
|
-
}), /* @__PURE__ */ jsxRuntime.jsxs(
|
|
162
|
-
className:
|
|
161
|
+
}), /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
162
|
+
className: classes.pageInfo,
|
|
163
163
|
children: [showPageJump ? renderPageJump() : /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
164
164
|
component: "span",
|
|
165
165
|
children: `${page + 1}`
|
|
@@ -167,35 +167,36 @@ const HvPagination = ({
|
|
|
167
167
|
component: "span",
|
|
168
168
|
children: `${labels == null ? void 0 : labels.pagesSeparator} `
|
|
169
169
|
}), /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
170
|
-
id: setId.setId(id, "totalPages"),
|
|
171
170
|
component: "span",
|
|
171
|
+
id: setId.setId(id, "totalPages"),
|
|
172
172
|
children: pages
|
|
173
173
|
})]
|
|
174
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(
|
|
174
|
+
}), /* @__PURE__ */ jsxRuntime.jsx(ButtonIconTooltip.default, {
|
|
175
175
|
id: setId.setId(id, "nextPage-button"),
|
|
176
176
|
"aria-label": labels == null ? void 0 : labels.nextPage,
|
|
177
|
-
className:
|
|
177
|
+
className: classes.iconContainer,
|
|
178
178
|
disabled: !canNext,
|
|
179
179
|
onClick: () => changePage(page + 1),
|
|
180
180
|
tooltip: labels == null ? void 0 : labels.paginationNextPageTitle,
|
|
181
181
|
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Forwards, {
|
|
182
|
-
className:
|
|
182
|
+
className: classes.icon,
|
|
183
183
|
color: utils.setColor(!canNext)
|
|
184
184
|
})
|
|
185
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(
|
|
185
|
+
}), /* @__PURE__ */ jsxRuntime.jsx(ButtonIconTooltip.default, {
|
|
186
186
|
id: setId.setId(id, "lastPage-button"),
|
|
187
187
|
"aria-label": labels == null ? void 0 : labels.lastPage,
|
|
188
|
-
className:
|
|
188
|
+
className: classes.iconContainer,
|
|
189
189
|
disabled: !canNext,
|
|
190
190
|
onClick: () => changePage(pages - 1),
|
|
191
191
|
tooltip: labels == null ? void 0 : labels.paginationLastPageTitle,
|
|
192
192
|
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.End, {
|
|
193
|
-
className:
|
|
193
|
+
className: classes.icon,
|
|
194
194
|
color: utils.setColor(!canNext)
|
|
195
195
|
})
|
|
196
196
|
})]
|
|
197
197
|
})]
|
|
198
198
|
});
|
|
199
199
|
};
|
|
200
|
+
exports.paginationClasses = Pagination_styles.staticClasses;
|
|
200
201
|
exports.HvPagination = HvPagination;
|
|
201
202
|
//# sourceMappingURL=Pagination.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.cjs","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { HTMLAttributes, useCallback, useEffect } from \"react\";\nimport { clsx } from \"clsx\";\nimport { Hidden } from \"@mui/material\";\nimport { HvInput, HvInputProps, HvTypography } from \"@core/components\";\nimport {\n Start,\n End,\n Backwards,\n Forwards,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"@core/types\";\nimport { isKeypress, keyboardCodes, setId } from \"@core/utils\";\nimport { useLabels } from \"@core/hooks\";\nimport { Option } from \"./Select\";\nimport {\n StyledRoot,\n StyledPageSizeOptions,\n StyledPageSizePrev,\n StyledSelect,\n StyledPageSizeTextContainer,\n StyledPageNavigator,\n StyledButtonIconTooltip,\n StyledPageJump,\n StyledPageInfo,\n} from \"./Pagination.styles\";\nimport paginationClasses, { HvPaginationClasses } from \"./paginationClasses\";\nimport { usePageInput, getSafePage, setColor } from \"./utils\";\n\nexport interface HvPaginationLabels {\n /** The show label. */\n pageSizePrev?: string;\n /** Indicate the units of the page size selection. */\n pageSizeEntryName?: string;\n /** Used for the aria-label of the selection of number of unit.s */\n pageSizeSelectorDescription?: string;\n /** Separator of current page and total pages. */\n pagesSeparator?: string;\n /** Title of button `firstPage`. */\n paginationFirstPageTitle?: string;\n /** Title of button `previousPage`. */\n paginationPreviousPageTitle?: string;\n /** Title of button `nextPage`. */\n paginationNextPageTitle?: string;\n /** Title of button `lastPage`. */\n paginationLastPageTitle?: string;\n /** Aria-label passed to the page input. */\n paginationInputLabel?: string;\n /** Aria-label of the first page button */\n firstPage?: string;\n /** Aria-label of the previous page button */\n previousPage?: string;\n /** Aria-label of the next page button */\n nextPage?: string;\n /** Aria-label of the last page button */\n lastPage?: string;\n}\n\nexport interface HvPaginationProps extends HvBaseProps {\n /** The number of pages the component has. */\n pages?: number;\n /** The currently selected page (0-indexed). */\n page?: number;\n /** Controls whether the left page size mechanism should be visible. */\n showPageSizeOptions?: boolean;\n /** The array of possible page sizes for the dropdown. */\n pageSizeOptions?: number[];\n /** The currently selected page size. */\n pageSize?: number;\n /** Controls whether the central page changing mechanism should be visible. */\n showPageJump?: boolean;\n /** Controls whether the previous/first page buttons are enabled. */\n canPrevious?: boolean;\n /** Controls whether the next/last page buttons are enabled. */\n canNext?: boolean;\n /** Function called when the page changes. */\n onPageChange?: (page: number) => void;\n /** Function called when the page size changes. */\n onPageSizeChange?: (pageSize: number) => void;\n /** An object containing all the labels for the component. */\n labels?: HvPaginationLabels;\n /** Other props to show page component. */\n showPageProps?: HTMLAttributes<HTMLDivElement>;\n /** Other props to pagination component. */\n navigationProps?: HTMLAttributes<HTMLDivElement>;\n /** Extra properties passed to the input component representing the current pages. */\n currentPageInputProps?: HvInputProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvPaginationClasses;\n}\n\nconst DEFAULT_LABELS = {\n pageSizePrev: \"Show\",\n pageSizeEntryName: \"rows\",\n pageSizeSelectorDescription: \"Select how many to display\",\n pagesSeparator: \"/\",\n paginationFirstPageTitle: \"First page\",\n paginationPreviousPageTitle: \"Previous page\",\n paginationNextPageTitle: \"Next page\",\n paginationLastPageTitle: \"Last page\",\n paginationInputLabel: \"Current page\",\n firstPage: \"First Page\",\n previousPage: \"Previous Page\",\n nextPage: \"Next Page\",\n lastPage: \"Last Page\",\n};\n\nconst { Enter } = keyboardCodes;\n\n/**\n * Pagination is the process of dividing a document into discrete pages. It relates to how users interact\n * with structured content on a website or application.\n */\nexport const HvPagination = ({\n classes,\n className,\n id,\n pages = 1,\n page = 0,\n showPageSizeOptions = true,\n pageSizeOptions = [5, 10, 20, 25, 50, 100],\n pageSize = 1,\n showPageJump = true,\n canPrevious = false,\n canNext = false,\n onPageChange,\n onPageSizeChange,\n labels: labelsProp,\n showPageProps,\n navigationProps,\n currentPageInputProps,\n ...others\n}: HvPaginationProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const [pageInput, handleInputChange] = usePageInput(page);\n\n const changePage = useCallback(\n (newPage) => {\n const safePage: number = getSafePage(newPage, page, pages);\n\n onPageChange?.(safePage);\n handleInputChange(null, safePage + 1);\n },\n [page, pages, onPageChange, handleInputChange]\n );\n\n useEffect(() => {\n if (page >= pages && pages > 0) {\n changePage(page);\n }\n }, [changePage, page, pages]);\n\n useEffect(() => {\n if (pageInput !== page + 1) {\n handleInputChange(null, page + 1);\n }\n\n // we only want to \"fix\" the input's display value when `page` property changed\n // (either externally or when internally committed - onBlur or Enter),\n // not while editing the input.\n // breaking a rule of hooks isn't ideal and it's just a hack for fixing\n // a bug preventing properly controlling of the `page` property.\n // fixing it some other way would potentially introduce a breaking change.\n }, [handleInputChange, page]);\n\n const renderPageJump = () => (\n <StyledPageJump\n className={clsx(paginationClasses.pageJump, classes?.pageJump)}\n >\n <HvInput\n id={setId(id, \"currentPage\")}\n labels={labels}\n inputProps={{\n \"aria-label\": labels?.paginationInputLabel,\n // We really want the native number input\n type: \"number\",\n }}\n classes={{\n root: clsx(\n paginationClasses.pageSizeInputContainer,\n classes?.pageSizeInputContainer\n ),\n input: clsx(paginationClasses.pageSizeInput, classes?.pageSizeInput),\n inputRoot: clsx(\n paginationClasses.pageSizeInputRoot,\n classes?.pageSizeInputRoot\n ),\n }}\n onChange={(event, value) => handleInputChange(event, Number(value))}\n value={String(pageInput)}\n onBlur={(evt, value) => changePage(Number(value) - 1)}\n onKeyDown={(evt, value) =>\n isKeypress(evt, Enter) && changePage(Number(value) - 1)\n }\n disabled={pageSize === 0}\n disableClear\n {...currentPageInputProps}\n />\n </StyledPageJump>\n );\n\n return (\n <StyledRoot\n id={id}\n className={clsx(className, paginationClasses.root, classes?.root)}\n {...others}\n >\n <StyledPageSizeOptions\n className={clsx(\n paginationClasses.pageSizeOptions,\n classes?.pageSizeOptions\n )}\n {...showPageProps}\n >\n {showPageSizeOptions && (\n <>\n <Hidden xsDown>\n <StyledPageSizePrev\n className={clsx(\n paginationClasses.pageSizeTextContainer,\n classes?.pageSizeTextContainer\n )}\n >\n <HvTypography component=\"span\">\n {labels?.pageSizePrev}\n </HvTypography>\n </StyledPageSizePrev>\n </Hidden>\n <StyledSelect\n id={setId(id, \"pageSize\")}\n disabled={pageSize === 0}\n className={clsx(\n paginationClasses.pageSizeOptionsSelect,\n classes?.pageSizeOptionsSelect\n )}\n aria-label={labels?.pageSizeSelectorDescription}\n onChange={(_, val: number) => onPageSizeChange?.(val)}\n value={pageSize}\n >\n {pageSizeOptions.map((option) => (\n <Option key={option} value={option}>\n {option}\n </Option>\n ))}\n </StyledSelect>\n <Hidden xsDown>\n <StyledPageSizeTextContainer\n className={clsx(\n paginationClasses.pageSizeTextContainer,\n classes?.pageSizeTextContainer\n )}\n >\n <HvTypography component=\"span\">\n {labels?.pageSizeEntryName}\n </HvTypography>\n </StyledPageSizeTextContainer>\n </Hidden>\n </>\n )}\n </StyledPageSizeOptions>\n <StyledPageNavigator\n className={clsx(\n paginationClasses.pageNavigator,\n classes?.pageNavigator\n )}\n {...navigationProps}\n >\n <StyledButtonIconTooltip\n id={setId(id, \"firstPage-button\")}\n aria-label={labels?.firstPage}\n className={clsx(\n paginationClasses.iconContainer,\n classes?.iconContainer\n )}\n disabled={!canPrevious}\n onClick={() => changePage(0)}\n tooltip={labels?.paginationFirstPageTitle}\n >\n <Start\n className={clsx(paginationClasses.icon, classes?.icon)}\n color={setColor(!canPrevious)}\n />\n </StyledButtonIconTooltip>\n <StyledButtonIconTooltip\n id={setId(id, \"previousPage-button\")}\n aria-label={labels?.previousPage}\n className={clsx(\n paginationClasses.iconContainer,\n classes?.iconContainer\n )}\n disabled={!canPrevious}\n onClick={() => changePage(page - 1)}\n tooltip={labels?.paginationPreviousPageTitle}\n >\n <Backwards\n className={clsx(paginationClasses.icon, classes?.icon)}\n color={setColor(!canPrevious)}\n />\n </StyledButtonIconTooltip>\n <StyledPageInfo\n className={clsx(paginationClasses.pageInfo, classes?.pageInfo)}\n >\n {showPageJump ? (\n renderPageJump()\n ) : (\n <HvTypography component=\"span\">{`${page + 1}`}</HvTypography>\n )}\n <HvTypography component=\"span\">{`${labels?.pagesSeparator} `}</HvTypography>\n <HvTypography id={setId(id, \"totalPages\")} component=\"span\">\n {pages}\n </HvTypography>\n </StyledPageInfo>\n <StyledButtonIconTooltip\n id={setId(id, \"nextPage-button\")}\n aria-label={labels?.nextPage}\n className={clsx(\n paginationClasses.iconContainer,\n classes?.iconContainer\n )}\n disabled={!canNext}\n onClick={() => changePage(page + 1)}\n tooltip={labels?.paginationNextPageTitle}\n >\n <Forwards\n className={clsx(paginationClasses.icon, classes?.icon)}\n color={setColor(!canNext)}\n />\n </StyledButtonIconTooltip>\n <StyledButtonIconTooltip\n id={setId(id, \"lastPage-button\")}\n aria-label={labels?.lastPage}\n className={clsx(\n paginationClasses.iconContainer,\n classes?.iconContainer\n )}\n disabled={!canNext}\n onClick={() => changePage(pages - 1)}\n tooltip={labels?.paginationLastPageTitle}\n >\n <End\n className={clsx(paginationClasses.icon, classes?.icon)}\n color={setColor(!canNext)}\n />\n </StyledButtonIconTooltip>\n </StyledPageNavigator>\n </StyledRoot>\n );\n};\n"],"names":["DEFAULT_LABELS","pageSizePrev","pageSizeEntryName","pageSizeSelectorDescription","pagesSeparator","paginationFirstPageTitle","paginationPreviousPageTitle","paginationNextPageTitle","paginationLastPageTitle","paginationInputLabel","firstPage","previousPage","nextPage","lastPage","Enter","keyboardCodes","HvPagination","classes","className","id","pages","page","showPageSizeOptions","pageSizeOptions","pageSize","showPageJump","canPrevious","canNext","onPageChange","onPageSizeChange","labels","labelsProp","showPageProps","navigationProps","currentPageInputProps","others","useLabels","pageInput","handleInputChange","usePageInput","changePage","useCallback","newPage","safePage","getSafePage","useEffect","renderPageJump","_jsx","StyledPageJump","clsx","paginationClasses","pageJump","children","HvInput","setId","inputProps","type","root","pageSizeInputContainer","input","pageSizeInput","inputRoot","pageSizeInputRoot","onChange","event","value","Number","String","onBlur","evt","onKeyDown","isKeypress","disabled","disableClear","StyledRoot","StyledPageSizeOptions","_jsxs","_Fragment","Hidden","xsDown","StyledPageSizePrev","pageSizeTextContainer","HvTypography","component","StyledSelect","pageSizeOptionsSelect","_","val","map","option","Option","StyledPageSizeTextContainer","StyledPageNavigator","pageNavigator","StyledButtonIconTooltip","iconContainer","onClick","tooltip","Start","icon","color","setColor","Backwards","StyledPageInfo","pageInfo","Forwards","End"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.cjs","sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import { HTMLAttributes, useCallback, useEffect } from \"react\";\nimport { Hidden } from \"@mui/material\";\nimport { HvInput, HvInputProps, HvTypography } from \"@core/components\";\nimport {\n Start,\n End,\n Backwards,\n Forwards,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"@core/types\";\nimport { ExtractNames, isKeypress, keyboardCodes, setId } from \"@core/utils\";\nimport { useLabels } from \"@core/hooks\";\nimport HvSelect, { Option } from \"./Select\";\nimport { staticClasses, useClasses } from \"./Pagination.styles\";\nimport { usePageInput, getSafePage, setColor } from \"./utils\";\nimport ButtonIconTooltip from \"./ButtonIconTooltip\";\n\nexport { staticClasses as paginationClasses };\n\nexport type HvPaginationClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvPaginationLabels {\n /** The show label. */\n pageSizePrev?: string;\n /** Indicate the units of the page size selection. */\n pageSizeEntryName?: string;\n /** Used for the aria-label of the selection of number of unit.s */\n pageSizeSelectorDescription?: string;\n /** Separator of current page and total pages. */\n pagesSeparator?: string;\n /** Title of button `firstPage`. */\n paginationFirstPageTitle?: string;\n /** Title of button `previousPage`. */\n paginationPreviousPageTitle?: string;\n /** Title of button `nextPage`. */\n paginationNextPageTitle?: string;\n /** Title of button `lastPage`. */\n paginationLastPageTitle?: string;\n /** Aria-label passed to the page input. */\n paginationInputLabel?: string;\n /** Aria-label of the first page button */\n firstPage?: string;\n /** Aria-label of the previous page button */\n previousPage?: string;\n /** Aria-label of the next page button */\n nextPage?: string;\n /** Aria-label of the last page button */\n lastPage?: string;\n}\n\nexport interface HvPaginationProps extends HvBaseProps {\n /** The number of pages the component has. */\n pages?: number;\n /** The currently selected page (0-indexed). */\n page?: number;\n /** Controls whether the left page size mechanism should be visible. */\n showPageSizeOptions?: boolean;\n /** The array of possible page sizes for the dropdown. */\n pageSizeOptions?: number[];\n /** The currently selected page size. */\n pageSize?: number;\n /** Controls whether the central page changing mechanism should be visible. */\n showPageJump?: boolean;\n /** Controls whether the previous/first page buttons are enabled. */\n canPrevious?: boolean;\n /** Controls whether the next/last page buttons are enabled. */\n canNext?: boolean;\n /** Function called when the page changes. */\n onPageChange?: (page: number) => void;\n /** Function called when the page size changes. */\n onPageSizeChange?: (pageSize: number) => void;\n /** An object containing all the labels for the component. */\n labels?: HvPaginationLabels;\n /** Other props to show page component. */\n showPageProps?: HTMLAttributes<HTMLDivElement>;\n /** Other props to pagination component. */\n navigationProps?: HTMLAttributes<HTMLDivElement>;\n /** Extra properties passed to the input component representing the current pages. */\n currentPageInputProps?: HvInputProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: Partial<HvPaginationClasses>;\n}\n\nconst DEFAULT_LABELS = {\n pageSizePrev: \"Show\",\n pageSizeEntryName: \"rows\",\n pageSizeSelectorDescription: \"Select how many to display\",\n pagesSeparator: \"/\",\n paginationFirstPageTitle: \"First page\",\n paginationPreviousPageTitle: \"Previous page\",\n paginationNextPageTitle: \"Next page\",\n paginationLastPageTitle: \"Last page\",\n paginationInputLabel: \"Current page\",\n firstPage: \"First Page\",\n previousPage: \"Previous Page\",\n nextPage: \"Next Page\",\n lastPage: \"Last Page\",\n};\n\nconst { Enter } = keyboardCodes;\n\nconst defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];\n\n/**\n * Pagination is the process of dividing a document into discrete pages. It relates to how users interact\n * with structured content on a website or application.\n */\nexport const HvPagination = ({\n classes: classesProp = {},\n className,\n id,\n pages = 1,\n page = 0,\n showPageSizeOptions = true,\n pageSizeOptions = defaultPageSizeOptions,\n pageSize = defaultPageSizeOptions[1],\n showPageJump = true,\n canPrevious = false,\n canNext = false,\n onPageChange,\n onPageSizeChange,\n labels: labelsProp,\n showPageProps,\n navigationProps,\n currentPageInputProps,\n ...others\n}: HvPaginationProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const [pageInput, handleInputChange] = usePageInput(page);\n const { classes, cx } = useClasses(classesProp);\n\n const changePage = useCallback(\n (newPage: number) => {\n const safePage: number = getSafePage(newPage, page, pages);\n\n onPageChange?.(safePage);\n handleInputChange(null, safePage + 1);\n },\n [page, pages, onPageChange, handleInputChange]\n );\n\n useEffect(() => {\n if (page >= pages && pages > 0) {\n changePage(page);\n }\n }, [changePage, page, pages]);\n\n useEffect(() => {\n if (pageInput !== page + 1) {\n handleInputChange(null, page + 1);\n }\n\n // we only want to \"fix\" the input's display value when `page` property changed\n // (either externally or when internally committed - onBlur or Enter),\n // not while editing the input.\n // breaking a rule of hooks isn't ideal and it's just a hack for fixing\n // a bug preventing properly controlling of the `page` property.\n // fixing it some other way would potentially introduce a breaking change.\n }, [handleInputChange, page]);\n\n const renderPageJump = () => (\n <div className={classes.pageJump}>\n <HvInput\n id={setId(id, \"currentPage\")}\n labels={labels}\n inputProps={{\n \"aria-label\": labels?.paginationInputLabel,\n // We really want the native number input\n type: \"number\",\n }}\n classes={{\n root: classes?.pageSizeInputContainer,\n input: classes?.pageSizeInput,\n inputRoot: classes?.pageSizeInputRoot,\n }}\n onChange={(event, value) => handleInputChange(event, Number(value))}\n value={String(pageInput)}\n onBlur={(evt, value) => changePage(Number(value) - 1)}\n onKeyDown={(evt, value) =>\n isKeypress(evt, Enter) && changePage(Number(value) - 1)\n }\n disabled={pageSize === 0}\n disableClear\n {...currentPageInputProps}\n />\n </div>\n );\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n <div className={classes.pageSizeOptions} {...showPageProps}>\n {showPageSizeOptions && (\n <>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes?.pageSizeTextContainer}\n >\n {labels?.pageSizePrev}\n </HvTypography>\n </Hidden>\n <HvSelect\n id={setId(id, \"pageSize\")}\n disabled={pageSize === 0}\n className={classes.pageSizeOptionsSelect}\n aria-label={labels?.pageSizeSelectorDescription}\n onChange={(_, val: number) => onPageSizeChange?.(val)}\n value={pageSize}\n >\n {pageSizeOptions.map((option) => (\n <Option key={option} value={option}>\n {option}\n </Option>\n ))}\n </HvSelect>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes.pageSizeTextContainer}\n >\n {labels?.pageSizeEntryName}\n </HvTypography>\n </Hidden>\n </>\n )}\n </div>\n <div className={classes.pageNavigator} {...navigationProps}>\n <ButtonIconTooltip\n id={setId(id, \"firstPage-button\")}\n aria-label={labels?.firstPage}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(0)}\n tooltip={labels?.paginationFirstPageTitle}\n >\n <Start className={classes.icon} color={setColor(!canPrevious)} />\n </ButtonIconTooltip>\n <ButtonIconTooltip\n id={setId(id, \"previousPage-button\")}\n aria-label={labels?.previousPage}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(page - 1)}\n tooltip={labels?.paginationPreviousPageTitle}\n >\n <Backwards className={classes.icon} color={setColor(!canPrevious)} />\n </ButtonIconTooltip>\n <div className={classes.pageInfo}>\n {showPageJump ? (\n renderPageJump()\n ) : (\n <HvTypography component=\"span\">{`${page + 1}`}</HvTypography>\n )}\n <HvTypography component=\"span\">{`${labels?.pagesSeparator} `}</HvTypography>\n <HvTypography component=\"span\" id={setId(id, \"totalPages\")}>\n {pages}\n </HvTypography>\n </div>\n <ButtonIconTooltip\n id={setId(id, \"nextPage-button\")}\n aria-label={labels?.nextPage}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(page + 1)}\n tooltip={labels?.paginationNextPageTitle}\n >\n <Forwards className={classes.icon} color={setColor(!canNext)} />\n </ButtonIconTooltip>\n <ButtonIconTooltip\n id={setId(id, \"lastPage-button\")}\n aria-label={labels?.lastPage}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(pages - 1)}\n tooltip={labels?.paginationLastPageTitle}\n >\n <End className={classes.icon} color={setColor(!canNext)} />\n </ButtonIconTooltip>\n </div>\n </div>\n );\n};\n"],"names":["DEFAULT_LABELS","pageSizePrev","pageSizeEntryName","pageSizeSelectorDescription","pagesSeparator","paginationFirstPageTitle","paginationPreviousPageTitle","paginationNextPageTitle","paginationLastPageTitle","paginationInputLabel","firstPage","previousPage","nextPage","lastPage","Enter","keyboardCodes","defaultPageSizeOptions","HvPagination","classes","classesProp","className","id","pages","page","showPageSizeOptions","pageSizeOptions","pageSize","showPageJump","canPrevious","canNext","onPageChange","onPageSizeChange","labels","labelsProp","showPageProps","navigationProps","currentPageInputProps","others","useLabels","pageInput","handleInputChange","usePageInput","cx","useClasses","changePage","useCallback","newPage","safePage","getSafePage","useEffect","renderPageJump","_jsx","pageJump","children","HvInput","setId","inputProps","type","root","pageSizeInputContainer","input","pageSizeInput","inputRoot","pageSizeInputRoot","onChange","event","value","Number","String","onBlur","evt","onKeyDown","isKeypress","disabled","disableClear","_jsxs","_Fragment","Hidden","xsDown","HvTypography","component","pageSizeTextContainer","HvSelect","pageSizeOptionsSelect","_","val","map","option","Option","pageNavigator","ButtonIconTooltip","iconContainer","onClick","tooltip","Start","icon","color","setColor","Backwards","pageInfo","Forwards","End"],"mappings":"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"}
|