@hitachivantara/uikit-react-core 5.106.2 → 5.108.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/ActionBar/ActionBar.styles.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs +22 -41
- package/dist/cjs/Pagination/Pagination.styles.cjs +36 -50
- package/dist/cjs/SearchInput/SearchInput.styles.cjs +1 -2
- package/dist/cjs/Select/Select.cjs +3 -2
- package/dist/cjs/StatusIcon/StatusIcon.cjs +3 -3
- package/dist/cjs/providers/ThemeProvider.cjs +2 -2
- package/dist/cjs/themes/ds3.cjs +13 -24
- package/dist/cjs/themes/pentahoPlus.cjs +35 -0
- package/dist/esm/ActionBar/ActionBar.styles.js +1 -1
- package/dist/esm/Pagination/Pagination.js +22 -41
- package/dist/esm/Pagination/Pagination.styles.js +38 -52
- package/dist/esm/SearchInput/SearchInput.styles.js +1 -2
- package/dist/esm/Select/Select.js +3 -2
- package/dist/esm/StatusIcon/StatusIcon.js +3 -3
- package/dist/esm/providers/ThemeProvider.js +2 -2
- package/dist/esm/themes/ds3.js +13 -24
- package/dist/esm/themes/pentahoPlus.js +35 -0
- package/dist/types/index.d.ts +80 -76
- package/package.json +8 -8
|
@@ -6,7 +6,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvActionBar
|
|
|
6
6
|
root: {
|
|
7
7
|
width: "100%",
|
|
8
8
|
padding: uikitStyles.theme.space.sm,
|
|
9
|
-
borderTop: `1px solid ${uikitStyles.theme.colors.
|
|
9
|
+
borderTop: `1px solid ${uikitStyles.theme.colors.borderSubtle}`,
|
|
10
10
|
display: "flex",
|
|
11
11
|
alignItems: "center",
|
|
12
12
|
justifyContent: "flex-end"
|
|
@@ -10,9 +10,9 @@ const icons = require("../icons.cjs");
|
|
|
10
10
|
const setId = require("../utils/setId.cjs");
|
|
11
11
|
const Pagination_styles = require("./Pagination.styles.cjs");
|
|
12
12
|
const Select = require("./Select.cjs");
|
|
13
|
-
const Typography = require("../Typography/Typography.cjs");
|
|
14
13
|
const IconButton = require("../IconButton/IconButton.cjs");
|
|
15
|
-
const
|
|
14
|
+
const Typography = require("../Typography/Typography.cjs");
|
|
15
|
+
const BaseInput = require("../BaseInput/BaseInput.cjs");
|
|
16
16
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
17
17
|
const useMediaQuery__default = /* @__PURE__ */ _interopDefault(useMediaQuery);
|
|
18
18
|
const defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];
|
|
@@ -86,64 +86,53 @@ const HvPagination = React.forwardRef(function HvPagination2(props, ref) {
|
|
|
86
86
|
React.useEffect(() => {
|
|
87
87
|
setPageInput(page);
|
|
88
88
|
}, [page]);
|
|
89
|
-
const renderPageJump = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
-
|
|
89
|
+
const renderPageJump = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
BaseInput.HvBaseInput,
|
|
91
91
|
{
|
|
92
92
|
id: setId.setId(id, "currentPage"),
|
|
93
|
-
labels,
|
|
94
93
|
inputProps: {
|
|
95
94
|
"aria-label": labels?.paginationInputLabel,
|
|
96
95
|
// We really want the native number input
|
|
97
96
|
type: "number"
|
|
98
97
|
},
|
|
99
98
|
classes: {
|
|
100
|
-
root:
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
root: cx(
|
|
100
|
+
classes.pageJump,
|
|
101
|
+
classes.pageSizeInputRoot,
|
|
102
|
+
classes.pageSizeInputContainer
|
|
103
|
+
),
|
|
104
|
+
input: classes.pageSizeInput
|
|
103
105
|
},
|
|
104
106
|
value: String(pageInput + 1),
|
|
105
107
|
onChange: (event, value) => setPageInput(Number(value) - 1),
|
|
106
|
-
onBlur: (evt
|
|
107
|
-
|
|
108
|
+
onBlur: (evt) => changePage(Math.round(Number(evt.target.value)) - 1),
|
|
109
|
+
onKeyDown: (evt) => {
|
|
110
|
+
if (evt.key !== "Enter") return;
|
|
111
|
+
changePage(Math.round(Number(evt.currentTarget.value)) - 1);
|
|
112
|
+
},
|
|
108
113
|
disabled: pageSize === 0,
|
|
109
|
-
disableClear: true,
|
|
110
114
|
...currentPageInputProps
|
|
111
115
|
}
|
|
112
|
-
)
|
|
116
|
+
);
|
|
113
117
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, id, className: cx(classes.root, className), ...others, children: [
|
|
114
118
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.pageSizeOptions, ...showPageProps, children: showPageSizeOptions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
115
|
-
!isXsDown && /* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
-
Typography.HvTypography,
|
|
117
|
-
{
|
|
118
|
-
component: "span",
|
|
119
|
-
className: classes?.pageSizeTextContainer,
|
|
120
|
-
children: labels?.pageSizePrev
|
|
121
|
-
}
|
|
122
|
-
),
|
|
119
|
+
!isXsDown && /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes?.pageSizeTextContainer, children: labels?.pageSizePrev }),
|
|
123
120
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
124
121
|
Select.default,
|
|
125
122
|
{
|
|
126
123
|
id: setId.setId(id, "pageSize"),
|
|
127
124
|
disabled: pageSize === 0,
|
|
128
|
-
className: classes.pageSizeOptionsSelect,
|
|
129
125
|
"aria-label": labels?.pageSizeSelectorDescription,
|
|
130
|
-
onChange: (
|
|
126
|
+
onChange: (evt, val) => onPageSizeChange?.(val),
|
|
131
127
|
value: pageSize,
|
|
132
128
|
classes: {
|
|
133
129
|
header: classes.pageSizeHeader,
|
|
134
|
-
root: classes.pageSizeRoot
|
|
130
|
+
root: cx(classes.pageSizeOptionsSelect, classes.pageSizeRoot)
|
|
135
131
|
},
|
|
136
132
|
children: pageSizeOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsx(Select.Option, { value: option, children: option }, option))
|
|
137
133
|
}
|
|
138
134
|
),
|
|
139
|
-
!isXsDown && /* @__PURE__ */ jsxRuntime.jsx(
|
|
140
|
-
Typography.HvTypography,
|
|
141
|
-
{
|
|
142
|
-
component: "span",
|
|
143
|
-
className: classes.pageSizeTextContainer,
|
|
144
|
-
children: labels?.pageSizeEntryName
|
|
145
|
-
}
|
|
146
|
-
)
|
|
135
|
+
!isXsDown && /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.pageSizeTextContainer, children: labels?.pageSizeEntryName })
|
|
147
136
|
] }) }),
|
|
148
137
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.pageNavigator, ...navigationProps, children: [
|
|
149
138
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -169,17 +158,9 @@ const HvPagination = React.forwardRef(function HvPagination2(props, ref) {
|
|
|
169
158
|
}
|
|
170
159
|
),
|
|
171
160
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.pageInfo, children: [
|
|
172
|
-
showPageJump ? renderPageJump() : /* @__PURE__ */ jsxRuntime.jsx(
|
|
161
|
+
showPageJump ? renderPageJump() : /* @__PURE__ */ jsxRuntime.jsx("span", { children: `${page + 1}` }),
|
|
173
162
|
/* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, { component: "span", children: `${labels?.pagesSeparator} ` }),
|
|
174
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
-
Typography.HvTypography,
|
|
176
|
-
{
|
|
177
|
-
component: "span",
|
|
178
|
-
id: setId.setId(id, "totalPages"),
|
|
179
|
-
className: classes.totalPagesTextContainer,
|
|
180
|
-
children: pages
|
|
181
|
-
}
|
|
182
|
-
)
|
|
163
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.totalPagesTextContainer, children: pages })
|
|
183
164
|
] }),
|
|
184
165
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
185
166
|
IconButton.HvIconButton,
|
|
@@ -4,7 +4,6 @@ const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
|
|
|
4
4
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
5
|
const BaseDropdown_styles = require("../BaseDropdown/BaseDropdown.styles.cjs");
|
|
6
6
|
require("../BaseDropdown/BaseDropdown.cjs");
|
|
7
|
-
const Input_styles = require("../Input/Input.styles.cjs");
|
|
8
7
|
const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvPagination", {
|
|
9
8
|
/** Styles applied to the component root class. */
|
|
10
9
|
root: {
|
|
@@ -15,24 +14,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvPaginatio
|
|
|
15
14
|
alignItems: "stretch",
|
|
16
15
|
flexWrap: "wrap",
|
|
17
16
|
marginTop: uikitStyles.theme.space.sm,
|
|
18
|
-
|
|
19
|
-
...uikitStyles.theme.typography.caption2,
|
|
20
|
-
"&:focus": {
|
|
21
|
-
padding: 0
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
[`& $pageSizeInputContainer`]: {
|
|
25
|
-
width: 24,
|
|
26
|
-
minWidth: 24,
|
|
27
|
-
maxWidth: uikitStyles.theme.spacing(8)
|
|
28
|
-
},
|
|
29
|
-
[`&& $pageSizeInputRoot`]: {
|
|
30
|
-
backgroundColor: "transparent",
|
|
31
|
-
height: "24px",
|
|
32
|
-
"&:focus, &:focus-within, &:hover": {
|
|
33
|
-
backgroundColor: uikitStyles.theme.colors.bgHover
|
|
34
|
-
}
|
|
35
|
-
}
|
|
17
|
+
...uikitStyles.theme.typography.caption2
|
|
36
18
|
},
|
|
37
19
|
/** Styles applied to the page size selector container. */
|
|
38
20
|
pageSizeOptions: {
|
|
@@ -60,6 +42,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvPaginatio
|
|
|
60
42
|
}
|
|
61
43
|
},
|
|
62
44
|
pageSizeRoot: {
|
|
45
|
+
display: "inline-block",
|
|
63
46
|
width: "auto"
|
|
64
47
|
},
|
|
65
48
|
/** Styles applied to the element that holds the labels for the page size selector */
|
|
@@ -68,18 +51,12 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvPaginatio
|
|
|
68
51
|
alignItems: "center",
|
|
69
52
|
justifyContent: "center",
|
|
70
53
|
height: "24px",
|
|
71
|
-
padding: "8px 0"
|
|
72
|
-
...uikitStyles.theme.typography.caption2
|
|
73
|
-
},
|
|
74
|
-
totalPagesTextContainer: {
|
|
75
|
-
...uikitStyles.theme.typography.caption2
|
|
76
|
-
},
|
|
77
|
-
/** Styles applied to the page size selector dropdown element. */
|
|
78
|
-
pageSizeOptionsSelect: {
|
|
79
|
-
display: "inline-block",
|
|
80
|
-
width: "auto",
|
|
81
|
-
...uikitStyles.theme.typography.caption2
|
|
54
|
+
padding: "8px 0"
|
|
82
55
|
},
|
|
56
|
+
/** @deprecated unused */
|
|
57
|
+
totalPagesTextContainer: {},
|
|
58
|
+
/** Styles applied to the page size selector dropdown element. @deprecated use `classes.pageSizeRoot` instead. */
|
|
59
|
+
pageSizeOptionsSelect: {},
|
|
83
60
|
/** Styles applied to the page navigation container. */
|
|
84
61
|
pageNavigator: {
|
|
85
62
|
display: "flex",
|
|
@@ -102,30 +79,39 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvPaginatio
|
|
|
102
79
|
},
|
|
103
80
|
/** Styles applied to the page selector input container. */
|
|
104
81
|
pageJump: {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
},
|
|
118
|
-
"&:hover": {
|
|
119
|
-
cursor: "pointer"
|
|
120
|
-
}
|
|
121
|
-
}
|
|
82
|
+
marginRight: 4,
|
|
83
|
+
width: 24,
|
|
84
|
+
minWidth: 24,
|
|
85
|
+
maxWidth: uikitStyles.theme.spacing(8),
|
|
86
|
+
backgroundColor: "transparent",
|
|
87
|
+
height: "24px",
|
|
88
|
+
"&:focus, &:focus-within, &:hover": {
|
|
89
|
+
backgroundColor: uikitStyles.theme.colors.bgHover
|
|
90
|
+
},
|
|
91
|
+
"&, & $pageSizeInput": {
|
|
92
|
+
fontSize: "inherit",
|
|
93
|
+
lineHeight: "inherit"
|
|
122
94
|
}
|
|
123
95
|
},
|
|
124
96
|
/** Styles passed down to the page selector Input component as `input`. */
|
|
125
|
-
pageSizeInput: {
|
|
126
|
-
|
|
97
|
+
pageSizeInput: {
|
|
98
|
+
paddingLeft: 4,
|
|
99
|
+
paddingRight: 4,
|
|
100
|
+
margin: 0,
|
|
101
|
+
textAlign: "center",
|
|
102
|
+
borderRadius: uikitStyles.theme.radii.base,
|
|
103
|
+
MozAppearance: "textfield",
|
|
104
|
+
"&:focus": {
|
|
105
|
+
padding: 0,
|
|
106
|
+
backgroundColor: uikitStyles.theme.colors.bgHover
|
|
107
|
+
},
|
|
108
|
+
"&:hover": {
|
|
109
|
+
cursor: "pointer"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
/** Styles passed down to the page selector Input root. @deprecated use `classes.pageJump` instead. */
|
|
127
113
|
pageSizeInputRoot: {},
|
|
128
|
-
/** Styles passed down to the page selector Input component as `container`. */
|
|
114
|
+
/** Styles passed down to the page selector Input component as `container`. @deprecated use `classes.pageJump` instead. */
|
|
129
115
|
pageSizeInputContainer: {}
|
|
130
116
|
});
|
|
131
117
|
exports.staticClasses = staticClasses;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
|
|
4
|
-
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
4
|
const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvSearchInput", {
|
|
6
|
-
root: {
|
|
5
|
+
root: {},
|
|
7
6
|
input: { marginLeft: 0 }
|
|
8
7
|
});
|
|
9
8
|
exports.staticClasses = staticClasses;
|
|
@@ -20,7 +20,6 @@ const ListContainer = require("../ListContainer/ListContainer.cjs");
|
|
|
20
20
|
const WarningText = require("../FormElement/WarningText/WarningText.cjs");
|
|
21
21
|
function defaultRenderValue(options) {
|
|
22
22
|
if (Array.isArray(options)) {
|
|
23
|
-
if (options.length === 0) return null;
|
|
24
23
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: options.map((o) => o.label).join(", ") });
|
|
25
24
|
}
|
|
26
25
|
return options?.label ?? null;
|
|
@@ -46,6 +45,7 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
|
|
|
46
45
|
defaultOpen,
|
|
47
46
|
multiple,
|
|
48
47
|
autoComplete,
|
|
48
|
+
renderValue: renderValueProp,
|
|
49
49
|
options: optionsProp,
|
|
50
50
|
variableWidth,
|
|
51
51
|
value: valueProp,
|
|
@@ -96,6 +96,7 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
|
|
|
96
96
|
onChange,
|
|
97
97
|
onOpenChange: handleOpenChange
|
|
98
98
|
});
|
|
99
|
+
const renderValue = renderValueProp ?? defaultRenderValue;
|
|
99
100
|
const id = useUniqueId.useUniqueId(idProp);
|
|
100
101
|
const labelId = useUniqueId.useUniqueId(setId.setId(idProp, "label"));
|
|
101
102
|
const descriptionId = useUniqueId.useUniqueId(setId.setId(idProp, "description"));
|
|
@@ -172,7 +173,7 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
|
|
|
172
173
|
[descriptionId]: description
|
|
173
174
|
}),
|
|
174
175
|
...getButtonProps(),
|
|
175
|
-
children:
|
|
176
|
+
children: renderValue(actualValue) ?? placeholder
|
|
176
177
|
}
|
|
177
178
|
),
|
|
178
179
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -56,8 +56,8 @@ const pentahoIconsMap = {
|
|
|
56
56
|
] })
|
|
57
57
|
},
|
|
58
58
|
info: {
|
|
59
|
-
regular: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "
|
|
60
|
-
fill: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,
|
|
59
|
+
regular: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z" }),
|
|
60
|
+
fill: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-4,48a12,12,0,1,1-12,12A12,12,0,0,1,124,72Zm12,112a16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40a8,8,0,0,1,0,16Z" }),
|
|
61
61
|
duotone: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
62
62
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
63
63
|
"path",
|
|
@@ -66,7 +66,7 @@ const pentahoIconsMap = {
|
|
|
66
66
|
opacity: "0.2"
|
|
67
67
|
}
|
|
68
68
|
),
|
|
69
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M144,176a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176Zm88-48A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128ZM124,96a12,12,0,1,0-12-12A12,12,0,0,0,124,96Z" })
|
|
70
70
|
] })
|
|
71
71
|
}
|
|
72
72
|
};
|
|
@@ -59,7 +59,7 @@ const HvThemeProvider = ({
|
|
|
59
59
|
]
|
|
60
60
|
);
|
|
61
61
|
const muiTheme = React.useMemo(() => {
|
|
62
|
-
const colors = activeTheme.colors.modes[
|
|
62
|
+
const colors = activeTheme.colors.modes[selectedMode];
|
|
63
63
|
return styles.createTheme({
|
|
64
64
|
spacing: activeTheme.space.base,
|
|
65
65
|
typography: {
|
|
@@ -99,7 +99,7 @@ const HvThemeProvider = ({
|
|
|
99
99
|
},
|
|
100
100
|
breakpoints: activeTheme.breakpoints
|
|
101
101
|
});
|
|
102
|
-
}, [activeTheme,
|
|
102
|
+
}, [activeTheme, selectedMode]);
|
|
103
103
|
const emotionCacheValue = React.useMemo(
|
|
104
104
|
() => ({ cache: emotionCache }),
|
|
105
105
|
[emotionCache]
|
package/dist/cjs/themes/ds3.cjs
CHANGED
|
@@ -786,20 +786,19 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
|
|
|
786
786
|
HvPagination: {
|
|
787
787
|
classes: {
|
|
788
788
|
root: {
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
[`& .HvPagination-pageSizeInputContainer`]: {
|
|
796
|
-
width: 40,
|
|
797
|
-
minWidth: 40
|
|
798
|
-
},
|
|
799
|
-
[`&& .HvPagination-pageSizeInputRoot`]: {
|
|
800
|
-
height: 32
|
|
789
|
+
...uikitStyles.theme.typography.body
|
|
790
|
+
},
|
|
791
|
+
pageSizeInput: {
|
|
792
|
+
...uikitStyles.theme.typography.label,
|
|
793
|
+
"&:focus": {
|
|
794
|
+
padding: "unset"
|
|
801
795
|
}
|
|
802
796
|
},
|
|
797
|
+
pageJump: {
|
|
798
|
+
width: 40,
|
|
799
|
+
minWidth: 40,
|
|
800
|
+
height: 32
|
|
801
|
+
},
|
|
803
802
|
icon: {
|
|
804
803
|
fontSize: 16
|
|
805
804
|
},
|
|
@@ -807,20 +806,10 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
|
|
|
807
806
|
height: 32
|
|
808
807
|
},
|
|
809
808
|
pageSizeHeader: {
|
|
810
|
-
height: "unset"
|
|
811
|
-
[`& .HvBaseDropdown-arrowContainer`]: {
|
|
812
|
-
marginTop: 0
|
|
813
|
-
}
|
|
809
|
+
height: "unset"
|
|
814
810
|
},
|
|
815
811
|
pageSizeTextContainer: {
|
|
816
|
-
height: 32
|
|
817
|
-
...uikitStyles.theme.typography.body
|
|
818
|
-
},
|
|
819
|
-
pageSizeOptionsSelect: {
|
|
820
|
-
...uikitStyles.theme.typography.body
|
|
821
|
-
},
|
|
822
|
-
totalPagesTextContainer: {
|
|
823
|
-
...uikitStyles.theme.typography.body
|
|
812
|
+
height: 32
|
|
824
813
|
},
|
|
825
814
|
pageNavigator: {
|
|
826
815
|
alignItems: "stretch"
|
|
@@ -15,12 +15,25 @@ const inputColors = {
|
|
|
15
15
|
bg: ld("#FFFFFF", "#020617")
|
|
16
16
|
};
|
|
17
17
|
const popperStyles = {
|
|
18
|
+
margin: uikitStyles.theme.spacing("xxs", 0),
|
|
18
19
|
backgroundColor: uikitStyles.theme.colors.bgContainer,
|
|
19
20
|
border: `1px solid ${uikitStyles.theme.colors.borderSubtle}`,
|
|
20
21
|
borderRadius: uikitStyles.theme.radii.large,
|
|
21
22
|
boxShadow: `0px 0px 6px 0px rgba(65, 65, 65, 0.08)`
|
|
22
23
|
};
|
|
23
24
|
const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
|
|
25
|
+
icons: {
|
|
26
|
+
viewBox: "0 0 256 256",
|
|
27
|
+
// Semantic icons
|
|
28
|
+
Success: "M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z",
|
|
29
|
+
Caution: "M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z",
|
|
30
|
+
Fail: "M128,72a8,8,0,0,1,8,8v56a8,8,0,0,1-16,0V80A8,8,0,0,1,128,72ZM116,172a12,12,0,1,0,12-12A12,12,0,0,0,116,172Zm124-44a15.85,15.85,0,0,1-4.67,11.28l-96.05,96.06a16,16,0,0,1-22.56,0h0l-96-96.06a16,16,0,0,1,0-22.56l96.05-96.06a16,16,0,0,1,22.56,0l96.05,96.06A15.85,15.85,0,0,1,240,128Zm-16,0L128,32,32,128,128,224h0Z",
|
|
31
|
+
Info: "M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z",
|
|
32
|
+
Start: "M205.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L131.31,128ZM51.31,128l74.35-74.34a8,8,0,0,0-11.32-11.32l-80,80a8,8,0,0,0,0,11.32l80,80a8,8,0,0,0,11.32-11.32Z",
|
|
33
|
+
Backwards: "M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z",
|
|
34
|
+
Forwards: "M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z",
|
|
35
|
+
End: "M141.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L124.69,128,50.34,53.66A8,8,0,0,1,61.66,42.34l80,80A8,8,0,0,1,141.66,133.66Zm80-11.32-80-80a8,8,0,0,0-11.32,11.32L204.69,128l-74.35,74.34a8,8,0,0,0,11.32,11.32l80-80A8,8,0,0,0,221.66,122.34Z"
|
|
36
|
+
},
|
|
24
37
|
components: {
|
|
25
38
|
HvLoading: {
|
|
26
39
|
classes: {
|
|
@@ -539,6 +552,16 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
|
|
|
539
552
|
}
|
|
540
553
|
}
|
|
541
554
|
},
|
|
555
|
+
HvPagination: {
|
|
556
|
+
classes: {
|
|
557
|
+
root: {
|
|
558
|
+
...uikitStyles.theme.typography.caption1
|
|
559
|
+
},
|
|
560
|
+
icon: {
|
|
561
|
+
fontSize: 16
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
},
|
|
542
565
|
HvHeader: {
|
|
543
566
|
classes: {
|
|
544
567
|
root: {
|
|
@@ -684,6 +707,9 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
|
|
|
684
707
|
display: "none"
|
|
685
708
|
}
|
|
686
709
|
},
|
|
710
|
+
"& .MuiCardContent-root:last-child": {
|
|
711
|
+
paddingBottom: 0
|
|
712
|
+
},
|
|
687
713
|
"& > :last-child:not(.HvCardMedia-root)": {
|
|
688
714
|
paddingBottom: uikitStyles.theme.space.sm
|
|
689
715
|
},
|
|
@@ -838,6 +864,15 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
|
|
|
838
864
|
borderRadius: uikitStyles.theme.radii.none
|
|
839
865
|
}
|
|
840
866
|
}
|
|
867
|
+
},
|
|
868
|
+
HvTooltip: {
|
|
869
|
+
classes: {
|
|
870
|
+
popper: {
|
|
871
|
+
"& .HvTooltip-tooltip": {
|
|
872
|
+
padding: uikitStyles.theme.spacing("xs", "sm")
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
}
|
|
841
876
|
}
|
|
842
877
|
}
|
|
843
878
|
});
|
|
@@ -4,7 +4,7 @@ const { staticClasses, useClasses } = createClasses("HvActionBar", {
|
|
|
4
4
|
root: {
|
|
5
5
|
width: "100%",
|
|
6
6
|
padding: theme.space.sm,
|
|
7
|
-
borderTop: `1px solid ${theme.colors.
|
|
7
|
+
borderTop: `1px solid ${theme.colors.borderSubtle}`,
|
|
8
8
|
display: "flex",
|
|
9
9
|
alignItems: "center",
|
|
10
10
|
justifyContent: "flex-end"
|
|
@@ -9,9 +9,9 @@ import { setId } from "../utils/setId.js";
|
|
|
9
9
|
import { useClasses } from "./Pagination.styles.js";
|
|
10
10
|
import { staticClasses } from "./Pagination.styles.js";
|
|
11
11
|
import HvSelect, { Option } from "./Select.js";
|
|
12
|
-
import { HvTypography } from "../Typography/Typography.js";
|
|
13
12
|
import { HvIconButton } from "../IconButton/IconButton.js";
|
|
14
|
-
import {
|
|
13
|
+
import { HvTypography } from "../Typography/Typography.js";
|
|
14
|
+
import { HvBaseInput } from "../BaseInput/BaseInput.js";
|
|
15
15
|
const defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];
|
|
16
16
|
const DEFAULT_LABELS = {
|
|
17
17
|
/** The show label. */
|
|
@@ -83,64 +83,53 @@ const HvPagination = forwardRef(function HvPagination2(props, ref) {
|
|
|
83
83
|
useEffect(() => {
|
|
84
84
|
setPageInput(page);
|
|
85
85
|
}, [page]);
|
|
86
|
-
const renderPageJump = () => /* @__PURE__ */ jsx(
|
|
87
|
-
|
|
86
|
+
const renderPageJump = () => /* @__PURE__ */ jsx(
|
|
87
|
+
HvBaseInput,
|
|
88
88
|
{
|
|
89
89
|
id: setId(id, "currentPage"),
|
|
90
|
-
labels,
|
|
91
90
|
inputProps: {
|
|
92
91
|
"aria-label": labels?.paginationInputLabel,
|
|
93
92
|
// We really want the native number input
|
|
94
93
|
type: "number"
|
|
95
94
|
},
|
|
96
95
|
classes: {
|
|
97
|
-
root:
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
root: cx(
|
|
97
|
+
classes.pageJump,
|
|
98
|
+
classes.pageSizeInputRoot,
|
|
99
|
+
classes.pageSizeInputContainer
|
|
100
|
+
),
|
|
101
|
+
input: classes.pageSizeInput
|
|
100
102
|
},
|
|
101
103
|
value: String(pageInput + 1),
|
|
102
104
|
onChange: (event, value) => setPageInput(Number(value) - 1),
|
|
103
|
-
onBlur: (evt
|
|
104
|
-
|
|
105
|
+
onBlur: (evt) => changePage(Math.round(Number(evt.target.value)) - 1),
|
|
106
|
+
onKeyDown: (evt) => {
|
|
107
|
+
if (evt.key !== "Enter") return;
|
|
108
|
+
changePage(Math.round(Number(evt.currentTarget.value)) - 1);
|
|
109
|
+
},
|
|
105
110
|
disabled: pageSize === 0,
|
|
106
|
-
disableClear: true,
|
|
107
111
|
...currentPageInputProps
|
|
108
112
|
}
|
|
109
|
-
)
|
|
113
|
+
);
|
|
110
114
|
return /* @__PURE__ */ jsxs("div", { ref, id, className: cx(classes.root, className), ...others, children: [
|
|
111
115
|
/* @__PURE__ */ jsx("div", { className: classes.pageSizeOptions, ...showPageProps, children: showPageSizeOptions && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
112
|
-
!isXsDown && /* @__PURE__ */ jsx(
|
|
113
|
-
HvTypography,
|
|
114
|
-
{
|
|
115
|
-
component: "span",
|
|
116
|
-
className: classes?.pageSizeTextContainer,
|
|
117
|
-
children: labels?.pageSizePrev
|
|
118
|
-
}
|
|
119
|
-
),
|
|
116
|
+
!isXsDown && /* @__PURE__ */ jsx("span", { className: classes?.pageSizeTextContainer, children: labels?.pageSizePrev }),
|
|
120
117
|
/* @__PURE__ */ jsx(
|
|
121
118
|
HvSelect,
|
|
122
119
|
{
|
|
123
120
|
id: setId(id, "pageSize"),
|
|
124
121
|
disabled: pageSize === 0,
|
|
125
|
-
className: classes.pageSizeOptionsSelect,
|
|
126
122
|
"aria-label": labels?.pageSizeSelectorDescription,
|
|
127
|
-
onChange: (
|
|
123
|
+
onChange: (evt, val) => onPageSizeChange?.(val),
|
|
128
124
|
value: pageSize,
|
|
129
125
|
classes: {
|
|
130
126
|
header: classes.pageSizeHeader,
|
|
131
|
-
root: classes.pageSizeRoot
|
|
127
|
+
root: cx(classes.pageSizeOptionsSelect, classes.pageSizeRoot)
|
|
132
128
|
},
|
|
133
129
|
children: pageSizeOptions.map((option) => /* @__PURE__ */ jsx(Option, { value: option, children: option }, option))
|
|
134
130
|
}
|
|
135
131
|
),
|
|
136
|
-
!isXsDown && /* @__PURE__ */ jsx(
|
|
137
|
-
HvTypography,
|
|
138
|
-
{
|
|
139
|
-
component: "span",
|
|
140
|
-
className: classes.pageSizeTextContainer,
|
|
141
|
-
children: labels?.pageSizeEntryName
|
|
142
|
-
}
|
|
143
|
-
)
|
|
132
|
+
!isXsDown && /* @__PURE__ */ jsx("span", { className: classes.pageSizeTextContainer, children: labels?.pageSizeEntryName })
|
|
144
133
|
] }) }),
|
|
145
134
|
/* @__PURE__ */ jsxs("div", { className: classes.pageNavigator, ...navigationProps, children: [
|
|
146
135
|
/* @__PURE__ */ jsx(
|
|
@@ -166,17 +155,9 @@ const HvPagination = forwardRef(function HvPagination2(props, ref) {
|
|
|
166
155
|
}
|
|
167
156
|
),
|
|
168
157
|
/* @__PURE__ */ jsxs("div", { className: classes.pageInfo, children: [
|
|
169
|
-
showPageJump ? renderPageJump() : /* @__PURE__ */ jsx(
|
|
158
|
+
showPageJump ? renderPageJump() : /* @__PURE__ */ jsx("span", { children: `${page + 1}` }),
|
|
170
159
|
/* @__PURE__ */ jsx(HvTypography, { component: "span", children: `${labels?.pagesSeparator} ` }),
|
|
171
|
-
/* @__PURE__ */ jsx(
|
|
172
|
-
HvTypography,
|
|
173
|
-
{
|
|
174
|
-
component: "span",
|
|
175
|
-
id: setId(id, "totalPages"),
|
|
176
|
-
className: classes.totalPagesTextContainer,
|
|
177
|
-
children: pages
|
|
178
|
-
}
|
|
179
|
-
)
|
|
160
|
+
/* @__PURE__ */ jsx("span", { className: classes.totalPagesTextContainer, children: pages })
|
|
180
161
|
] }),
|
|
181
162
|
/* @__PURE__ */ jsx(
|
|
182
163
|
HvIconButton,
|