carbon-react 104.55.0 → 104.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/esm/__internal__/checkable-input/hidden-checkable-input.component.d.ts +4 -1
  2. package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +5 -1
  3. package/esm/__internal__/checkable-input/hidden-checkable-input.d.ts +2 -0
  4. package/esm/__internal__/form-field/form-field.component.js +3 -3
  5. package/esm/__internal__/input/input-presentation.component.js +6 -1
  6. package/esm/__internal__/input/input-presentation.style.d.ts +1 -0
  7. package/esm/__internal__/input/input-presentation.style.js +3 -2
  8. package/esm/__internal__/validation-message/index.d.ts +1 -0
  9. package/esm/__internal__/validation-message/index.js +1 -0
  10. package/esm/__internal__/validation-message/validation-message.component.d.ts +11 -0
  11. package/esm/__internal__/validation-message/validation-message.component.js +15 -0
  12. package/esm/__internal__/validation-message/validation-message.style.d.ts +5 -0
  13. package/esm/__internal__/validation-message/validation-message.style.js +12 -0
  14. package/esm/__internal__/validations/validation-icon.component.js +3 -5
  15. package/esm/components/carbon-provider/carbon-provider.component.d.ts +5 -1
  16. package/esm/components/carbon-provider/carbon-provider.component.js +11 -4
  17. package/esm/components/carbon-provider/carbon-provider.d.ts +1 -0
  18. package/esm/components/date-range/date-range.style.js +1 -1
  19. package/esm/components/fieldset/fieldset.component.js +7 -2
  20. package/esm/components/icon/icon.component.js +6 -1
  21. package/esm/components/icon/icon.d.ts +2 -0
  22. package/esm/components/numeral-date/numeral-date-context.d.ts +3 -0
  23. package/esm/components/numeral-date/numeral-date-context.js +2 -0
  24. package/esm/components/numeral-date/numeral-date.component.js +22 -6
  25. package/esm/components/switch/switch.component.js +1 -0
  26. package/esm/components/textarea/textarea.component.js +27 -12
  27. package/esm/components/textbox/textbox.component.js +36 -15
  28. package/esm/components/textbox/textbox.d.ts +1 -1
  29. package/esm/components/textbox/textbox.style.d.ts +2 -0
  30. package/esm/components/textbox/textbox.style.js +33 -0
  31. package/esm/style/themes/base/base-theme.config.d.ts +2 -0
  32. package/esm/style/themes/base/base-theme.config.js +3 -1
  33. package/esm/style/themes/base/index.d.ts +2 -0
  34. package/lib/__internal__/checkable-input/hidden-checkable-input.component.d.ts +4 -1
  35. package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +5 -1
  36. package/lib/__internal__/checkable-input/hidden-checkable-input.d.ts +2 -0
  37. package/lib/__internal__/form-field/form-field.component.js +3 -3
  38. package/lib/__internal__/input/input-presentation.component.js +7 -1
  39. package/lib/__internal__/input/input-presentation.style.d.ts +1 -0
  40. package/lib/__internal__/input/input-presentation.style.js +3 -2
  41. package/lib/__internal__/validation-message/index.d.ts +1 -0
  42. package/lib/__internal__/validation-message/index.js +15 -0
  43. package/lib/__internal__/validation-message/package.json +6 -0
  44. package/lib/__internal__/validation-message/validation-message.component.d.ts +11 -0
  45. package/lib/__internal__/validation-message/validation-message.component.js +26 -0
  46. package/lib/__internal__/validation-message/validation-message.style.d.ts +5 -0
  47. package/lib/__internal__/validation-message/validation-message.style.js +25 -0
  48. package/lib/__internal__/validations/validation-icon.component.js +3 -5
  49. package/lib/components/carbon-provider/carbon-provider.component.d.ts +5 -1
  50. package/lib/components/carbon-provider/carbon-provider.component.js +18 -5
  51. package/lib/components/carbon-provider/carbon-provider.d.ts +1 -0
  52. package/lib/components/date-range/date-range.style.js +1 -1
  53. package/lib/components/fieldset/fieldset.component.js +8 -2
  54. package/lib/components/icon/icon.component.js +6 -1
  55. package/lib/components/icon/icon.d.ts +2 -0
  56. package/lib/components/numeral-date/numeral-date-context.d.ts +3 -0
  57. package/lib/components/numeral-date/numeral-date-context.js +14 -0
  58. package/lib/components/numeral-date/numeral-date.component.js +25 -5
  59. package/lib/components/switch/switch.component.js +1 -0
  60. package/lib/components/textarea/textarea.component.js +30 -12
  61. package/lib/components/textbox/textbox.component.js +44 -15
  62. package/lib/components/textbox/textbox.d.ts +1 -1
  63. package/lib/components/textbox/textbox.style.d.ts +2 -0
  64. package/lib/components/textbox/textbox.style.js +49 -0
  65. package/lib/style/themes/base/base-theme.config.d.ts +2 -0
  66. package/lib/style/themes/base/base-theme.config.js +3 -1
  67. package/lib/style/themes/base/index.d.ts +2 -0
  68. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ import styled, { css } from "styled-components";
