carbon-react 144.14.0 → 144.15.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.
@@ -25,7 +25,7 @@ export interface DecimalProps extends Omit<CommonTextboxProps, "onChange" | "onB
25
25
  onChange?: (ev: CustomEvent) => void;
26
26
  /** Handler for blur event */
27
27
  onBlur?: (ev: CustomEvent) => void;
28
- /** Handler for key press event */
28
+ /** [Deprecated] Handler for key press event */
29
29
  onKeyPress?: (ev: React.KeyboardEvent<HTMLInputElement>) => void;
30
30
  /** The input name */
31
31
  name?: string;
@@ -7,6 +7,7 @@ import LocaleContext from "../../__internal__/i18n-context";
7
7
  import usePrevious from "../../hooks/__internal__/usePrevious";
8
8
  import Logger from "../../__internal__/utils/logger";
9
9
  let deprecateUncontrolledWarnTriggered = false;
10
+ let deprecateOnKeyPressWarnTriggered = false;
10
11
  const Decimal = /*#__PURE__*/React.forwardRef(({
11
12
  align = "right",
12
13
  defaultValue,
@@ -166,6 +167,10 @@ const Decimal = /*#__PURE__*/React.forwardRef(({
166
167
  deprecateUncontrolledWarnTriggered = true;
167
168
  Logger.deprecate("Uncontrolled behaviour in `Decimal` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
168
169
  }
170
+ if (!deprecateOnKeyPressWarnTriggered && onKeyPress) {
171
+ deprecateOnKeyPressWarnTriggered = true;
172
+ Logger.deprecate("`onKeyPress` prop in `Decimal` is deprecated and will soon be removed, please use `onKeyDown` instead.");
173
+ }
169
174
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textbox, _extends({
170
175
  onKeyPress: onKeyPress,
171
176
  align: align,
@@ -27,6 +27,7 @@ const GroupedCharacter = /*#__PURE__*/React.forwardRef(({
27
27
  groups,
28
28
  onBlur,
29
29
  onChange,
30
+ onKeyDown,
30
31
  separator: rawSeparator,
31
32
  value: externalValue,
32
33
  ...rest
@@ -90,7 +91,7 @@ const GroupedCharacter = /*#__PURE__*/React.forwardRef(({
90
91
  onBlur(modifiedEvent);
91
92
  }
92
93
  };
93
- const handleKeyPress = ev => {
94
+ const handleKeyDown = ev => {
94
95
  const {
95
96
  selectionStart,
96
97
  selectionEnd
@@ -98,16 +99,22 @@ const GroupedCharacter = /*#__PURE__*/React.forwardRef(({
98
99
 
99
100
  /* istanbul ignore next */
100
101
  const hasSelection = (selectionEnd ?? 0) - (selectionStart ?? 0) > 0;
101
- if (maxRawLength === value.length && !hasSelection) {
102
+
103
+ // check if the key pressed is a character key
104
+ const isCharacterKey = ev.key.length === 1;
105
+ if (isCharacterKey && maxRawLength === value.length && !hasSelection) {
102
106
  ev.preventDefault();
103
107
  }
108
+ if (onKeyDown) {
109
+ onKeyDown(ev);
110
+ }
104
111
  };
105
112
  return /*#__PURE__*/React.createElement(Textbox, _extends({}, rest, {
106
113
  value: value,
107
114
  formattedValue: formatValue(value),
108
115
  onChange: handleChange,
109
116
  onBlur: handleBlur,
110
- onKeyPress: handleKeyPress,
117
+ onKeyDown: handleKeyDown,
111
118
  ref: ref
112
119
  }));
113
120
  });
@@ -25,7 +25,7 @@ export interface DecimalProps extends Omit<CommonTextboxProps, "onChange" | "onB
25
25
  onChange?: (ev: CustomEvent) => void;
26
26
  /** Handler for blur event */
27
27
  onBlur?: (ev: CustomEvent) => void;
28
- /** Handler for key press event */
28
+ /** [Deprecated] Handler for key press event */
29
29
  onKeyPress?: (ev: React.KeyboardEvent<HTMLInputElement>) => void;
30
30
  /** The input name */
31
31
  name?: string;
@@ -16,6 +16,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
16
16
  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; }
17
17
  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); }
18
18
  let deprecateUncontrolledWarnTriggered = false;
19
+ let deprecateOnKeyPressWarnTriggered = false;
19
20
  const Decimal = exports.Decimal = /*#__PURE__*/_react.default.forwardRef(({
20
21
  align = "right",
21
22
  defaultValue,
@@ -175,6 +176,10 @@ const Decimal = exports.Decimal = /*#__PURE__*/_react.default.forwardRef(({
175
176
  deprecateUncontrolledWarnTriggered = true;
176
177
  _logger.default.deprecate("Uncontrolled behaviour in `Decimal` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
177
178
  }
179
+ if (!deprecateOnKeyPressWarnTriggered && onKeyPress) {
180
+ deprecateOnKeyPressWarnTriggered = true;
181
+ _logger.default.deprecate("`onKeyPress` prop in `Decimal` is deprecated and will soon be removed, please use `onKeyDown` instead.");
182
+ }
178
183
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textbox.default, _extends({
179
184
  onKeyPress: onKeyPress,
180
185
  align: align,
@@ -36,6 +36,7 @@ const GroupedCharacter = exports.GroupedCharacter = /*#__PURE__*/_react.default.
36
36
  groups,
37
37
  onBlur,
38
38
  onChange,
39
+ onKeyDown,
39
40
  separator: rawSeparator,
40
41
  value: externalValue,
41
42
  ...rest
@@ -99,7 +100,7 @@ const GroupedCharacter = exports.GroupedCharacter = /*#__PURE__*/_react.default.
99
100
  onBlur(modifiedEvent);
100
101
  }
101
102
  };
102
- const handleKeyPress = ev => {
103
+ const handleKeyDown = ev => {
103
104
  const {
104
105
  selectionStart,
105
106
  selectionEnd
@@ -107,16 +108,22 @@ const GroupedCharacter = exports.GroupedCharacter = /*#__PURE__*/_react.default.
107
108
 
108
109
  /* istanbul ignore next */
109
110
  const hasSelection = (selectionEnd ?? 0) - (selectionStart ?? 0) > 0;
110
- if (maxRawLength === value.length && !hasSelection) {
111
+
112
+ // check if the key pressed is a character key
113
+ const isCharacterKey = ev.key.length === 1;
114
+ if (isCharacterKey && maxRawLength === value.length && !hasSelection) {
111
115
  ev.preventDefault();
112
116
  }
117
+ if (onKeyDown) {
118
+ onKeyDown(ev);
119
+ }
113
120
  };
114
121
  return /*#__PURE__*/_react.default.createElement(_textbox.default, _extends({}, rest, {
115
122
  value: value,
116
123
  formattedValue: formatValue(value),
117
124
  onChange: handleChange,
118
125
  onBlur: handleBlur,
119
- onKeyPress: handleKeyPress,
126
+ onKeyDown: handleKeyDown,
120
127
  ref: ref
121
128
  }));
122
129
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "144.14.0",
3
+ "version": "144.15.0",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",