carbon-react 142.0.1 → 142.0.3

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.
@@ -286,7 +286,7 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
286
286
  menuType: menuType,
287
287
  ref: ref,
288
288
  href: href,
289
- variant: variant,
289
+ menuItemVariant: variant,
290
290
  inFullscreenView: inFullscreenView,
291
291
  asDiv: asPassiveItem
292
292
  }), title), /*#__PURE__*/React.createElement(StyledSubmenu, {
@@ -319,7 +319,7 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
319
319
  ref: ref,
320
320
  icon: icon,
321
321
  tabIndex: -1,
322
- variant: variant,
322
+ menuItemVariant: variant,
323
323
  isOpen: submenuOpen,
324
324
  hasSubmenu: true,
325
325
  showDropdownArrow: showDropdownArrow,
@@ -118,7 +118,6 @@ export const MenuItem = ({
118
118
  icon,
119
119
  removeAriaLabelOnIcon: true,
120
120
  selected,
121
- variant,
122
121
  onKeyDown: !inFullscreenView ? handleKeyDown : undefined,
123
122
  overrideColor,
124
123
  ref
@@ -151,7 +150,9 @@ export const MenuItem = ({
151
150
  ariaLabel: ariaLabel,
152
151
  onSubmenuOpen: onSubmenuOpen,
153
152
  onSubmenuClose: onSubmenuClose
154
- }, elementProps, rest), children));
153
+ }, elementProps, {
154
+ variant: variant
155
+ }, rest), children));
155
156
  }
156
157
  const paddingProps = filterStyledSystemPaddingProps(rest);
