@hitachivantara/uikit-react-core 5.63.0 → 5.63.2
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/AppSwitcher/Action/Action.cjs +1 -1
- package/dist/cjs/Avatar/Avatar.cjs +4 -1
- package/dist/cjs/AvatarGroup/AvatarGroup.cjs +95 -51
- package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +54 -4
- package/dist/cjs/AvatarGroup/AvatarGroupContext.cjs +19 -0
- package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +2 -2
- package/dist/cjs/Dialog/Dialog.cjs +0 -1
- package/dist/cjs/Drawer/Drawer.cjs +0 -5
- package/dist/cjs/FilterGroup/Counter/Counter.cjs +4 -6
- package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs +13 -17
- package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +1 -4
- package/dist/cjs/Input/Input.cjs +1 -3
- package/dist/cjs/List/List.cjs +25 -57
- package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +25 -20
- package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +24 -29
- package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +28 -66
- package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +3 -20
- package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +9 -22
- package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +8 -15
- package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +12 -7
- package/dist/cjs/providers/ThemeProvider.cjs +7 -0
- package/dist/esm/AppSwitcher/Action/Action.js +1 -1
- package/dist/esm/Avatar/Avatar.js +4 -1
- package/dist/esm/Avatar/Avatar.js.map +1 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js +97 -53
- package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/esm/AvatarGroup/AvatarGroup.styles.js +54 -4
- package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +1 -1
- package/dist/esm/AvatarGroup/AvatarGroupContext.js +19 -0
- package/dist/esm/AvatarGroup/AvatarGroupContext.js.map +1 -0
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +2 -2
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
- package/dist/esm/Dialog/Dialog.js +0 -1
- package/dist/esm/Dialog/Dialog.js.map +1 -1
- package/dist/esm/Drawer/Drawer.js +0 -5
- package/dist/esm/Drawer/Drawer.js.map +1 -1
- package/dist/esm/FilterGroup/Counter/Counter.js +4 -6
- package/dist/esm/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js +13 -17
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -4
- package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
- package/dist/esm/Input/Input.js +1 -3
- package/dist/esm/Input/Input.js.map +1 -1
- package/dist/esm/List/List.js +25 -57
- package/dist/esm/List/List.js.map +1 -1
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +26 -21
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +24 -29
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +29 -67
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +3 -20
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
- package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +9 -22
- package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +8 -15
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +12 -7
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
- package/dist/esm/providers/ThemeProvider.js +7 -0
- package/dist/esm/providers/ThemeProvider.js.map +1 -1
- package/dist/types/index.d.ts +24 -16
- package/package.json +5 -5
- package/dist/cjs/ScrollTo/withTooltip.cjs +0 -17
- package/dist/esm/ScrollTo/withTooltip.js +0 -17
- package/dist/esm/ScrollTo/withTooltip.js.map +0 -1
|
@@ -6,10 +6,10 @@ const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
|
6
6
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
7
7
|
const useUniqueId = require("../../hooks/useUniqueId.cjs");
|
|
8
8
|
const Action_styles = require("./Action.styles.cjs");
|
|
9
|
-
const OverflowTooltip = require("../../OverflowTooltip/OverflowTooltip.cjs");
|
|
10
9
|
const Avatar = require("../../Avatar/Avatar.cjs");
|
|
11
10
|
const Typography = require("../../Typography/Typography.cjs");
|
|
12
11
|
const ListItem = require("../../ListContainer/ListItem/ListItem.cjs");
|
|
12
|
+
const OverflowTooltip = require("../../OverflowTooltip/OverflowTooltip.cjs");
|
|
13
13
|
const Tooltip = require("../../Tooltip/Tooltip.cjs");
|
|
14
14
|
const HvAppSwitcherAction = ({
|
|
15
15
|
id,
|
|
@@ -5,6 +5,7 @@ const React = require("react");
|
|
|
5
5
|
const MuiAvatar = require("@mui/material/Avatar");
|
|
6
6
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
7
7
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
8
|
+
const AvatarGroupContext = require("../AvatarGroup/AvatarGroupContext.cjs");
|
|
8
9
|
const useDefaultProps = require("../hooks/useDefaultProps.cjs");
|
|
9
10
|
const useImageLoaded = require("../hooks/useImageLoaded.cjs");
|
|
10
11
|
const sizes = require("../utils/sizes.cjs");
|
|
@@ -18,7 +19,7 @@ const HvAvatar = React.forwardRef((props, ref) => {
|
|
|
18
19
|
classes: classesProp,
|
|
19
20
|
children: childrenProp,
|
|
20
21
|
component = "div",
|
|
21
|
-
size
|
|
22
|
+
size: sizeProp,
|
|
22
23
|
backgroundColor = "secondary",
|
|
23
24
|
color = "atmo1",
|
|
24
25
|
src,
|
|
@@ -33,6 +34,8 @@ const HvAvatar = React.forwardRef((props, ref) => {
|
|
|
33
34
|
...others
|
|
34
35
|
} = useDefaultProps.useDefaultProps("HvAvatar", props);
|
|
35
36
|
const { classes, cx } = Avatar_styles.useClasses(classesProp);
|
|
37
|
+
const avatarGroupContext = AvatarGroupContext.useAvatarGroupContext();
|
|
38
|
+
const size = sizeProp || avatarGroupContext?.size || "sm";
|
|
36
39
|
let children;
|
|
37
40
|
const imageLoaded = useImageLoaded.useImageLoaded(src, srcSet);
|
|
38
41
|
const hasImg = src || srcSet;
|
|
@@ -7,6 +7,7 @@ const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
|
7
7
|
const Avatar = require("../Avatar/Avatar.cjs");
|
|
8
8
|
const useDefaultProps = require("../hooks/useDefaultProps.cjs");
|
|
9
9
|
const AvatarGroup_styles = require("./AvatarGroup.styles.cjs");
|
|
10
|
+
const AvatarGroupContext = require("./AvatarGroupContext.cjs");
|
|
10
11
|
const getSpacingValue = (spacing, size) => {
|
|
11
12
|
switch (size) {
|
|
12
13
|
case "xs":
|
|
@@ -23,83 +24,126 @@ const getSpacingValue = (spacing, size) => {
|
|
|
23
24
|
return spacing === "compact" ? 30 : 18;
|
|
24
25
|
}
|
|
25
26
|
};
|
|
27
|
+
const getFontSize = (size) => {
|
|
28
|
+
switch (size) {
|
|
29
|
+
case "xs":
|
|
30
|
+
return "1em";
|
|
31
|
+
case "sm":
|
|
32
|
+
return "1.25em";
|
|
33
|
+
case "md":
|
|
34
|
+
return "1.5em";
|
|
35
|
+
case "lg":
|
|
36
|
+
return "1.75em";
|
|
37
|
+
case "xl":
|
|
38
|
+
return "3em";
|
|
39
|
+
default:
|
|
40
|
+
return "1em";
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const Overflow = ({
|
|
44
|
+
direction,
|
|
45
|
+
childrenToShow,
|
|
46
|
+
spacingValue,
|
|
47
|
+
overflowComponent,
|
|
48
|
+
totalChildren,
|
|
49
|
+
maxVisible,
|
|
50
|
+
size
|
|
51
|
+
}) => {
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
style: {
|
|
56
|
+
marginLeft: direction === "row" && childrenToShow.length > 0 ? -spacingValue : 0,
|
|
57
|
+
marginTop: direction === "column" && childrenToShow.length > 0 ? -spacingValue : 0,
|
|
58
|
+
zIndex: 0
|
|
59
|
+
},
|
|
60
|
+
children: overflowComponent ? overflowComponent(totalChildren - maxVisible) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
61
|
+
Avatar.HvAvatar,
|
|
62
|
+
{
|
|
63
|
+
size,
|
|
64
|
+
backgroundColor: uikitStyles.theme.colors.atmo4,
|
|
65
|
+
classes: {
|
|
66
|
+
avatar: css.css({
|
|
67
|
+
[`&.HvAvatar-${size}`]: {
|
|
68
|
+
fontSize: getFontSize(size)
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
},
|
|
72
|
+
children: [
|
|
73
|
+
"+",
|
|
74
|
+
totalChildren - maxVisible
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
};
|
|
26
81
|
const HvAvatarGroup = React.forwardRef(
|
|
27
82
|
(props, ref) => {
|
|
28
83
|
const {
|
|
29
84
|
className,
|
|
85
|
+
style,
|
|
30
86
|
classes: classesProp,
|
|
31
87
|
children,
|
|
32
88
|
size = "sm",
|
|
33
89
|
spacing = "loose",
|
|
34
90
|
direction = "row",
|
|
35
|
-
toBack = true,
|
|
36
91
|
maxVisible = 3,
|
|
37
92
|
overflowComponent,
|
|
38
93
|
highlight = false,
|
|
94
|
+
toBack = false,
|
|
39
95
|
...others
|
|
40
96
|
} = useDefaultProps.useDefaultProps("HvAvatarGroup", props);
|
|
41
97
|
const { classes, cx } = AvatarGroup_styles.useClasses(classesProp);
|
|
42
98
|
const spacingValue = getSpacingValue(spacing, size);
|
|
43
99
|
const totalChildren = React.Children.count(children);
|
|
44
|
-
const zIndexMultiplier = toBack ? -1 : 1;
|
|
45
100
|
const willOverflow = totalChildren > maxVisible;
|
|
46
|
-
|
|
101
|
+
const childrenToShow = React.Children.toArray(children).slice(0, maxVisible);
|
|
102
|
+
if (toBack)
|
|
103
|
+
childrenToShow.reverse();
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
105
|
"div",
|
|
48
106
|
{
|
|
49
|
-
className: cx(
|
|
107
|
+
className: cx(
|
|
108
|
+
classes.root,
|
|
109
|
+
classes[direction],
|
|
110
|
+
{ [classes.highlight]: highlight },
|
|
111
|
+
{ [classes.toBack]: toBack },
|
|
112
|
+
className
|
|
113
|
+
),
|
|
114
|
+
style: {
|
|
115
|
+
["--spacing"]: `-${spacingValue}px`,
|
|
116
|
+
...style
|
|
117
|
+
},
|
|
50
118
|
ref,
|
|
51
119
|
...others,
|
|
52
|
-
children: [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
...highlight && {
|
|
64
|
-
"&:hover": {
|
|
65
|
-
zIndex: 100 + totalChildren + 1
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
})
|
|
69
|
-
},
|
|
70
|
-
size
|
|
71
|
-
});
|
|
120
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(AvatarGroupContext.HvAvatarGroupProvider, { size, children: [
|
|
121
|
+
toBack && willOverflow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
122
|
+
Overflow,
|
|
123
|
+
{
|
|
124
|
+
childrenToShow,
|
|
125
|
+
direction,
|
|
126
|
+
maxVisible,
|
|
127
|
+
overflowComponent,
|
|
128
|
+
size,
|
|
129
|
+
spacingValue,
|
|
130
|
+
totalChildren
|
|
72
131
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
132
|
+
),
|
|
133
|
+
childrenToShow,
|
|
134
|
+
!toBack && willOverflow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
135
|
+
Overflow,
|
|
76
136
|
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
{
|
|
85
|
-
size,
|
|
86
|
-
backgroundColor: uikitStyles.theme.colors.atmo4,
|
|
87
|
-
classes: {
|
|
88
|
-
avatar: css.css({
|
|
89
|
-
[`&.HvAvatar-${size}`]: {
|
|
90
|
-
fontSize: "unset"
|
|
91
|
-
}
|
|
92
|
-
})
|
|
93
|
-
},
|
|
94
|
-
children: [
|
|
95
|
-
"+",
|
|
96
|
-
totalChildren - maxVisible
|
|
97
|
-
]
|
|
98
|
-
}
|
|
99
|
-
)
|
|
137
|
+
childrenToShow,
|
|
138
|
+
direction,
|
|
139
|
+
maxVisible,
|
|
140
|
+
overflowComponent,
|
|
141
|
+
size,
|
|
142
|
+
spacingValue,
|
|
143
|
+
totalChildren
|
|
100
144
|
}
|
|
101
145
|
)
|
|
102
|
-
]
|
|
146
|
+
] })
|
|
103
147
|
}
|
|
104
148
|
);
|
|
105
149
|
}
|
|
@@ -10,14 +10,64 @@ const { staticClasses, useClasses } = classes.createClasses("HvAvatarGroup", {
|
|
|
10
10
|
[`& .${Avatar_styles.staticClasses.root}`]: {
|
|
11
11
|
border: `2px solid ${uikitStyles.theme.colors.atmo2}`,
|
|
12
12
|
boxSizing: "content-box"
|
|
13
|
+
},
|
|
14
|
+
"&$row": {
|
|
15
|
+
flexDirection: "row",
|
|
16
|
+
justifyContent: "flex-start",
|
|
17
|
+
[`& .${Avatar_styles.staticClasses.container}`]: {
|
|
18
|
+
"&:not(:first-of-type)": {
|
|
19
|
+
marginLeft: "var(--spacing)"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"&$toBack": {
|
|
23
|
+
flexDirection: "row-reverse",
|
|
24
|
+
justifyContent: "flex-end",
|
|
25
|
+
[`& .${Avatar_styles.staticClasses.container}`]: {
|
|
26
|
+
"&:last-of-type": {
|
|
27
|
+
marginLeft: 0
|
|
28
|
+
},
|
|
29
|
+
"&:not(:last-of-type)": {
|
|
30
|
+
marginLeft: "var(--spacing)"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"&$column": {
|
|
36
|
+
flexDirection: "column",
|
|
37
|
+
[`& .${Avatar_styles.staticClasses.container}`]: {
|
|
38
|
+
"&:not(:first-of-type)": {
|
|
39
|
+
marginTop: "var(--spacing)"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"&$toBack": {
|
|
43
|
+
flexDirection: "column-reverse",
|
|
44
|
+
[`& .${Avatar_styles.staticClasses.container}`]: {
|
|
45
|
+
"&:last-of-type": {
|
|
46
|
+
marginTop: 0
|
|
47
|
+
},
|
|
48
|
+
"&:not(:last-of-type)": {
|
|
49
|
+
marginTop: "var(--spacing)"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
[`&$highlight`]: {
|
|
55
|
+
[`& .${Avatar_styles.staticClasses.status}:hover`]: {
|
|
56
|
+
zIndex: uikitStyles.theme.zIndices.popover
|
|
57
|
+
}
|
|
13
58
|
}
|
|
14
59
|
},
|
|
15
60
|
row: {
|
|
16
|
-
flexDirection: "row"
|
|
61
|
+
flexDirection: "row",
|
|
62
|
+
justifyContent: "flex-start",
|
|
63
|
+
"&$toBack": {
|
|
64
|
+
flexDirection: "row-reverse",
|
|
65
|
+
justifyContent: "flex-end"
|
|
66
|
+
}
|
|
17
67
|
},
|
|
18
|
-
column: {
|
|
19
|
-
|
|
20
|
-
}
|
|
68
|
+
column: {},
|
|
69
|
+
highlight: {},
|
|
70
|
+
toBack: {}
|
|
21
71
|
});
|
|
22
72
|
exports.staticClasses = staticClasses;
|
|
23
73
|
exports.useClasses = useClasses;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const HvAvatarGroupContext = React.createContext(null);
|
|
6
|
+
const HvAvatarGroupProvider = ({
|
|
7
|
+
size,
|
|
8
|
+
children
|
|
9
|
+
}) => {
|
|
10
|
+
const value = React.useMemo(() => ({ size }), [size]);
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HvAvatarGroupContext.Provider, { value, children });
|
|
12
|
+
};
|
|
13
|
+
const useAvatarGroupContext = () => {
|
|
14
|
+
const context = React.useContext(HvAvatarGroupContext);
|
|
15
|
+
return context;
|
|
16
|
+
};
|
|
17
|
+
exports.HvAvatarGroupContext = HvAvatarGroupContext;
|
|
18
|
+
exports.HvAvatarGroupProvider = HvAvatarGroupProvider;
|
|
19
|
+
exports.useAvatarGroupContext = useAvatarGroupContext;
|
|
@@ -5,8 +5,8 @@ const classes = require("../utils/classes.cjs");
|
|
|
5
5
|
const { staticClasses, useClasses } = classes.createClasses("HvCheckBoxGroup", {
|
|
6
6
|
root: {
|
|
7
7
|
display: "inline-block",
|
|
8
|
-
padding:
|
|
9
|
-
margin:
|
|
8
|
+
padding: 4,
|
|
9
|
+
margin: -4,
|
|
10
10
|
overflow: "hidden",
|
|
11
11
|
verticalAlign: "top"
|
|
12
12
|
},
|
|
@@ -17,7 +17,7 @@ const getExistingFiltersById = (idx, filterValues, filterOptions) => {
|
|
|
17
17
|
const HvFilterGroupCounter = (props) => {
|
|
18
18
|
const {
|
|
19
19
|
className,
|
|
20
|
-
|
|
20
|
+
groupId,
|
|
21
21
|
classes: classesProp
|
|
22
22
|
} = useDefaultProps.useDefaultProps("HvFilterGroupCounter", props);
|
|
23
23
|
const { classes, cx } = Counter_styles.useClasses(classesProp);
|
|
@@ -26,15 +26,13 @@ const HvFilterGroupCounter = (props) => {
|
|
|
26
26
|
filterValues = [],
|
|
27
27
|
appliedFilters = []
|
|
28
28
|
} = React.useContext(FilterGroupContext.HvFilterGroupContext);
|
|
29
|
-
const options =
|
|
30
|
-
|
|
31
|
-
] : filterOptions;
|
|
32
|
-
const optionIdx = filterOptions.findIndex((option) => option.id === id);
|
|
29
|
+
const options = groupId && filterOptions.find((option) => option.id === groupId) ? [filterOptions.find((option) => option.id === groupId)] : filterOptions;
|
|
30
|
+
const optionIdx = filterOptions.findIndex((option) => option.id === groupId);
|
|
33
31
|
let groupsCounter = 0;
|
|
34
32
|
appliedFilters.forEach((fg, i) => {
|
|
35
33
|
groupsCounter += getExistingFiltersById(i, filterValues, filterOptions);
|
|
36
34
|
});
|
|
37
|
-
const partialCounter =
|
|
35
|
+
const partialCounter = groupId ? getExistingFiltersById(optionIdx, filterValues, filterOptions) || 0 : groupsCounter;
|
|
38
36
|
const totalCounter = options.reduce(
|
|
39
37
|
(acc, option) => acc + option.data.length,
|
|
40
38
|
0
|
|
@@ -3,36 +3,32 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const setId = require("../../utils/setId.cjs");
|
|
6
|
-
const wrapperTooltip = require("../../utils/wrapperTooltip.cjs");
|
|
7
6
|
const FilterGroupContext = require("../FilterGroupContext.cjs");
|
|
8
7
|
const LeftPanel_styles = require("./LeftPanel.styles.cjs");
|
|
9
8
|
const Counter = require("../Counter/Counter.cjs");
|
|
10
9
|
const Panel = require("../../Panel/Panel.cjs");
|
|
11
10
|
const ListContainer = require("../../ListContainer/ListContainer.cjs");
|
|
12
11
|
const ListItem = require("../../ListContainer/ListItem/ListItem.cjs");
|
|
12
|
+
const OverflowTooltip = require("../../OverflowTooltip/OverflowTooltip.cjs");
|
|
13
13
|
const HvFilterGroupLeftPanel = ({
|
|
14
14
|
id,
|
|
15
15
|
className,
|
|
16
16
|
emptyElement,
|
|
17
17
|
classes: classesProp
|
|
18
18
|
}) => {
|
|
19
|
-
const { classes
|
|
19
|
+
const { classes } = LeftPanel_styles.useClasses(classesProp);
|
|
20
20
|
const { filterOptions, activeGroup, setActiveGroup } = React.useContext(FilterGroupContext.HvFilterGroupContext);
|
|
21
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Panel.HvPanel, { id: setId.setId(id, "leftPanel"), className, children: filterOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(ListContainer.HvListContainer, { id: setId.setId(id, "leftPanel-list"), condensed: true, interactive: true, children: filterOptions.map((group, index) =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
group.name
|
|
34
|
-
);
|
|
35
|
-
}) }) : emptyElement });
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Panel.HvPanel, { id: setId.setId(id, "leftPanel"), className, children: filterOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(ListContainer.HvListContainer, { id: setId.setId(id, "leftPanel-list"), condensed: true, interactive: true, children: filterOptions.map((group, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
22
|
+
ListItem.HvListItem,
|
|
23
|
+
{
|
|
24
|
+
className: classes.listItem,
|
|
25
|
+
onClick: () => setActiveGroup(index),
|
|
26
|
+
selected: filterOptions[activeGroup].id === group.id,
|
|
27
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(Counter.HvFilterGroupCounter, { groupId: group.id }),
|
|
28
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, { data: group.name })
|
|
29
|
+
},
|
|
30
|
+
group.id || group.name
|
|
31
|
+
)) }) : emptyElement });
|
|
36
32
|
};
|
|
37
33
|
exports.filterGroupLeftPanelClasses = LeftPanel_styles.staticClasses;
|
|
38
34
|
exports.HvFilterGroupLeftPanel = HvFilterGroupLeftPanel;
|
|
@@ -8,11 +8,8 @@ const { staticClasses, useClasses } = classes.createClasses(name, {
|
|
|
8
8
|
marginBottom: uikitStyles.theme.spacing("xs")
|
|
9
9
|
},
|
|
10
10
|
list: {
|
|
11
|
-
width: "calc(100% + 8px)",
|
|
12
11
|
height: "calc(100% - 70px)",
|
|
13
|
-
overflowY: "auto"
|
|
14
|
-
margin: -4,
|
|
15
|
-
padding: 4
|
|
12
|
+
overflowY: "auto"
|
|
16
13
|
},
|
|
17
14
|
selectAllContainer: {
|
|
18
15
|
// Prevent the focus ring to be hidden by sibling hover background
|
package/dist/cjs/Input/Input.cjs
CHANGED
|
@@ -11,7 +11,6 @@ const useDefaultProps = require("../hooks/useDefaultProps.cjs");
|
|
|
11
11
|
const useIsMounted = require("../hooks/useIsMounted.cjs");
|
|
12
12
|
const useLabels = require("../hooks/useLabels.cjs");
|
|
13
13
|
const useUniqueId = require("../hooks/useUniqueId.cjs");
|
|
14
|
-
const browser = require("../utils/browser.cjs");
|
|
15
14
|
const keyboardUtils = require("../utils/keyboardUtils.cjs");
|
|
16
15
|
const setId = require("../utils/setId.cjs");
|
|
17
16
|
const Input_styles = require("./Input.styles.cjs");
|
|
@@ -35,9 +34,8 @@ const DEFAULT_LABELS = {
|
|
|
35
34
|
/** The label of the search button. */
|
|
36
35
|
searchButtonLabel: "Search"
|
|
37
36
|
};
|
|
38
|
-
const getFocusedElement = (event) => browser.isBrowser("ie") ? document.activeElement : event.relatedTarget;
|
|
39
37
|
function eventTargetIsInsideContainer(container, event) {
|
|
40
|
-
return container
|
|
38
|
+
return !!container?.contains(event.relatedTarget);
|
|
41
39
|
}
|
|
42
40
|
const changeInputValue = (input, value = "") => {
|
|
43
41
|
const event = new Event("input", { bubbles: true });
|
package/dist/cjs/List/List.cjs
CHANGED
|
@@ -6,13 +6,13 @@ const reactWindow = require("react-window");
|
|
|
6
6
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
7
7
|
const useDefaultProps = require("../hooks/useDefaultProps.cjs");
|
|
8
8
|
const setId = require("../utils/setId.cjs");
|
|
9
|
-
const wrapperTooltip = require("../utils/wrapperTooltip.cjs");
|
|
10
9
|
const List_styles = require("./List.styles.cjs");
|
|
11
10
|
const useSelectableList = require("./useSelectableList.cjs");
|
|
12
11
|
const utils = require("./utils.cjs");
|
|
13
12
|
const CheckBox = require("../CheckBox/CheckBox.cjs");
|
|
14
|
-
const
|
|
13
|
+
const OverflowTooltip = require("../OverflowTooltip/OverflowTooltip.cjs");
|
|
15
14
|
const Link = require("../Link/Link.cjs");
|
|
15
|
+
const Radio = require("../Radio/Radio.cjs");
|
|
16
16
|
const ListContainer = require("../ListContainer/ListContainer.cjs");
|
|
17
17
|
const Typography = require("../Typography/Typography.cjs");
|
|
18
18
|
const ListItem = require("../ListContainer/ListItem/ListItem.cjs");
|
|
@@ -26,6 +26,7 @@ const HvList = (props) => {
|
|
|
26
26
|
classes: classesProp,
|
|
27
27
|
className,
|
|
28
28
|
multiSelect = false,
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
30
|
hasTooltips = false,
|
|
30
31
|
showSelectAll = false,
|
|
31
32
|
labels = DEFAULT_LABELS,
|
|
@@ -116,65 +117,32 @@ const HvList = (props) => {
|
|
|
116
117
|
);
|
|
117
118
|
};
|
|
118
119
|
const renderItemText = (item) => {
|
|
119
|
-
|
|
120
|
-
return !multiSelect && item.path ? /* @__PURE__ */ jsxRuntime.jsx(Link.HvLink, { route: item.path, classes: { a: classes.link }, children: /* @__PURE__ */ jsxRuntime.jsx(ItemText, {}) }, item.label) : /* @__PURE__ */ jsxRuntime.jsx(ItemText, {});
|
|
121
|
-
};
|
|
122
|
-
const renderMultiSelectItem = (item, itemId) => {
|
|
123
|
-
if (useSelector) {
|
|
124
|
-
const Selection = wrapperTooltip.wrapperTooltip(
|
|
125
|
-
hasTooltips,
|
|
126
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
-
CheckBox.HvCheckBox,
|
|
128
|
-
{
|
|
129
|
-
id: setId.setId(itemId, "selector"),
|
|
130
|
-
label: item.label,
|
|
131
|
-
checked: item.selected,
|
|
132
|
-
disabled: item.disabled,
|
|
133
|
-
onChange: (evt) => handleSelect(evt, item),
|
|
134
|
-
classes: {
|
|
135
|
-
root: classes.selectorRoot,
|
|
136
|
-
container: classes.selectorContainer,
|
|
137
|
-
label: classes.truncate
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
),
|
|
141
|
-
item.label
|
|
142
|
-
);
|
|
143
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Selection, {});
|
|
144
|
-
}
|
|
145
|
-
return renderItemText(item);
|
|
120
|
+
return !multiSelect && item.path ? /* @__PURE__ */ jsxRuntime.jsx(Link.HvLink, { route: item.path, classes: { a: classes.link }, children: /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, { data: item.label }) }) : /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, { data: item.label });
|
|
146
121
|
};
|
|
147
|
-
const
|
|
148
|
-
if (useSelector)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
);
|
|
167
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Selection, {});
|
|
168
|
-
}
|
|
169
|
-
return renderItemText(item);
|
|
122
|
+
const renderSelectItem = (item, itemId) => {
|
|
123
|
+
if (!useSelector)
|
|
124
|
+
return renderItemText(item);
|
|
125
|
+
const Component = multiSelect ? CheckBox.HvCheckBox : Radio.HvRadio;
|
|
126
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
+
Component,
|
|
128
|
+
{
|
|
129
|
+
id: setId.setId(itemId, "selector"),
|
|
130
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, { data: item.label }),
|
|
131
|
+
checked: item.selected || false,
|
|
132
|
+
disabled: item.disabled,
|
|
133
|
+
onChange: multiSelect ? (evt) => handleSelect(evt, item) : void 0,
|
|
134
|
+
classes: {
|
|
135
|
+
root: classes.selectorRoot,
|
|
136
|
+
container: classes.selectorContainer,
|
|
137
|
+
label: classes.truncate
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
);
|
|
170
141
|
};
|
|
171
142
|
const renderListItem = (item, i, otherProps = {}) => {
|
|
172
143
|
const itemId = setId.setId(id, "item", i);
|
|
173
144
|
const selected = item.selected || false;
|
|
174
|
-
|
|
175
|
-
if (!useSelector && item.icon) {
|
|
176
|
-
startAdornment = renderLeftIcon(item);
|
|
177
|
-
}
|
|
145
|
+
const startAdornment = !useSelector && item.icon ? renderLeftIcon(item) : null;
|
|
178
146
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
179
147
|
ListItem.HvListItem,
|
|
180
148
|
{
|
|
@@ -192,7 +160,7 @@ const HvList = (props) => {
|
|
|
192
160
|
startAdornment,
|
|
193
161
|
endAdornment: item.showNavIcon && /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropRightXS, { className: classes.box, iconSize: "XS" }),
|
|
194
162
|
...otherProps,
|
|
195
|
-
children:
|
|
163
|
+
children: renderSelectItem(item, itemId)
|
|
196
164
|
},
|
|
197
165
|
i
|
|
198
166
|
);
|
|
@@ -4,46 +4,51 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
|
4
4
|
const useDefaultProps = require("../../../hooks/useDefaultProps.cjs");
|
|
5
5
|
const setId = require("../../../utils/setId.cjs");
|
|
6
6
|
const HorizontalScrollListItem_styles = require("./HorizontalScrollListItem.styles.cjs");
|
|
7
|
+
const OverflowTooltip = require("../../../OverflowTooltip/OverflowTooltip.cjs");
|
|
7
8
|
const HvHorizontalScrollListItem = (props) => {
|
|
8
9
|
const {
|
|
9
10
|
id,
|
|
10
11
|
className,
|
|
11
12
|
classes: classesProp,
|
|
12
13
|
selected,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onKeyDown,
|
|
16
|
-
tooltipWrapper,
|
|
14
|
+
label,
|
|
15
|
+
tooltipPlacement,
|
|
17
16
|
href,
|
|
17
|
+
iconClasses,
|
|
18
18
|
...others
|
|
19
19
|
} = useDefaultProps.useDefaultProps("HvHorizontalScrollListItem", props);
|
|
20
20
|
const { classes, cx } = HorizontalScrollListItem_styles.useClasses(classesProp);
|
|
21
|
-
const variant = selected ? "label" : "body";
|
|
22
|
-
const labelId = setId.setId(id, "label");
|
|
23
21
|
const buttonId = setId.setId(id, "button");
|
|
24
|
-
const Tooltip = tooltipWrapper;
|
|
25
22
|
const Component = href != null ? "a" : "div";
|
|
26
|
-
return /* @__PURE__ */ jsxRuntime.jsx("li", { id, className: cx(classes.root, className), "aria-current": selected, children: /* @__PURE__ */ jsxRuntime.
|
|
23
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { id, className: cx(classes.root, className), "aria-current": selected, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
27
24
|
Component,
|
|
28
25
|
{
|
|
29
26
|
id: buttonId,
|
|
30
27
|
role: href == null ? "button" : void 0,
|
|
31
28
|
tabIndex: 0,
|
|
32
|
-
onClick,
|
|
33
|
-
onKeyDown,
|
|
34
29
|
className: classes.button,
|
|
35
|
-
"aria-labelledby": labelId,
|
|
36
30
|
href,
|
|
37
31
|
...others,
|
|
38
|
-
children:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
OverflowTooltip.HvOverflowTooltip,
|
|
35
|
+
{
|
|
36
|
+
className: cx(classes.text, { [classes.selected]: selected }),
|
|
37
|
+
placement: tooltipPlacement,
|
|
38
|
+
data: label
|
|
39
|
+
}
|
|
40
|
+
),
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
"aria-hidden": true,
|
|
45
|
+
className: cx(classes.bullet, iconClasses, {
|
|
46
|
+
[classes.bulletSelected]: selected
|
|
47
|
+
}),
|
|
48
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", {})
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
]
|
|
47
52
|
}
|
|
48
53
|
) });
|
|
49
54
|
};
|