@hitachivantara/uikit-react-core 5.99.1 → 5.100.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const MuiSwitch = require("@mui/material/Switch");
6
6
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
7
+ const uikitStyles = require("@hitachivantara/uikit-styles");
7
8
  const BaseSwitch_styles = require("./BaseSwitch.styles.cjs");
8
9
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
10
  const MuiSwitch__default = /* @__PURE__ */ _interopDefault(MuiSwitch);
@@ -24,9 +25,11 @@ const HvBaseSwitch = React.forwardRef(
24
25
  inputProps,
25
26
  onFocusVisible,
26
27
  onBlur,
28
+ size = "sm",
29
+ color,
27
30
  ...others
28
31
  } = uikitReactUtils.useDefaultProps("HvBaseSwitch", props);
29
- const { classes, cx } = BaseSwitch_styles.useClasses(classesProp);
32
+ const { classes, cx, css } = BaseSwitch_styles.useClasses(classesProp);
30
33
  const [focusVisible, setFocusVisible] = React.useState(false);
31
34
  const onFocusVisibleCallback = React.useCallback(
32
35
  (evt) => {
@@ -66,7 +69,6 @@ const HvBaseSwitch = React.forwardRef(
66
69
  },
67
70
  className
68
71
  ),
69
- color: "default",
70
72
  disabled,
71
73
  required,
72
74
  readOnly,
@@ -76,15 +78,27 @@ const HvBaseSwitch = React.forwardRef(
76
78
  defaultChecked,
77
79
  classes: {
78
80
  root: classes.switch,
79
- switchBase: classes.switchBase,
81
+ switchBase: cx(classes.switchBase),
80
82
  checked: classes.checked,
81
- track: classes.track,
82
- thumb: classes.thumb,
83
+ track: cx(
84
+ classes.track,
85
+ color ? css({
86
+ backgroundColor: `${uikitStyles.getColor(color, "transparent")}!important`,
87
+ border: "none"
88
+ }) : void 0
89
+ ),
90
+ thumb: cx(
91
+ classes.thumb,
92
+ color ? css({
93
+ border: "none"
94
+ }) : void 0
95
+ ),
83
96
  disabled: classes.disabled
84
97
  },
85
98
  inputProps,
86
99
  onFocusVisible: onFocusVisibleCallback,
87
100
  onBlur: onBlurCallback,
101
+ "data-size": size,
88
102
  ...others
89
103
  }
90
104
  );
@@ -5,10 +5,10 @@ const uikitStyles = require("@hitachivantara/uikit-styles");
5
5
  const focusUtils = require("../utils/focusUtils.cjs");
6
6
  const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvBaseSwitch", {
7
7
  root: {
8
- padding: 0,
8
+ padding: uikitStyles.theme.space.xs,
9
9
  cursor: "pointer",
10
- width: "40px",
11
- height: "32px",
10
+ width: "fit-content",
11
+ height: "fit-content",
12
12
  alignItems: "center",
13
13
  justifyContent: "center",
14
14
  borderRadius: uikitStyles.theme.radii.round,
@@ -27,7 +27,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvBaseSwitc
27
27
  backgroundColor: uikitStyles.theme.colors.primary,
28
28
  borderColor: "transparent"
29
29
  },