157
158
  return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({
@@ -171,6 +172,7 @@ export const MenuItem = ({
171
172
  menuType: menuType,
172
173
  "data-role": "menu-item-wrapper"
173
174
  }, elementProps, {
175
+ menuItemVariant: variant,
174
176
  ariaLabel: ariaLabel,
175
177
  maxWidth: maxWidth,
176
178
  inFullscreenView: inFullscreenView,
@@ -2,7 +2,7 @@
2
2
  import { PaddingProps } from "styled-system";
3
3
  import { MenuType } from "../__internal__/menu.context";
4
4
  import { MenuWithChildren } from "./menu-item.component";
5
- interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "variant" | "showDropdownArrow" | "overrideColor" | "clickToOpen" | "maxWidth">, PaddingProps {
5
+ interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "showDropdownArrow" | "overrideColor" | "clickToOpen" | "maxWidth">, PaddingProps {
6
6
  menuType: MenuType;
7
7
  selected?: boolean;
8
8
  hasSubmenu?: boolean;
@@ -14,6 +14,7 @@ interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "va
14
14
  ariaLabel?: string;
15
15
  asDiv?: boolean;
16
16
  hasInput?: boolean;
17
+ menuItemVariant?: Pick<MenuWithChildren, "variant">["variant"];
17
18
  }
18
19
  declare const StyledMenuItemWrapper: import("styled-components").StyledComponent<"a", any, {
19
20
  as: import("react").ForwardRefExoticComponent<import("../../link").LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>;
@@ -18,7 +18,7 @@ const StyledMenuItemWrapper = styled.a.attrs({
18
18
  selected,
19
19
  hasSubmenu,
20
20
  isOpen,
21
- variant,
21
+ menuItemVariant,
22
22
  showDropdownArrow,
23
23
  href,
24
24
  clickToOpen,
@@ -64,7 +64,7 @@ const StyledMenuItemWrapper = styled.a.attrs({
64
64
 
65
65
  ${overrideColor && css`
66
66
  &&&& {
67
- background-color: ${variant === "alternate" ? menuConfigVariants[menuType].alternate : menuConfigVariants[menuType].submenuItemBackground};
67
+ background-color: ${menuItemVariant === "alternate" ? menuConfigVariants[menuType].alternate : menuConfigVariants[menuType].submenuItemBackground};
68
68
  }
69
69
  `}
70
70
 
@@ -182,7 +182,7 @@ const StyledMenuItemWrapper = styled.a.attrs({
182
182
  }
183
183
  `}
184
184
 
185
- ${variant === "alternate" && !inFullscreenView && css`
185
+ ${menuItemVariant === "alternate" && !inFullscreenView && css`
186
186
  &&& {
187
187
  background-color: ${menuConfigVariants[menuType].alternate};
188
188
  }
@@ -13,6 +13,7 @@ import { InputGroupContext } from "../../__internal__/input-behaviour";
13
13
  import { filterStyledSystemMarginProps } from "../../style/utils";
14
14
  import Logger from "../../__internal__/utils/logger";
15
15
  let deprecateUncontrolledWarnTriggered = false;
16
+ const isBlurBlockedDeprecateWarnTriggered = false;
16
17
  const SimpleColorPicker = /*#__PURE__*/React.forwardRef((props, ref) => {
17
18
  const {
18
19
  children,
@@ -145,9 +146,13 @@ const SimpleColorPicker = /*#__PURE__*/React.forwardRef((props, ref) => {
145
146
  });
146
147
  const handleOnBlur = ev => {
147
148
  ev.preventDefault();
148
- if (!blurBlocked && onBlur) {
149
- onBlur(ev);
150
- }
149
+ setTimeout(() => {
150
+ const hasBlurred = !gridItemRefs?.current?.find(colorRef => colorRef === document.activeElement);
151
+ /* istanbul ignore else */
152
+ if (onBlur && hasBlurred && !blurBlocked) {
153
+ onBlur(ev);
154
+ }
155
+ }, 5);
151
156
  };
152
157
  const handleOnMouseDown = ev => {
153
158
  setIsBlurBlocked(true);
@@ -177,6 +182,10 @@ const SimpleColorPicker = /*#__PURE__*/React.forwardRef((props, ref) => {
177
182
  deprecateUncontrolledWarnTriggered = true;
178
183
  Logger.deprecate("Uncontrolled behaviour in `Simple Color Picker` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
179
184
  }
185
+ if (!isBlurBlockedDeprecateWarnTriggered && isBlurBlocked) {
186
+ deprecateUncontrolledWarnTriggered = true;
187
+ Logger.deprecate(`The 'isBlurBlocked' prop in ${SimpleColorPicker.displayName} is deprecated and support will soon be removed.`);
188
+ }
180
189
  return /*#__PURE__*/React.createElement(Fieldset, _extends({
181
190
  role: "radiogroup",
182
191
  legend: legend,
@@ -295,7 +295,7 @@ const Submenu = /*#__PURE__*/_react.default.forwardRef(({
295
295
  menuType: menuType,
296
296
  ref: ref,
297
297
  href: href,
298
- variant: variant,
298
+ menuItemVariant: variant,
299
299
  inFullscreenView: inFullscreenView,
300
300
  asDiv: asPassiveItem
301
301
  }), title), /*#__PURE__*/_react.default.createElement(_submenu.StyledSubmenu, {
@@ -328,7 +328,7 @@ const Submenu = /*#__PURE__*/_react.default.forwardRef(({
328
328
  ref: ref,
329
329
  icon: icon,
330
330
  tabIndex: -1,
331
- variant: variant,
331
+ menuItemVariant: variant,
332
332
  isOpen: submenuOpen,
333
333
  hasSubmenu: true,
334
334
  showDropdownArrow: showDropdownArrow,
@@ -127,7 +127,6 @@ const MenuItem = ({
127
127
  icon,
128
128
  removeAriaLabelOnIcon: true,
129
129
  selected,
130
- variant,
131
130
  onKeyDown: !inFullscreenView ? handleKeyDown : undefined,
132
131
  overrideColor,
133
132
  ref
@@ -160,7 +159,9 @@ const MenuItem = ({
160
159
  ariaLabel: ariaLabel,
161
160
  onSubmenuOpen: onSubmenuOpen,
162
161
  onSubmenuClose: onSubmenuClose
163
- }, elementProps, rest), children));
162
+ }, elementProps, {
163
+ variant: variant
164
+ }, rest), children));
164
165
  }
165
166
  const paddingProps = (0, _utils.filterStyledSystemPaddingProps)(rest);
166
167
  return /*#__PURE__*/_react.default.createElement(_menu2.StyledMenuItem, _extends({
@@ -180,6 +181,7 @@ const MenuItem = ({
180
181
  menuType: menuType,
181
182
  "data-role": "menu-item-wrapper"
182
183
  }, elementProps, {
184
+ menuItemVariant: variant,
183
185
  ariaLabel: ariaLabel,
184
186
  maxWidth: maxWidth,
185
187
  inFullscreenView: inFullscreenView,
@@ -2,7 +2,7 @@
2
2
  import { PaddingProps } from "styled-system";
3
3
  import { MenuType } from "../__internal__/menu.context";
4
4
  import { MenuWithChildren } from "./menu-item.component";
5
- interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "variant" | "showDropdownArrow" | "overrideColor" | "clickToOpen" | "maxWidth">, PaddingProps {
5
+ interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "showDropdownArrow" | "overrideColor" | "clickToOpen" | "maxWidth">, PaddingProps {
6
6
  menuType: MenuType;
7
7
  selected?: boolean;
8
8
  hasSubmenu?: boolean;
@@ -14,6 +14,7 @@ interface StyledMenuItemWrapperProps extends Pick<MenuWithChildren, "href" | "va
14
14
  ariaLabel?: string;
15
15
  asDiv?: boolean;
16
16
  hasInput?: boolean;
17
+ menuItemVariant?: Pick<MenuWithChildren, "variant">["variant"];
17
18
  }
18
19
  declare const StyledMenuItemWrapper: import("styled-components").StyledComponent<"a", any, {
19
20
  as: import("react").ForwardRefExoticComponent<import("../../link").LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>;
@@ -27,7 +27,7 @@ const StyledMenuItemWrapper = _styledComponents.default.a.attrs({
27
27
  selected,
28
28
  hasSubmenu,
29
29
  isOpen,
30
- variant,
30
+ menuItemVariant,
31
31
  showDropdownArrow,
32
32
  href,
33
33
  clickToOpen,
@@ -73,7 +73,7 @@ const StyledMenuItemWrapper = _styledComponents.default.a.attrs({
73
73
 
74
74
  ${overrideColor && (0, _styledComponents.css)`
75
75
  &&&& {
76
- background-color: ${variant === "alternate" ? _menu.default[menuType].alternate : _menu.default[menuType].submenuItemBackground};
76
+ background-color: ${menuItemVariant === "alternate" ? _menu.default[menuType].alternate : _menu.default[menuType].submenuItemBackground};
77
77
  }
78
78
  `}
79
79
 
@@ -191,7 +191,7 @@ const StyledMenuItemWrapper = _styledComponents.default.a.attrs({
191
191
  }
192
192
  `}
193
193
 
194
- ${variant === "alternate" && !inFullscreenView && (0, _styledComponents.css)`
194
+ ${menuItemVariant === "alternate" && !inFullscreenView && (0, _styledComponents.css)`
195
195
  &&& {
196
196
  background-color: ${_menu.default[menuType].alternate};
197
197
  }
@@ -22,6 +22,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
22
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
23
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
24
  let deprecateUncontrolledWarnTriggered = false;
25
+ const isBlurBlockedDeprecateWarnTriggered = false;
25
26
  const SimpleColorPicker = exports.SimpleColorPicker = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
26
27
  const {
27
28
  children,
@@ -154,9 +155,13 @@ const SimpleColorPicker = exports.SimpleColorPicker = /*#__PURE__*/_react.defaul
154
155
  });
155
156
  const handleOnBlur = ev => {
156
157
  ev.preventDefault();
157
- if (!blurBlocked && onBlur) {
158
- onBlur(ev);
159
- }
158
+ setTimeout(() => {
159
+ const hasBlurred = !gridItemRefs?.current?.find(colorRef => colorRef === document.activeElement);
160
+ /* istanbul ignore else */
161
+ if (onBlur && hasBlurred && !blurBlocked) {
162
+ onBlur(ev);
163
+ }
164
+ }, 5);
160
165
  };
161
166
  const handleOnMouseDown = ev => {
162
167
  setIsBlurBlocked(true);
@@ -186,6 +191,10 @@ const SimpleColorPicker = exports.SimpleColorPicker = /*#__PURE__*/_react.defaul
186
191
  deprecateUncontrolledWarnTriggered = true;
187
192
  _logger.default.deprecate("Uncontrolled behaviour in `Simple Color Picker` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
188
193
  }
194
+ if (!isBlurBlockedDeprecateWarnTriggered && isBlurBlocked) {
195
+ deprecateUncontrolledWarnTriggered = true;
196
+ _logger.default.deprecate(`The 'isBlurBlocked' prop in ${SimpleColorPicker.displayName} is deprecated and support will soon be removed.`);
197
+ }
189
198
  return /*#__PURE__*/_react.default.createElement(_fieldset.default, _extends({
190
199
  role: "radiogroup",
191
200
  legend: legend,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "142.0.1",
3
+ "version": "142.0.3",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",