2
+ import PropTypes from "prop-types";
3
+ const ErrorBorder = styled.span`
4
+ ${({
5
+ warning
6
+ }) => css`
7
+ position: absolute;
8
+ z-index: 6;
9
+ width: 2px;
10
+ height: calc(100% + var(--spacing300));
11
+ background-color: ${warning ? "var(--colorsSemanticCaution500)" : "var(--colorsSemanticNegative500)"};
12
+ left: -12px;
13
+ bottom: 0px;
14
+ `}
15
+ `;
16
+ const StyledHintText = styled.p`
17
+ margin-top: 0px;
18
+ margin-bottom: 8px;
19
+ color: var(--colorsUtilityYin055);
20
+ font-size: 14px;
21
+ `;
22
+ StyledHintText.defaultProps = {
23
+ size: "medium"
24
+ };
25
+ ErrorBorder.propTypes = {
26
+ warning: PropTypes.bool,
27
+ size: PropTypes.string
28
+ };
29
+ ErrorBorder.defaultProps = {
30
+ warning: false,
31
+ size: "medium"
32
+ };
33
+ export { StyledHintText, ErrorBorder };
@@ -14,9 +14,11 @@ declare function _default(palette: any): {
14
14
  focus: any;
15
15
  info: any;
16
16
  warning: any;
17
+ warningText: any;
17
18
  destructive: {
18
19
  hover: any;
19
20
  };
21
+ placeholder: any;
20
22
  };
