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.
- package/esm/components/decimal/decimal.component.d.ts +1 -1
- package/esm/components/decimal/decimal.component.js +5 -0
- package/esm/components/grouped-character/grouped-character.component.js +10 -3
- package/lib/components/decimal/decimal.component.d.ts +1 -1
- package/lib/components/decimal/decimal.component.js +5 -0
- package/lib/components/grouped-character/grouped-character.component.js +10 -3
- package/package.json +1 -1
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
126
|
+
onKeyDown: handleKeyDown,
|
|
120
127
|
ref: ref
|
|
121
128
|
}));
|
|
122
129
|
});
|