30
- "& $thumb:not:has($disabled)": {
30
+ "&:not($disabled) $thumb": {
31
31
  borderColor: "transparent"
32
32
  },
33
33
  "&:hover": {
@@ -57,7 +57,23 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvBaseSwitc
57
57
  switchBase: {
58
58
  width: "40px",
59
59
  height: "32px",
60
- padding: 0
60
+ padding: 0,
61
+ "&[data-size=medium]": {
62
+ "+.HvBaseSwitch-track": {
63
+ width: 48,
64
+ height: 22
65
+ },
66
+ "& $thumb": {
67
+ left: -2,
68
+ top: 3,
69
+ width: 18,
70
+ height: 18
71
+ },
72
+ "&$checked $thumb": {
73
+ left: 8,
74
+ top: 3
75
+ }
76
+ }
61
77
  },
62
78
  track: {
63
79
  opacity: 1,
@@ -69,7 +85,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvBaseSwitc
69
85
  },
70
86
  thumb: {
71
87
  position: "relative",
72
- left: "-9px",
88
+ left: "-5px",
73
89
  width: "10px",
74
90
  height: "10px",
75
91
  border: `solid 1px ${uikitStyles.theme.colors.borderStrong}`,
@@ -7,7 +7,6 @@ const SelectionContext = require("../utils/SelectionContext.cjs");
7
7
  const Bar_styles = require("./Bar.styles.cjs");
8
8
  const Bar = (props) => {
9
9
  const {
10
- id,
11
10
  data = [],
12
11
  type = "menubar",
13
12
  className,
@@ -30,7 +29,7 @@ const Bar = (props) => {
30
29
  },
31
30
  className
32
31
  ),
33
- children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: classes.list, id, onFocus: () => {
32
+ children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: classes.list, onFocus: () => {
34
33
  }, children })
35
34
  }
36
35
  );
@@ -4,14 +4,14 @@ const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
4
4
  const uikitStyles = require("@hitachivantara/uikit-styles");
5
5
  const show = {
6
6
  top: uikitStyles.theme.header.height,
7
- transition: ["top"],
7
+ transitionProperty: "top",
8
8
  boxShadow: uikitStyles.theme.colors.shadow,
9
9
  transitionDuration: "500ms",
10
10
  backgroundColor: uikitStyles.theme.colors.bgPage
11
11
  };
12
12
  const hide = {
13
13
  top: 0,
14
- transition: ["top"],
14
+ transitionProperty: "top",
15
15
  boxShadow: "none",
16
16
  transitionDuration: "300ms"
17
17
  };
@@ -25,6 +25,7 @@ const HvLoading = React.forwardRef(function HvLoading2(props, ref) {
25
25
  {
26
26
  ref,
27
27
  hidden: !!hidden,
28
+ "data-size": size,
28
29
  style: uikitReactUtils.mergeStyles(style, {
29
30
  color: uikitStyles.getColor(color, small ? "text" : "brand"),
30
31
  "--customColor": uikitStyles.getColor(color)
@@ -8,28 +8,27 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvLoading",
8
8
  flexDirection: "column",
9
9
  alignItems: "center",
10
10
  justifyContent: "center",
11
- gap: uikitStyles.theme.space.xs
11
+ gap: uikitStyles.theme.space.xs,
12
+ "&[data-size=small]": {
13
+ "--bar-size": "2px",
14
+ "--size": "18px",
15
+ "--height": "40%"
16
+ }
12
17
  },
13
18
  barContainer: {
14
19
  display: "flex",
15
20
  alignItems: "center",
16
21
  justifyContent: "space-around",
17
- ":has($regular)": {
18
- width: 30,
19
- height: 30
20
- },
21
- ":has($small)": {
22
- "--height": "40%",
23
- width: 18,
24
- height: 18
25
- }
22
+ width: "var(--size, 30px)",
23
+ height: "var(--size, 30px)"
26
24
  },
27
25
  loadingBar: {
28
26
  backgroundColor: "currentcolor",
29
27
  display: "inline-block",
30
28
  animation: "loading 1s ease-in-out infinite",
31
29
  // TODO: make this the default when it has better support
32
- width: "round(up, 0.11em, 2px)",
30
+ // width: "round(up, 0.11em, 2px)",
31
+ width: "var(--bar-size, 4px)",
33
32
  height: "100%",
34
33
  "@keyframes loading": {
35
34
  "50%": {
@@ -46,13 +45,13 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvLoading",
46
45
  overlay: {},
47
46
  blur: {},
48
47
  hidden: { display: "none" },
49
- small: {
50
- width: 2
51
- },
52
- regular: {
53
- width: 4
54
- },
48
+ /** @deprecated use data-size=small instead */
49
+ small: {},
50
+ /** @deprecated use data-size=regular instead */
51
+ regular: {},
52
+ /** @deprecated leverage data-size=small instead */
55
53
  smallColor: {},
54
+ /** @deprecated leverage data-size=regular instead */
56
55
  regularColor: {}
57
56
  });
58
57
  exports.staticClasses = staticClasses;
@@ -26,7 +26,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses(name, {
26
26
  fontSize: 4,
27
27
  color: uikitStyles.theme.colors.textDisabled
28
28
  },
29
- // TODO: remove in v6 (use classes.button)
29
+ /** @deprecated: use classes.button instead */
30
30
  text: {},
31
31
  button: {
32
32
  display: "flex",
@@ -41,7 +41,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvStatusIco
41
41
  ),
42
42
  [`&[data-variant="default"]`]: {
43
43
  color: uikitStyles.theme.colors.text,
44
- backgroundColor: uikitStyles.theme.colors.bgContainerSecondary,
44
+ backgroundColor: uikitStyles.theme.colors.bgPage,
45
45
  outline: `1px solid ${uikitStyles.theme.colors.borderSubtle}`,
46
46
  [`&[data-type="simple"]`]: {
47
47
  outline: "none",
@@ -3,7 +3,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
6
- const uikitStyles = require("@hitachivantara/uikit-styles");
7
6
  const useControlled = require("../hooks/useControlled.cjs");
8
7
  const useUniqueId = require("../hooks/useUniqueId.cjs");
9
8
  const setId = require("../utils/setId.cjs");
@@ -13,7 +12,6 @@ const FormElement = require("../FormElement/FormElement.cjs");
13
12
  const Label = require("../FormElement/Label/Label.cjs");
14
13
  const utils = require("../FormElement/utils.cjs");
15
14
  const WarningText = require("../FormElement/WarningText/WarningText.cjs");
16
- const isSemantical = (color) => ["positive", "negative", "warning"].includes(color);
17
15
  const HvSwitch = React.forwardRef(
18
16
  function HvSwitch2(props, ref) {
19
17
  const {
@@ -37,10 +35,9 @@ const HvSwitch = React.forwardRef(
37
35
  statusMessage,
38
36
  "aria-errormessage": ariaErrorMessage,
39
37
  inputProps,
40
- color,
41
38
  ...others
42
39
  } = uikitReactUtils.useDefaultProps("HvSwitch", props);
43
- const { classes, cx, css } = Switch_styles.useClasses(classesProp);
40
+ const { classes, cx } = Switch_styles.useClasses(classesProp);
44
41
  const elementId = useUniqueId.useUniqueId(id);
45
42
  const [isChecked, setIsChecked] = useControlled.useControlled(checked, defaultChecked);
46
43
  const [validationState, setValidationState] = useControlled.useControlled(
@@ -116,16 +113,6 @@ const HvSwitch = React.forwardRef(
116
113
  "aria-describedby": ariaDescribedBy,
117
114
  ...inputProps
118
115
  },
119
- ...color && {
120
- classes: {
121
- switchBase: css({
122
- "&&&+.HvBaseSwitch-track,&&&.HvBaseSwitch-checked+.HvBaseSwitch-track": {
123
- backgroundColor: uikitStyles.getColor(color),
124
- borderColor: isSemantical(color) ? uikitStyles.getColor(`${color}Deep`) : "#00000032"
125
- }
126
- })
127
- }
128
- },
129
116
  ...others
130
117
  }
131
118
  )
@@ -11,6 +11,12 @@ const keyboardUtils = require("../utils/keyboardUtils.cjs");
11
11
  const Tag_styles = require("./Tag.styles.cjs");
12
12
  const ButtonBase = require("../ButtonBase/ButtonBase.cjs");
13
13
  const Typography = require("../Typography/Typography.cjs");
14
+ const colorMap = {
15
+ positive_20: "positive",
16
+ negative_20: "negative",
17
+ warning_20: "warning",
18
+ neutral_20: "info"
19
+ };
14
20
  const HvTag = React.forwardRef(function HvTag2(props, ref) {
15
21
  const {
16
22
  classes: classesProp,
@@ -26,7 +32,7 @@ const HvTag = React.forwardRef(function HvTag2(props, ref) {
26
32
  selected,
27
33
  defaultSelected = false,
28
34
  showSelectIcon = selectable,
29
- color,
35
+ color: colorProp,
30
36
  icon: iconProp,
31
37
  deleteIcon: deleteIconProp,
32
38
  onDelete,
@@ -38,6 +44,7 @@ const HvTag = React.forwardRef(function HvTag2(props, ref) {
38
44
  ...others
39
45
  } = uikitReactUtils.useDefaultProps("HvTag", props);
40
46
  const { classes, cx } = Tag_styles.useClasses(classesProp);
47
+ const { activeTheme } = uikitReactUtils.useTheme();
41
48
  const [isSelected, setIsSelected] = useControlled.useControlled(
42
49
  selected,
43
50
  Boolean(defaultSelected)
@@ -46,6 +53,7 @@ const HvTag = React.forwardRef(function HvTag2(props, ref) {
46
53
  event.stopPropagation();
47
54
  onDelete?.(event);
48
55
  };
56
+ const color = activeTheme?.name === "pentahoPlus" && colorMap[colorProp] || colorProp;
49
57
  const tagColor = (
50
58
  // backwards-compatibility for `type` prop
51
59
  type === "categorical" && uikitStyles.theme.alpha(color || "cat1", 0.2) || // use the palette color if it matches
@@ -181,9 +181,7 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
181
181
  HvBaseSwitch: {
182
182
  classes: {
183
183
  root: {
184
- width: "32px",
185
- height: "16px",
186
- borderRadius: 0,
184
+ padding: 0,
187
185
  "&:hover": {
188
186
  backgroundColor: "transparent"
189
187
  },
@@ -204,7 +202,8 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
204
202
  },
205
203
  thumb: {
206
204
  width: 12,
207
- height: 12
205
+ height: 12,
206
+ left: -9
208
207
  }
209
208
  }
210
209
  },
@@ -1154,9 +1153,6 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
1154
1153
  "& button&.HvMultiButton-button&.HvMultiButton-selected": {
1155
1154
  height: 32
1156
1155
  }
1157
- },
1158
- splitDisabled: {
1159
- backgroundColor: uikitStyles.theme.colors.atmo3
1160
1156
  }
1161
1157
  }
1162
1158
  },
@@ -46,33 +46,33 @@ const ds5 = uikitStyles.mergeTheme(uikitStyles.ds5, {
46
46
  classes: {
47
47
  root: {
48
48
  ":where(:not(.HvButton-disabled,.HvButton-contained))": {
49
- "&[data-color=warning]": { color: uikitStyles.theme.colors.warning_140 }
49
+ "&[data-color=warning]": { color: uikitStyles.theme.colors.warningDeep }
50
50
  }
51
51
  },
52
52
  contained: {
53
53
  ":where([data-color=primary]:not(.HvButton-disabled))": {
54
54
  ":hover, &:focus-visible": {
55
- backgroundColor: uikitStyles.theme.colors.primary_80,
56
- borderColor: uikitStyles.theme.colors.primary_80
55
+ backgroundColor: uikitStyles.theme.colors.primaryStrong,
56
+ borderColor: uikitStyles.theme.colors.primaryStrong
57
57
  }
58
58
  },
59
59
  ":where([data-color=positive]:not(.HvButton-disabled))": {
60
60
  ":hover, &:focus-visible": {
61
- backgroundColor: uikitStyles.theme.colors.positive_80,
62
- borderColor: uikitStyles.theme.colors.positive_80
61
+ backgroundColor: uikitStyles.theme.colors.positiveStrong,
62
+ borderColor: uikitStyles.theme.colors.positiveStrong
63
63
  }
64
64
  },
65
65
  ":where([data-color=warning]:not(.HvButton-disabled))": {
66
- backgroundColor: uikitStyles.theme.colors.warning_120,
66
+ backgroundColor: uikitStyles.theme.colors.warningStrong,
67
67
  ":hover, &:focus-visible": {
68
- backgroundColor: uikitStyles.theme.colors.warning_140,
69
- borderColor: uikitStyles.theme.colors.warning_140
68
+ backgroundColor: uikitStyles.theme.colors.warningDeep,
69
+ borderColor: uikitStyles.theme.colors.warningDeep
70
70
  }
71
71
  },
72
72
  ":where([data-color=negative]:not(.HvButton-disabled))": {
73
73
  ":hover, &:focus-visible": {
74
- backgroundColor: uikitStyles.theme.colors.negative_80,
75
- borderColor: uikitStyles.theme.colors.negative_80
74
+ backgroundColor: uikitStyles.theme.colors.negativeStrong,
75
+ borderColor: uikitStyles.theme.colors.negativeStrong
76
76
  }
77
77
  }
78
78
  }
@@ -105,10 +105,10 @@ const ds5 = uikitStyles.mergeTheme(uikitStyles.ds5, {
105
105
  splitGroup: {
106
106
  // NEXT5 subtle multi-buttons have a custom background
107
107
  "& .HvButton-subtle": {
108
- backgroundColor: uikitStyles.theme.colors.atmo1
108
+ backgroundColor: uikitStyles.theme.colors.bgContainer
109
109
  },
110
110
  "&& .HvButton-disabled": {
111
- backgroundColor: uikitStyles.theme.colors.atmo3
111
+ backgroundColor: uikitStyles.theme.colors.bgDisabled
112
112
  }
113
113
  }
114
114
  }
@@ -133,7 +133,7 @@ const ds5 = uikitStyles.mergeTheme(uikitStyles.ds5, {
133
133
  classes: {
134
134
  root: {
135
135
  "&.HvTab-selected": {
136
- color: uikitStyles.theme.colors.secondary
136
+ color: uikitStyles.theme.colors.text
137
137
  }
138
138
  }
139
139
  }
@@ -155,7 +155,7 @@ const ds5 = uikitStyles.mergeTheme(uikitStyles.ds5, {
155
155
  padding: 0
156
156
  },
157
157
  "& .HvIconContainer-root": {
158
- color: `${uikitStyles.theme.colors.secondary}!important`
158
+ color: `${uikitStyles.theme.colors.text}!important`
159
159
  }
160
160
  }
161
161
  }
@@ -114,39 +114,71 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
114
114
  HvBaseSwitch: {
115
115
  classes: {
116
116
  root: {
117
- borderRadius: uikitStyles.theme.radii.base,
117
+ padding: uikitStyles.theme.space.xxs,
118
+ borderRadius: uikitStyles.theme.radii.full,
118
119
  "&:hover": {
119
120
  backgroundColor: uikitStyles.theme.colors.bgHover
120
121
  },
121
122
  "& .HvBaseSwitch-switchBase": {
122
123
  "& .HvBaseSwitch-thumb": {
123
124
  borderColor: "transparent",
124
- boxShadow: `0px 1px 1px 0px ${uikitStyles.theme.alpha(uikitStyles.slate[700], 0.16)}`
125
+ backgroundColor: "#FFFFFF",
126
+ left: -8,
127
+ top: -3,
128
+ width: 14,
129
+ height: 14
125
130
  },
126
131
  "+.HvBaseSwitch-track": {
127
- height: 14,
128
132
  backgroundColor: uikitStyles.theme.colors.textDimmed,
129
- borderColor: uikitStyles.theme.colors.textSubtle
133
+ border: "none",
134
+ width: 40,
135
+ height: 18
130
136
  },
131
137
  "&.HvBaseSwitch-checked": {
132
- "& .HvBaseSwitch-thumb": {
133
- border: `1px solid ${uikitStyles.theme.colors.bgContainer}`
134
- },
135
138
  "+.HvBaseSwitch-track": {
136
- borderColor: uikitStyles.theme.colors.primaryStrong
139
+ backgroundColor: uikitStyles.theme.colors.positive
140
+ },
141
+ "& .HvBaseSwitch-thumb": {
142
+ left: -2
137
143
  }
138
144
  },
139
145
  "&.HvBaseSwitch-disabled": {
140
146
  "& .HvBaseSwitch-thumb": {
141
- backgroundColor: uikitStyles.theme.colors.borderDisabled,
142
- borderColor: uikitStyles.theme.colors.borderDisabled
147
+ borderColor: uikitStyles.theme.colors.textDisabled
143
148
  },
144
149
  "+.HvBaseSwitch-track": {
145
- borderColor: uikitStyles.theme.colors.borderDisabled,
146
- backgroundColor: uikitStyles.theme.colors.bgDisabled
150
+ backgroundColor: uikitStyles.theme.colors.bgDisabled,
151
+ border: "none"
152
+ }
153
+ },
154
+ "&[data-size=medium]": {
155
+ "+.HvBaseSwitch-track": {
156
+ width: 48,
157
+ height: 24
158
+ },
159
+ "& .HvBaseSwitch-thumb": {
160
+ left: -5,
161
+ top: 0,
162
+ width: 16,
163
+ height: 16
164
+ },
165
+ "&.HvBaseSwitch-checked .HvBaseSwitch-thumb": {
166
+ left: 3,
167
+ top: 0
147
168
  }
148
169
  }
149
170
  }
171
+ },
172
+ readOnly: {
173
+ ":hover": {
174
+ backgroundColor: "transparent"
175
+ },
176
+ "& .HvBaseSwitch-switchBase + .HvBaseSwitch-track": {
177
+ backgroundColor: uikitStyles.theme.colors.border
178
+ },
179
+ "& .HvBaseSwitch-switchBase.HvBaseSwitch-checked + .HvBaseSwitch-track": {
180
+ backgroundColor: uikitStyles.theme.mix("positive", 0.5, "dimmer")
181
+ }
150
182
  }
151
183
  }
152
184
  },
@@ -154,7 +186,6 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
154
186
  classes: {
155
187
  content: {
156
188
  backgroundColor: uikitStyles.theme.colors.bgPage
157
- // = bgContainerSecondary
158
189
  }
159
190
  }
160
191
  },
@@ -362,7 +393,7 @@ const pentahoPlus = uikitStyles.mergeTheme(uikitStyles.pentahoPlus, {
362
393
  },
363
394
  "&[data-color=secondary]": {
364
395
  borderColor: uikitStyles.theme.colors.border,
365
- backgroundColor: uikitStyles.theme.colors.bgContainerSecondary
396
+ backgroundColor: uikitStyles.theme.colors.bgPage
366
397
  },
367
398
  ":hover": {
368
399
  backgroundColor: uikitStyles.theme.colors.primaryDimmed
@@ -2,6 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useState, useCallback } from "react";
3
3
  import MuiSwitch from "@mui/material/Switch";
4
4
  import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
5
+ import { getColor } from "@hitachivantara/uikit-styles";
5
6
  import { useClasses } from "./BaseSwitch.styles.js";
6
7
  import { staticClasses } from "./BaseSwitch.styles.js";
7
8
  const HvBaseSwitch = forwardRef(
@@ -21,9 +22,11 @@ const HvBaseSwitch = forwardRef(
21
22
  inputProps,
22
23
  onFocusVisible,
23
24
  onBlur,
25
+ size = "sm",
26
+ color,
24
27
  ...others
25
28
  } = useDefaultProps("HvBaseSwitch", props);
26
- const { classes, cx } = useClasses(classesProp);
29
+ const { classes, cx, css } = useClasses(classesProp);
27
30
  const [focusVisible, setFocusVisible] = useState(false);
28
31
  const onFocusVisibleCallback = useCallback(
29
32
  (evt) => {
@@ -63,7 +66,6 @@ const HvBaseSwitch = forwardRef(
63
66
  },
64
67
  className
65
68
  ),
66
- color: "default",
67
69
  disabled,
68
70
  required,
69
71
  readOnly,
@@ -73,15 +75,27 @@ const HvBaseSwitch = forwardRef(
73
75
  defaultChecked,
74
76
  classes: {
75
77
  root: classes.switch,
76
- switchBase: classes.switchBase,
78
+ switchBase: cx(classes.switchBase),
77
79
  checked: classes.checked,
78
- track: classes.track,
79
- thumb: classes.thumb,
80
+ track: cx(
81
+ classes.track,
82
+ color ? css({
83
+ backgroundColor: `${getColor(color, "transparent")}!important`,
84
+ border: "none"
85
+ }) : void 0
86
+ ),
87
+ thumb: cx(
88
+ classes.thumb,
89
+ color ? css({
90
+ border: "none"
91
+ }) : void 0
92
+ ),
80
93
  disabled: classes.disabled
81
94
  },
82
95
  inputProps,
83
96
  onFocusVisible: onFocusVisibleCallback,
84
97
  onBlur: onBlurCallback,
98
+ "data-size": size,
85
99
  ...others
86
100
  }
87
101
  );
@@ -3,10 +3,10 @@ import { theme } from "@hitachivantara/uikit-styles";
3
3
  import { outlineStyles } from "../utils/focusUtils.js";
4
4
  const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
5
5
  root: {
6
- padding: 0,
6
+ padding: theme.space.xs,
7
7
  cursor: "pointer",
8
- width: "40px",
9
- height: "32px",
8
+ width: "fit-content",
9
+ height: "fit-content",
10
10
  alignItems: "center",
11
11
  justifyContent: "center",
12
12
  borderRadius: theme.radii.round,
@@ -25,7 +25,7 @@ const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
25
25
  backgroundColor: theme.colors.primary,
26
26
  borderColor: "transparent"
27
27
  },
28
- "& $thumb:not:has($disabled)": {
28
+ "&:not($disabled) $thumb": {
29
29
  borderColor: "transparent"
30
30
  },
31
31
  "&:hover": {
@@ -55,7 +55,23 @@ const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
55
55
  switchBase: {
56
56
  width: "40px",
57
57
  height: "32px",
58
- padding: 0
58
+ padding: 0,
59
+ "&[data-size=medium]": {
60
+ "+.HvBaseSwitch-track": {
61
+ width: 48,
62
+ height: 22
63
+ },
64
+ "& $thumb": {
65
+ left: -2,
66
+ top: 3,
67
+ width: 18,
68
+ height: 18
69
+ },
70
+ "&$checked $thumb": {
71
+ left: 8,
72
+ top: 3
73
+ }
74
+ }
59
75
  },
60
76
  track: {
61
77
  opacity: 1,
@@ -67,7 +83,7 @@ const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
67
83
  },
68
84
  thumb: {
69
85
  position: "relative",
70
- left: "-9px",
86
+ left: "-5px",
71
87
  width: "10px",
72
88
  height: "10px",
73
89
  border: `solid 1px ${theme.colors.borderStrong}`,
@@ -6,7 +6,6 @@ import { useClasses } from "./Bar.styles.js";
6
6
  import { staticClasses } from "./Bar.styles.js";
7
7
  const Bar = (props) => {
8
8
  const {
9
- id,
10
9
  data = [],
11
10
  type = "menubar",
12
11
  className,
@@ -29,7 +28,7 @@ const Bar = (props) => {
29
28
  },
30
29
  className
31
30
  ),
32
- children: /* @__PURE__ */ jsx("ul", { className: classes.list, id, onFocus: () => {
31
+ children: /* @__PURE__ */ jsx("ul", { className: classes.list, onFocus: () => {
33
32
  }, children })
34
33
  }
35
34
  );