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
@@ -35,6 +35,12 @@ var _tooltipProvider = require("../../__internal__/tooltip-provider");
35
35
 
36
36
  var _useInputAccessibility = _interopRequireDefault(require("../../hooks/__internal__/useInputAccessibility"));
37
37
 
38
+ var _carbonProvider = require("../carbon-provider/carbon-provider.component");
39
+
40
+ var _textbox = require("../textbox/textbox.style");
41
+
42
+ var _validationMessage = _interopRequireDefault(require("../../__internal__/validation-message"));
43
+
38
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
45
 
40
46
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -86,6 +92,12 @@ const Textarea = ({
86
92
  ...props
87
93
  }) => {
88
94
  const locale = (0, _react.useContext)(_i18nContext.default);
95
+ const {
96
+ validationRedesignOptIn
97
+ } = (0, _react.useContext)(_carbonProvider.NewValidationContext);
98
+
99
+ const computeLabelPropValues = prop => validationRedesignOptIn ? undefined : prop;
100
+
89
101
  const {
90
102
  current: id
91
103
  } = (0, _react.useRef)(idProp || (0, _guid.default)());
@@ -161,7 +173,7 @@ const Textarea = ({
161
173
  "data-role": dataRole,
162
174
  "data-element": dataElement
163
175
  }, (0, _utils.filterStyledSystemMarginProps)(props)), /*#__PURE__*/_react.default.createElement(_formField.default, {
164
- fieldHelp: fieldHelp,
176
+ fieldHelp: computeLabelPropValues(fieldHelp),
165
177
  fieldHelpId: fieldHelpId,
166
178
  error: error,
167
179
  warning: warning,
@@ -170,15 +182,19 @@ const Textarea = ({
170
182
  labelId: labelId,
171
183
  disabled: disabled,
172
184
  id: id,
173
- labelInline: labelInline,
174
- labelAlign: labelAlign,
175
- labelWidth: labelWidth,
176
- labelHelp: labelHelp,
185
+ labelInline: computeLabelPropValues(labelInline),
186
+ labelAlign: computeLabelPropValues(labelAlign),
187
+ labelWidth: computeLabelPropValues(labelWidth),
188
+ labelHelp: computeLabelPropValues(labelHelp),
177
189
  labelSpacing: labelSpacing,
178
190
  isRequired: props.required,
179
- useValidationIcon: validationOnLabel,
180
- adaptiveLabelBreakpoint: adaptiveLabelBreakpoint
181
- }, /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
191
+ useValidationIcon: computeLabelPropValues(validationOnLabel),
192
+ adaptiveLabelBreakpoint: adaptiveLabelBreakpoint,
193
+ validationRedesignOptIn: validationRedesignOptIn
194
+ }, validationRedesignOptIn && labelHelp && /*#__PURE__*/_react.default.createElement(_textbox.StyledHintText, null, labelHelp), validationRedesignOptIn && /*#__PURE__*/_react.default.createElement(_validationMessage.default, {
195
+ error: error,
196
+ warning: warning
197
+ }), /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
182
198
  size: size,
183
199
  disabled: disabled,
184
200
  readOnly: readOnly,
@@ -186,10 +202,12 @@ const Textarea = ({
186
202
  error: error,
187
203
  warning: warning,
188
204
  info: info
189
- }, /*#__PURE__*/_react.default.createElement(_input2.default, _extends({
205
+ }, validationRedesignOptIn && (error || warning) && /*#__PURE__*/_react.default.createElement(_textbox.ErrorBorder, {
206
+ warning: !!(!error && warning)
207
+ }), /*#__PURE__*/_react.default.createElement(_input2.default, _extends({
190
208
  "aria-invalid": !!error,
191
209
  "aria-labelledby": ariaLabelledBy,
192
- "aria-describedby": ariaDescribedBy,
210
+ "aria-describedby": validationRedesignOptIn ? undefined : ariaDescribedBy,
193
211
  autoFocus: autoFocus,
194
212
  name: name,
195
213
  value: value,
@@ -212,8 +230,8 @@ const Textarea = ({
212
230
  error: error,
213
231
  warning: warning,
214
232
  info: info,
215
- validationIconId: validationIconId,
216
- useValidationIcon: !validationOnLabel
233
+ validationIconId: validationRedesignOptIn ? undefined : validationIconId,
234
+ useValidationIcon: !(validationRedesignOptIn || validationOnLabel)
217
235
  }))), characterCount())));
218
236
  };
219
237
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.OriginalTextbox = 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
 
@@ -31,8 +31,20 @@ var _useCharacterCount = _interopRequireDefault(require("../../hooks/__internal_
31
31
 
32
32
  var _useInputAccessibility = _interopRequireDefault(require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility"));
33
33
 
34
+ var _textbox = require("./textbox.style");
35
+
36
+ var _validationMessage = _interopRequireDefault(require("../../__internal__/validation-message"));
37
+
38
+ var _carbonProvider = require("../carbon-provider/carbon-provider.component");
39
+
40
+ var _numeralDateContext = _interopRequireDefault(require("../numeral-date/numeral-date-context"));
41
+
34
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
43
 
44
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
45
+
46
+ 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; }
47
+
36
48
  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); }
37
49
 
38
50
  const marginPropTypes = (0, _utils.filterStyledSystemMarginProps)(_propTypes2.default.space);
@@ -92,6 +104,15 @@ const Textbox = ({
92
104
  ...props
93
105
  }) => {
94
106
  const [maxLength, characterCount] = (0, _useCharacterCount.default)(value, characterLimit, warnOverLimit, enforceCharacterLimit);
107
+ const {
108
+ validationRedesignOptIn
109
+ } = (0, _react.useContext)(_carbonProvider.NewValidationContext);
110
+ const {
111
+ disableErrorBorder
112
+ } = (0, _react.useContext)(_numeralDateContext.default);
113
+
114
+ const computeLabelPropValues = prop => validationRedesignOptIn ? undefined : prop;
115
+
95
116
  const {
96
117
  labelId: internalLabelId,
97
118
  validationIconId,
@@ -112,29 +133,35 @@ const Textbox = ({
112
133
  tooltipPosition: tooltipPosition
113
134
  }, /*#__PURE__*/_react.default.createElement(_inputBehaviour.InputBehaviour, null, /*#__PURE__*/_react.default.createElement(_formField.default, _extends({
114
135
  disabled: disabled,
115
- fieldHelp: fieldHelp,
116
136
  fieldHelpId: fieldHelpId,
137
+ fieldHelp: computeLabelPropValues(fieldHelp),
117
138
  error: error,
118
139
  warning: warning,
119
140
  info: info,
120
141
  label: label,
121
142
  labelId: labelId,
122
- labelAlign: labelAlign,
123
- labelHelp: labelHelp,
124
- labelInline: labelInline,
143
+ labelAlign: computeLabelPropValues(labelAlign),
144
+ labelHelp: computeLabelPropValues(labelHelp),
145
+ labelInline: computeLabelPropValues(labelInline),
125
146
  labelSpacing: labelSpacing,
126
- labelWidth: labelWidth,
147
+ labelWidth: computeLabelPropValues(labelWidth),
127
148
  id: id,
128
- reverse: reverse,
149
+ reverse: computeLabelPropValues(reverse),
129
150
  isOptional: isOptional,
130
- useValidationIcon: validationOnLabel,
151
+ useValidationIcon: computeLabelPropValues(validationOnLabel),
131
152
  adaptiveLabelBreakpoint: adaptiveLabelBreakpoint,
132
153
  isRequired: required,
133
154
  "data-component": dataComponent,
134
155
  "data-role": dataRole,
135
156
  "data-element": dataElement,
136
- validationIconId: validationIconId
137
- }, (0, _utils.filterStyledSystemMarginProps)(props)), /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
157
+ validationIconId: validationRedesignOptIn ? undefined : validationIconId,
158
+ validationRedesignOptIn: validationRedesignOptIn,
159
+ size: size,
160
+ readOnly: readOnly
161
+ }, (0, _utils.filterStyledSystemMarginProps)(props)), validationRedesignOptIn && labelHelp && /*#__PURE__*/_react.default.createElement(_textbox.StyledHintText, null, labelHelp), validationRedesignOptIn && /*#__PURE__*/_react.default.createElement(_validationMessage.default, {
162
+ error: error,
163
+ warning: warning
164
+ }), /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
138
165
  align: align,
139
166
  disabled: disabled,
140
167
  readOnly: readOnly,
@@ -144,15 +171,17 @@ const Textbox = ({
144
171
  info: info,
145
172
  inputWidth: inputWidth || 100 - labelWidth,
146
173
  positionedChildren: positionedChildren
147
- }, leftChildren, prefix ? /*#__PURE__*/_react.default.createElement(_prefix.default, {
174
+ }, leftChildren, prefix && /*#__PURE__*/_react.default.createElement(_prefix.default, {
148
175
  "data-element": "textbox-prefix"
149
- }, prefix) : null, /*#__PURE__*/_react.default.createElement(_input.Input, _extends({}, required && {
176
+ }, prefix), validationRedesignOptIn && !disableErrorBorder && (error || warning) && /*#__PURE__*/_react.default.createElement(_textbox.ErrorBorder, {
177
+ warning: !!(!error && warning)
178
+ }), /*#__PURE__*/_react.default.createElement(_input.Input, _extends({}, required && {
150
179
  required
151
180
  }, {
152
181
  align: align,
153
182
  "aria-invalid": !!error,
154
183
  "aria-labelledby": labelId,
155
- "aria-describedby": ariaDescribedBy,
184
+ "aria-describedby": validationRedesignOptIn ? undefined : ariaDescribedBy,
156
185
  autoFocus: autoFocus,
157
186
  deferTimeout: deferTimeout,
158
187
  disabled: disabled,
@@ -180,9 +209,9 @@ const Textbox = ({
180
209
  onMouseDown: iconOnMouseDown || onMouseDown,
181
210
  readOnly: readOnly,
182
211
  size: size,
183
- useValidationIcon: !validationOnLabel,
212
+ useValidationIcon: !(validationRedesignOptIn || validationOnLabel),
184
213
  warning: warning,
185
- validationIconId: validationIconId
214
+ validationIconId: validationRedesignOptIn ? undefined : validationIconId
186
215
  }))), characterCount));
187
216
  };
188
217
 
@@ -20,7 +20,7 @@ export interface CommonTextboxProps
20
20
  "data-role"?: string;
21
21
  /** Breakpoint for adaptive label (inline labels change to top aligned). Enables the adaptive behaviour when set */
22
22
  adaptiveLabelBreakpoint?: number;
23
- /** Integer to determine a timeout for the defered callback */
23
+ /** Integer to determine a timeout for the deferred callback */
24
24
  deferTimeout?: number;
25
25
  /** If true, the component will be disabled */
26
26
  disabled?: boolean;
@@ -0,0 +1,2 @@
1
+ export const StyledHintText: import("styled-components").StyledComponent<"p", any, {}, never>;
2
+ export const ErrorBorder: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ErrorBorder = exports.StyledHintText = void 0;
7
+
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
15
+
16
+ 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; }
17
+
18
+ const ErrorBorder = _styledComponents.default.span`
19
+ ${({
20
+ warning
21
+ }) => (0, _styledComponents.css)`
22
+ position: absolute;
23
+ z-index: 6;
24
+ width: 2px;
25
+ height: calc(100% + var(--spacing300));
26
+ background-color: ${warning ? "var(--colorsSemanticCaution500)" : "var(--colorsSemanticNegative500)"};
27
+ left: -12px;
28
+ bottom: 0px;
29
+ `}
30
+ `;
31
+ exports.ErrorBorder = ErrorBorder;
32
+ const StyledHintText = _styledComponents.default.p`
33
+ margin-top: 0px;
34
+ margin-bottom: 8px;
35
+ color: var(--colorsUtilityYin055);
36
+ font-size: 14px;
37
+ `;
38
+ exports.StyledHintText = StyledHintText;
39
+ StyledHintText.defaultProps = {
40
+ size: "medium"
41
+ };
42
+ ErrorBorder.propTypes = {
43
+ warning: _propTypes.default.bool,
44
+ size: _propTypes.default.string
45
+ };
46
+ ErrorBorder.defaultProps = {
47
+ warning: false,
48
+ size: "medium"
49
+ };
@@ -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;
@@ -31,9 +31,11 @@ var _default = palette => {
31
31
  focus: palette.gold,
32
32
  info: palette.productBlueShade(3),
33
33
  warning: palette.carrotOrange,
34
+ warningText: palette.carrotOrangeShade(20),
34
35
  destructive: {
35
36
  hover: palette.errorRedShade(20)
36
- }
37
+ },
38
+ placeholder: palette.blackOpacity(0.55)
37
39
  },
38
40
  disabled: {
39
41
  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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "104.55.0",
3
+ "version": "104.58.0",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "engineStrict": true,
6
6
  "engines": {