@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.
Files changed (68) hide show
  1. package/dist/cjs/AppSwitcher/Action/Action.cjs +1 -1
  2. package/dist/cjs/Avatar/Avatar.cjs +4 -1
  3. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +95 -51
  4. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +54 -4
  5. package/dist/cjs/AvatarGroup/AvatarGroupContext.cjs +19 -0
  6. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +2 -2
  7. package/dist/cjs/Dialog/Dialog.cjs +0 -1
  8. package/dist/cjs/Drawer/Drawer.cjs +0 -5
  9. package/dist/cjs/FilterGroup/Counter/Counter.cjs +4 -6
  10. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs +13 -17
  11. package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +1 -4
  12. package/dist/cjs/Input/Input.cjs +1 -3
  13. package/dist/cjs/List/List.cjs +25 -57
  14. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +25 -20
  15. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +24 -29
  16. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +28 -66
  17. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +3 -20
  18. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +9 -22
  19. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +8 -15
  20. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +12 -7
  21. package/dist/cjs/providers/ThemeProvider.cjs +7 -0
  22. package/dist/esm/AppSwitcher/Action/Action.js +1 -1
  23. package/dist/esm/Avatar/Avatar.js +4 -1
  24. package/dist/esm/Avatar/Avatar.js.map +1 -1
  25. package/dist/esm/AvatarGroup/AvatarGroup.js +97 -53
  26. package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
  27. package/dist/esm/AvatarGroup/AvatarGroup.styles.js +54 -4
  28. package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +1 -1
  29. package/dist/esm/AvatarGroup/AvatarGroupContext.js +19 -0
  30. package/dist/esm/AvatarGroup/AvatarGroupContext.js.map +1 -0
  31. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +2 -2
  32. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  33. package/dist/esm/Dialog/Dialog.js +0 -1
  34. package/dist/esm/Dialog/Dialog.js.map +1 -1
  35. package/dist/esm/Drawer/Drawer.js +0 -5
  36. package/dist/esm/Drawer/Drawer.js.map +1 -1
  37. package/dist/esm/FilterGroup/Counter/Counter.js +4 -6
  38. package/dist/esm/FilterGroup/Counter/Counter.js.map +1 -1
  39. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js +13 -17
  40. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  41. package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  42. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -4
  43. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
  44. package/dist/esm/Input/Input.js +1 -3
  45. package/dist/esm/Input/Input.js.map +1 -1
  46. package/dist/esm/List/List.js +25 -57
  47. package/dist/esm/List/List.js.map +1 -1
  48. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +26 -21
  49. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  50. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +24 -29
  51. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  52. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +29 -67
  53. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  54. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +3 -20
  55. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  56. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +9 -22
  57. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  58. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +8 -15
  59. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  60. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +12 -7
  61. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  62. package/dist/esm/providers/ThemeProvider.js +7 -0
  63. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  64. package/dist/types/index.d.ts +24 -16
  65. package/package.json +5 -5
  66. package/dist/cjs/ScrollTo/withTooltip.cjs +0 -17
  67. package/dist/esm/ScrollTo/withTooltip.js +0 -17
  68. 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 = "sm",
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
- return /* @__PURE__ */ jsxRuntime.jsxs(
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(classes.root, classes[direction], className),
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
- React.Children.map(children, (child, index) => {
54
- if (index < maxVisible) {
55
- return React.cloneElement(child, {
56
- classes: {
57
- container: css.css({
58
- marginLeft: direction === "row" ? index !== 0 ? -spacingValue : 0 : 0,
59
- marginTop: direction === "column" ? index !== 0 ? -spacingValue : 0 : 0
60
- }),
61
- root: css.css({
62
- zIndex: 100 + index * zIndexMultiplier,
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
- willOverflow && /* @__PURE__ */ jsxRuntime.jsx(
75
- "div",
132
+ ),
133
+ childrenToShow,
134
+ !toBack && willOverflow && /* @__PURE__ */ jsxRuntime.jsx(
135
+ Overflow,
76
136
  {
77
- style: {
78
- marginLeft: direction === "row" ? -spacingValue : 0,
79
- marginTop: direction === "column" ? -spacingValue : 0,
80
- zIndex: 100 + maxVisible * zIndexMultiplier
81
- },
82
- children: overflowComponent ? overflowComponent(totalChildren - maxVisible) : /* @__PURE__ */ jsxRuntime.jsxs(
83
- Avatar.HvAvatar,
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
- flexDirection: "column"
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: 0,
9
- margin: 0,
8
+ padding: 4,
9
+ margin: -4,
10
10
  overflow: "hidden",
11
11
  verticalAlign: "top"
12
12
  },
@@ -71,7 +71,6 @@ const HvDialog = (props) => {
71
71
  )
72
72
  }
73
73
  },
74
- "aria-modal": true,
75
74
  ...others,
76
75
  children: [
77
76
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -47,11 +47,6 @@ const HvDrawer = (props) => {
47
47
  backdrop: {
48
48
  classes: {
49
49
  root: classes.background
50
- },
51
- onClick: (event) => {
52
- if (disableBackdropClick)
53
- return;
54
- onClose?.(event, "backdropClick");
55
50
  }
56
51
  }
57
52
  }
@@ -17,7 +17,7 @@ const getExistingFiltersById = (idx, filterValues, filterOptions) => {
17
17
  const HvFilterGroupCounter = (props) => {
18
18
  const {
19
19
  className,
20
- id,
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 = id && filterOptions.find((option) => option.id === id) ? [
30
- filterOptions.find((option) => option.id === id)
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 = id ? getExistingFiltersById(optionIdx, filterValues, filterOptions) || 0 : groupsCounter;
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, cx } = LeftPanel_styles.useClasses(classesProp);
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
- const ItemText = wrapperTooltip.wrapperTooltip(true, group.name, group.name);
23
- return /* @__PURE__ */ jsxRuntime.jsx(
24
- ListItem.HvListItem,
25
- {
26
- id: group.id,
27
- className: cx(classes.listItem),
28
- onClick: () => setActiveGroup(index),
29
- selected: filterOptions[activeGroup].id === group.id,
30
- endAdornment: /* @__PURE__ */ jsxRuntime.jsx(Counter.HvFilterGroupCounter, { id: group.id }),
31
- children: /* @__PURE__ */ jsxRuntime.jsx(ItemText, {})
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
@@ -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 != null && container.contains(getFocusedElement(event));
38
+ return !!container?.contains(event.relatedTarget);
41
39
  }
42
40
  const changeInputValue = (input, value = "") => {
43
41
  const event = new Event("input", { bubbles: true });
@@ -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 Radio = require("../Radio/Radio.cjs");
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
- const ItemText = wrapperTooltip.wrapperTooltip(hasTooltips, item.label, item.label);
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 renderSingleSelectItem = (item, itemId) => {
148
- if (useSelector) {
149
- const Selection = wrapperTooltip.wrapperTooltip(
150
- hasTooltips,
151
- /* @__PURE__ */ jsxRuntime.jsx(
152
- Radio.HvRadio,
153
- {
154
- id: setId.setId(itemId, "selector"),
155
- label: item.label,
156
- checked: item.selected,
157
- disabled: item.disabled,
158
- classes: {
159
- root: classes.selectorRoot,
160
- container: classes.selectorContainer,
161
- label: classes.truncate
162
- }
163
- }
164
- ),
165
- item.label
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
- let startAdornment = null;
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: multiSelect ? renderMultiSelectItem(item, itemId) : renderSingleSelectItem(item, itemId)
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
- children,
14
- onClick,
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.jsx(
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: /* @__PURE__ */ jsxRuntime.jsx(
39
- Tooltip,
40
- {
41
- id: labelId,
42
- className: cx(classes.text, { [classes.selected]: selected }),
43
- variant,
44
- children
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
  };