21
23
  disabled: {
22
24
  background: any;
@@ -19,9 +19,11 @@ export default (palette => {
19
19
  focus: palette.gold,
20
20
  info: palette.productBlueShade(3),
21
21
  warning: palette.carrotOrange,
22
+ warningText: palette.carrotOrangeShade(20),
22
23
  destructive: {
23
24
  hover: palette.errorRedShade(20)
24
- }
25
+ },
26
+ placeholder: palette.blackOpacity(0.55)
25
27
  },
26
28
  disabled: {
27
29
  background: palette.slateTint(90)
@@ -27,6 +27,8 @@ export interface Colors {
27
27
  destructive: {
28
28
  hover: string;
29
29
  };
30
+ warningText: string;
31
+ placeholder: string;
30
32
  }
31
33
 
32
34
  export interface ThemeObject {
@@ -1,5 +1,5 @@
1
1
  declare var _default: React.MemoExoticComponent<{
2
- ({ name, checked, type, value, inputRef, onChange, autoFocus, ...props }: {
2
+ ({ name, checked, type, value, inputRef, onChange, autoFocus, role, ...props }: {
3
3
  [x: string]: any;
4
4
  name: any;
5
5
  checked: any;
@@ -8,6 +8,7 @@ declare var _default: React.MemoExoticComponent<{
8
8
  inputRef: any;
9
9
  onChange: any;
10
10
  autoFocus: any;
11
+ role: any;
11
12
  }): JSX.Element;
12
13
  propTypes: {
13
14
  /** Allows component to be focused on page load */
@@ -28,6 +29,8 @@ declare var _default: React.MemoExoticComponent<{
28
29
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
29
30
  /** HTML type attribute of the input */
30
31
  type: PropTypes.Validator<string>;
32
+ /** Role attribute of the input */
33
+ role: PropTypes.Requireable<string>;
31
34
  /** Value of the input */
32
35
  value: PropTypes.Requireable<string>;
33
36
  /** A callback to retrieve the input reference */
@@ -29,6 +29,7 @@ const HiddenCheckableInput = ({
29
29
  inputRef,
30
30
  onChange,
31
31
  autoFocus,
32
+ role,
32
33
  ...props
33
34
  }) => {
34
35
  const {
@@ -73,7 +74,7 @@ const HiddenCheckableInput = ({
73
74
  "aria-checked": checked,
74
75
  checked: checked,
75
76
  name: name,
76
- role: type,
77
+ role: role || type,
77
78
  type: type,
78
79
  value: value
79
80
  }, props, {
@@ -114,6 +115,9 @@ HiddenCheckableInput.propTypes = {
114
115
  /** HTML type attribute of the input */
115
116
  type: _propTypes.default.string.isRequired,
116
117
 
118
+ /** Role attribute of the input */
119
+ role: _propTypes.default.string,
120
+
117
121
  /** Value of the input */
118
122
  value: _propTypes.default.string,
119
123
 
@@ -31,6 +31,8 @@ export interface HiddenCheckableInputProps
31
31
  extends CommonHiddenCheckableInputProps {
32
32
  /** HTML type attribute of the input */
33
33
  type: string;
34
+ /** Role attribute of the input */
35
+ role?: string;
34
36
  }
35
37
 
36
38
  declare function HiddenCheckableInput(
@@ -90,9 +90,9 @@ const FormField = ({
90
90
  labelId: labelId,
91
91
  align: labelAlign,
92
92
  disabled: disabled,
93
- error: error,
94
- warning: warning,
95
- info: info,
93
+ error: !rest.validationRedesignOptIn && error,
94
+ warning: !rest.validationRedesignOptIn && warning,
95
+ info: !rest.validationRedesignOptIn && info,
96
96
  help: labelHelp,
97
97
  tooltipId: tooltipId,
98
98
  helpTabIndex: helpTabIndex,
@@ -13,6 +13,8 @@ var _inputPresentation = _interopRequireWildcard(require("./input-presentation.s
13
13
 
14
14
  var _inputBehaviour = require("../input-behaviour");
15
15
 
16
+ var _carbonProvider = require("../../components/carbon-provider/carbon-provider.component");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -37,6 +39,9 @@ const InputPresentation = ({
37
39
  onMouseEnter,
38
40
  onMouseLeave
39
41
  } = (0, _react.useContext)(_inputBehaviour.InputContext);
42
+ const {
43
+ validationRedesignOptIn
44
+ } = (0, _react.useContext)(_carbonProvider.NewValidationContext);
40
45
  const {
41
46
  onMouseEnter: onGroupMouseEnter,
42
47
  onMouseLeave: onGroupMouseLeave
@@ -66,7 +71,8 @@ const InputPresentation = ({
66
71
  size: size,
67
72
  warning: warning,
68
73
  error: error,
69
- info: info
74
+ info: info,
75
+ validationRedesignOptIn: validationRedesignOptIn
70
76
  }, children));
71
77
  };
72
78
 
@@ -5,4 +5,5 @@ declare const InputPresentationStyle: import("styled-components").StyledComponen
5
5
  warning: any;
6
6
  info: any;
7
7
  disabled: any;
8
+ validationRedesignOptIn: any;
8
9
  }, never>;
@@ -87,7 +87,8 @@ function stylingForValidations({
87
87
  error,
88
88
  warning,
89
89
  info,
90
- disabled
90
+ disabled,
91
+ validationRedesignOptIn
91
92
  }) {
92
93
  let validationColor;
93
94
 
@@ -98,7 +99,7 @@ function stylingForValidations({
98
99
  if (error) {
99
100
  validationColor = "var(--colorsSemanticNegative500)";
100
101
  } else if (warning) {
101
- validationColor = "var(--colorsSemanticCaution500)";
102
+ validationColor = validationRedesignOptIn ? "var(--colorsUtilityMajor300)" : "var(--colorsSemanticCaution500)";
102
103
  } else if (info) {
103
104
  validationColor = "var(--colorsSemanticInfo500)";
104
105
  } else {
@@ -0,0 +1 @@
1
+ export { default } from "./validation-message.component";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _validationMessage.default;
10
+ }
11
+ });
12
+
13
+ var _validationMessage = _interopRequireDefault(require("./validation-message.component"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../esm/__internal__/validation-message/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export interface ValidationMessageProps {
3
+ /** Indicate that error has occurred
4
+ Pass string to display hint with error */
5
+ error?: boolean | string;
6
+ /** Indicate that warning has occurred
7
+ Pass string to display hint with warning */
8
+ warning?: boolean | string;
9
+ }
10
+ declare const ValidationMessage: ({ error, warning }: ValidationMessageProps) => JSX.Element | null;
11
+ export default ValidationMessage;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _validationMessage = _interopRequireDefault(require("./validation-message.style"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const ValidationMessage = ({
15
+ error,
16
+ warning
17
+ }) => {
18
+ const validation = error || warning;
19
+ const isStringValidation = typeof validation === "string";
20
+ return isStringValidation ? /*#__PURE__*/_react.default.createElement(_validationMessage.default, {
21
+ isWarning: !!(!error && warning)
22
+ }, validation) : null;
23
+ };
24
+
25
+ var _default = ValidationMessage;
26
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ interface StyledValidationMessageProps {
2
+ isWarning?: boolean;
3
+ }
4
+ declare const StyledValidationMessage: import("styled-components").StyledComponent<"p", any, StyledValidationMessageProps, never>;
5
+ export default StyledValidationMessage;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
10
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
11
+
12
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+
14
+ const StyledValidationMessage = _styledComponents.default.p`
15
+ ${({
16
+ isWarning
17
+ }) => (0, _styledComponents.css)`
18
+ color: ${isWarning ? "var(--colorsSemanticCaution600)" : "var(--colorsSemanticNegative500)"};
19
+ font-weight: ${isWarning ? "regular" : "bold"};
20
+ margin-top: 0px;
21
+ margin-bottom: 8px;
22
+ `}
23
+ `;
24
+ var _default = StyledValidationMessage;
25
+ exports.default = _default;
@@ -77,10 +77,7 @@ const ValidationIcon = ({
77
77
  }
78
78
 
79
79
  return /*#__PURE__*/_react.default.createElement(_validationIcon.default, _extends({
80
- id: iconId,
81
80
  validationType: validationType,
82
- role: "tooltip",
83
- "aria-label": validationMessage,
84
81
  onClick: onClick,
85
82
  onMouseOver: () => setTriggeredByIcon(true),
86
83
  onMouseLeave: () => setTriggeredByIcon(false),
@@ -104,8 +101,9 @@ const ValidationIcon = ({
104
101
  tooltipFlipOverrides: isPartOfInput && !tooltipFlipOverrides ? ["top", "bottom"] : tooltipFlipOverrides,
105
102
  isPartOfInput: isPartOfInput,
106
103
  inputSize: size,
107
- "aria-hidden": "true",
108
- focusable: false
104
+ id: iconId,
105
+ ariaLabel: validationMessage,
106
+ focusable: tabIndex !== -1
109
107
  }));
110
108
  };
111
109
 
@@ -1,12 +1,16 @@
1
+ export const NewValidationContext: React.Context<{}>;
1
2
  export default CarbonProvider;
2
- declare function CarbonProvider({ children, theme }: {
3
+ import React from "react";
4
+ declare function CarbonProvider({ children, theme, validationRedesignOptIn, }: {
3
5
  children: any;
4
6
  theme?: import("../../style/themes/base").ThemeObject | undefined;
7
+ validationRedesignOptIn?: boolean | undefined;
5
8
  }): JSX.Element;
6
9
  declare namespace CarbonProvider {
7
10
  namespace propTypes {
8
11
  const children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
9
12
  const theme: PropTypes.Requireable<object>;
13
+ const validationRedesignOptIn: PropTypes.Requireable<boolean>;
10
14
  }
11
15
  }
12
16
  import PropTypes from "prop-types";
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.NewValidationContext = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -17,16 +17,29 @@ var _carbonScopedTokensProvider = _interopRequireDefault(require("../../style/de
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
+
22
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ const NewValidationContext = /*#__PURE__*/(0, _react.createContext)({});
25
+ exports.NewValidationContext = NewValidationContext;
26
+
20
27
  const CarbonProvider = ({
21
28
  children,
22
- theme = _mint.default
29
+ theme = _mint.default,
30
+ validationRedesignOptIn = false
23
31
  }) => /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
24
32
  theme: theme
25
- }, /*#__PURE__*/_react.default.createElement(_carbonScopedTokensProvider.default, null, children));
33
+ }, /*#__PURE__*/_react.default.createElement(_carbonScopedTokensProvider.default, null, /*#__PURE__*/_react.default.createElement(NewValidationContext.Provider, {
34
+ value: {
35
+ validationRedesignOptIn
36
+ }
37
+ }, children)));
26
38
 
27
39
  CarbonProvider.propTypes = {
28
40
  children: _propTypes.default.node.isRequired,
29
- theme: _propTypes.default.object
41
+ theme: _propTypes.default.object,
42
+ validationRedesignOptIn: _propTypes.default.bool
30
43
  };
31
44
  var _default = CarbonProvider;
32
45
  exports.default = _default;
@@ -5,6 +5,7 @@ import { ThemeObject } from "../../style/themes/base";
5
5
  export interface CarbonProviderProps {
6
6
  theme?: ThemeObject;
7
7
  children: React.ReactNode;
8
+ validationRedesignOptIn?: boolean;
8
9
  }
9
10
 
10
11
  declare function CarbonProvider(props: CarbonProviderProps): JSX.Element;
@@ -31,7 +31,7 @@ const StyledDateRange = _styledComponents.default.div`
31
31
  }
32
32
 
33
33
  & ${_date.default}:first-child {
34
- margin-right: var(--spacing150);
34
+ margin-right: var(--spacing300);
35
35
  }
36
36
 
37
37
  ${_labelStyle.StyledLabelContainer} {
@@ -19,6 +19,8 @@ var _utils = require("../../style/utils");
19
19
 
20
20
  var _fieldset = require("./fieldset.style");
21
21
 
22
+ var _carbonProvider = require("../carbon-provider/carbon-provider.component");
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -41,12 +43,16 @@ const Fieldset = props => {
41
43
  propTypes: Fieldset.propTypes,
42
44
  props
43
45
  });
44
- return /*#__PURE__*/_react.default.createElement(_fieldset.FieldsetStyle, _extends({}, (0, _tags.default)("fieldset", props), safeProps, {
46
+ return /*#__PURE__*/_react.default.createElement(_carbonProvider.NewValidationContext.Provider, {
47
+ value: {
48
+ validationRedesignOptIn: false
49
+ }
50
+ }, /*#__PURE__*/_react.default.createElement(_fieldset.FieldsetStyle, _extends({}, (0, _tags.default)("fieldset", props), safeProps, {
45
51
  m: 0
46
52
  }, (0, _utils.filterStyledSystemMarginProps)(props)), /*#__PURE__*/_react.default.createElement(_fieldset.FieldsetContentStyle, {
47
53
  "data-component": "fieldset-style",
48
54
  inline: props.inline
49
- }, legend(), props.children));
55
+ }, legend(), props.children)));
50
56
  };
51
57
 
52
58
  Fieldset.propTypes = {
@@ -51,6 +51,7 @@ const Icon = /*#__PURE__*/_react.default.forwardRef(({
51
51
  tooltipFlipOverrides,
52
52
  tooltipId,
53
53
  tabIndex,
54
+ id,
54
55
  isPartOfInput,
55
56
  inputSize,
56
57
  role,
@@ -111,6 +112,7 @@ const Icon = /*#__PURE__*/_react.default.forwardRef(({
111
112
  "aria-hidden": ariaHidden,
112
113
  ref: ref,
113
114
  key: "icon",
115
+ id: id,
114
116
  className: className || null,
115
117
  "data-element": iconType()
116
118
  }, (0, _tags.default)("icon", rest), styleProps, {
@@ -224,7 +226,10 @@ Icon.propTypes = { ...marginPropTypes,
224
226
  tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
225
227
 
226
228
  /** @ignore @private */
227
- focusable: _propTypes.default.bool
229
+ focusable: _propTypes.default.bool,
230
+
231
+ /** Id passed to the icon. */
232
+ id: _propTypes.default.string
228
233
  };
229
234
  Icon.defaultProps = {
230
235
  bgSize: "small",
@@ -237,6 +237,8 @@ export interface IconProps extends MarginProps {
237
237
  tooltipFlipOverrides?: TooltipPositions[];
238
238
  /** Id passed to the tooltip container, used for accessibility purposes */
239
239
  tooltipId?: string;
240
+ /** Id passed to the icon. */
241
+ id?: string;
240
242
  }
241
243
 
242
244
  declare function Icon(
@@ -0,0 +1,3 @@
1
+ declare var _default: React.Context<{}>;
2
+ export default _default;
3
+ import React from "react";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = /*#__PURE__*/_react.default.createContext({});
13
+
14
+ exports.default = _default;
@@ -21,6 +21,10 @@ var _numeralDate = require("./numeral-date.style");
21
21
 
22
22
  var _textbox = _interopRequireDefault(require("../textbox"));
23
23
 
24
+ var _textbox2 = require("../textbox/textbox.style");
25
+
26
+ var _validationMessage = _interopRequireDefault(require("../../__internal__/validation-message"));
27
+
24
28
  var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
25
29
 
26
30
  var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
@@ -31,6 +35,10 @@ var _inputBehaviour = require("../../__internal__/input-behaviour");
31
35
 
32
36
  var _tooltipProvider = require("../../__internal__/tooltip-provider");
33
37
 
38
+ var _carbonProvider = require("../carbon-provider/carbon-provider.component");
39
+
40
+ var _numeralDateContext = _interopRequireDefault(require("./numeral-date-context"));
41
+
34
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
43
 
36
44
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -88,6 +96,9 @@ const NumeralDate = ({
88
96
  ...rest
89
97
  }) => {
90
98
  const l = (0, _useLocale.default)();
99
+ const {
100
+ validationRedesignOptIn
101
+ } = (0, _react.useContext)(_carbonProvider.NewValidationContext);
91
102
  const {
92
103
  current: uniqueId
93
104
  } = (0, _react.useRef)(id || (0, _guid.default)());
@@ -188,8 +199,12 @@ const NumeralDate = ({
188
199
  labelSpacing: labelSpacing,
189
200
  fieldHelp: fieldHelp,
190
201
  adaptiveLabelBreakpoint: adaptiveLabelBreakpoint,
191
- isRequired: required
192
- }, (0, _utils.filterStyledSystemMarginProps)(rest)), /*#__PURE__*/_react.default.createElement(_numeralDate.StyledNumeralDate, {
202
+ isRequired: required,
203
+ validationRedesignOptIn: validationRedesignOptIn
204
+ }, (0, _utils.filterStyledSystemMarginProps)(rest)), validationRedesignOptIn && labelHelp && /*#__PURE__*/_react.default.createElement(_textbox2.StyledHintText, null, labelHelp), validationRedesignOptIn && /*#__PURE__*/_react.default.createElement(_validationMessage.default, {
205
+ error: internalError,
206
+ warning: internalWarning
207
+ }), /*#__PURE__*/_react.default.createElement(_numeralDate.StyledNumeralDate, {
193
208
  name: name,
194
209
  onKeyPress: onKeyPress,
195
210
  "data-component": "numeral-date"
@@ -199,7 +214,12 @@ const NumeralDate = ({
199
214
  const validation = error || warning || info;
200
215
  const isStringValidation = typeof validation === "string";
201
216
  const hasValidationIcon = isStringValidation && validation.length;
202
- return /*#__PURE__*/_react.default.createElement(_numeralDate.StyledDateField, {
217
+ return /*#__PURE__*/_react.default.createElement(_numeralDateContext.default.Provider, {
218
+ value: {
219
+ disableErrorBorder: index !== 0
220
+ },
221
+ key: datePart
222
+ }, /*#__PURE__*/_react.default.createElement(_numeralDate.StyledDateField, {
203
223
  key: datePart,
204
224
  isYearInput: datePart.length === 4,
205
225
  isMiddle: isMiddle,
@@ -222,14 +242,14 @@ const NumeralDate = ({
222
242
  info: !!info
223
243
  }, required && {
224
244
  required
225
- }, isEnd && !validationOnLabel && {
245
+ }, isEnd && !validationRedesignOptIn && !validationOnLabel && {
226
246
  error: internalError,
227
247
  warning: internalWarning,
228
248
  info
229
249
  }, {
230
250
  size: size,
231
251
  tooltipPosition: tooltipPosition
232
- })));
252
+ }))));
233
253
  })))));
234
254
  };
235
255
 
@@ -118,6 +118,7 @@ const Switch = ({
118
118
  labelHelp,
119
119
  value,
120
120
  type: "checkbox",
121
+ role: "switch",
121
122
  reverse: !reverse,
122
123
  // switched to preserve backward compatibility
123
124
  validationOnLabel: shouldValidationBeOnLabel && !disabled,