@snack-uikit/fields 0.49.3 → 0.50.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/CHANGELOG.md +11 -0
- package/README.md +3 -1
- package/dist/cjs/components/FieldStepper/FieldStepper.d.ts +5 -0
- package/dist/cjs/components/FieldStepper/FieldStepper.js +33 -21
- package/dist/esm/components/FieldStepper/FieldStepper.d.ts +5 -0
- package/dist/esm/components/FieldStepper/FieldStepper.js +2 -2
- package/package.json +2 -2
- package/src/components/FieldStepper/FieldStepper.tsx +41 -21
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 0.50.0 (2025-09-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **UIIAAS-1033:** added tooltips in FieldStepper counter buttons ([3f6d19f](https://github.com/cloud-ru-tech/snack-uikit/commit/3f6d19fddbe76cc9483fed77ae77bafbe610f4bf))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## 0.49.3 (2025-09-01)
|
|
7
18
|
|
|
8
19
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -442,6 +442,8 @@ FieldStepper в основном предназначен для работы с
|
|
|
442
442
|
| allowMoreThanLimits | `boolean` | true | Можно ли вводить c клавиатуры числа, выходящие за пределы min/max |
|
|
443
443
|
| prefix | `ReactNode` | - | Произвольный префикс для поля |
|
|
444
444
|
| postfix | `ReactNode` | - | Произвольный постфикс для поля |
|
|
445
|
+
| plusButtonTooltip | `TooltipProps` | - | Тултип над кнопкой увеличения значения |
|
|
446
|
+
| minusButtonTooltip | `TooltipProps` | - | Тултип над кнопкой уменьшения значения |
|
|
445
447
|
| id | `string` | - | Значение html-атрибута id |
|
|
446
448
|
| name | `string` | - | Значение html-атрибута name |
|
|
447
449
|
| disabled | `boolean` | - | Является ли поле деактивированным |
|
|
@@ -489,7 +491,7 @@ FieldStepper в основном предназначен для работы с
|
|
|
489
491
|
| autoFocus | `boolean` | false | Включен ли авто-фокус для поля |
|
|
490
492
|
| maxLength | `number` | - | Максимальная длина вводимого значения |
|
|
491
493
|
| autoComplete | `string \| boolean` | false | Включен ли автокомплит для поля |
|
|
492
|
-
| inputMode | enum InputMode: `"text"`, `"search"`, `"tel"`, `"email"`, `"decimal"`, `"numeric"`, `"url"` | - | Режим работы экранной клавиатуры |
|
|
494
|
+
| inputMode | enum InputMode: `"none"`, `"text"`, `"search"`, `"tel"`, `"email"`, `"decimal"`, `"numeric"`, `"url"` | - | Режим работы экранной клавиатуры |
|
|
493
495
|
| spellCheck | `boolean` | true | Значение атрибута spellcheck (проверка орфографии) |
|
|
494
496
|
| pattern | `string` | - | Регулярное выражение валидного инпута |
|
|
495
497
|
| onKeyDown | `KeyboardEventHandler<HTMLInputElement>` | - | Колбек обработки начала нажатия клавиши клавиатуры |
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeEvent, ReactNode } from 'react';
|
|
2
2
|
import { InputPrivateProps } from '@snack-uikit/input-private';
|
|
3
|
+
import { TooltipProps } from '@snack-uikit/tooltip';
|
|
3
4
|
import { WithSupportProps } from '@snack-uikit/utils';
|
|
4
5
|
import { FieldDecoratorProps } from '../FieldDecorator';
|
|
5
6
|
type InputProps = Pick<InputPrivateProps, 'id' | 'name' | 'disabled' | 'readonly' | 'onFocus' | 'onBlur' | 'min' | 'max' | 'autoFocus'>;
|
|
@@ -17,6 +18,10 @@ type FieldStepperOwnProps = {
|
|
|
17
18
|
prefix?: ReactNode;
|
|
18
19
|
/** Произвольный постфикс для поля */
|
|
19
20
|
postfix?: ReactNode;
|
|
21
|
+
/** Тултип над кнопкой увеличения значения */
|
|
22
|
+
plusButtonTooltip?: TooltipProps;
|
|
23
|
+
/** Тултип над кнопкой уменьшения значения */
|
|
24
|
+
minusButtonTooltip?: TooltipProps;
|
|
20
25
|
};
|
|
21
26
|
export type FieldStepperProps = WithSupportProps<FieldStepperOwnProps & InputProps & WrapperProps>;
|
|
22
27
|
export declare const FieldStepper: import("react").ForwardRefExoticComponent<{
|
|
@@ -55,6 +55,8 @@ exports.FieldStepper = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
55
55
|
value: valueProp,
|
|
56
56
|
min = Number.NEGATIVE_INFINITY,
|
|
57
57
|
max = Number.POSITIVE_INFINITY,
|
|
58
|
+
plusButtonTooltip,
|
|
59
|
+
minusButtonTooltip,
|
|
58
60
|
step = 1,
|
|
59
61
|
disabled = false,
|
|
60
62
|
readonly = false,
|
|
@@ -77,7 +79,7 @@ exports.FieldStepper = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
77
79
|
postfix,
|
|
78
80
|
autoFocus
|
|
79
81
|
} = _a,
|
|
80
|
-
rest = __rest(_a, ["id", "name", "value", "min", "max", "step", "disabled", "readonly", "allowMoreThanLimits", "onChange", "onFocus", "onBlur", "className", "label", "labelTooltip", "labelTooltipPlacement", "required", "caption", "hint", "showHintIcon", "size", "validationState", "error", "prefix", "postfix", "autoFocus"]);
|
|
82
|
+
rest = __rest(_a, ["id", "name", "value", "min", "max", "plusButtonTooltip", "minusButtonTooltip", "step", "disabled", "readonly", "allowMoreThanLimits", "onChange", "onFocus", "onBlur", "className", "label", "labelTooltip", "labelTooltipPlacement", "required", "caption", "hint", "showHintIcon", "size", "validationState", "error", "prefix", "postfix", "autoFocus"]);
|
|
81
83
|
const {
|
|
82
84
|
t
|
|
83
85
|
} = (0, locale_1.useLocale)('Fields');
|
|
@@ -188,26 +190,36 @@ exports.FieldStepper = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
188
190
|
readonly: readonly,
|
|
189
191
|
variant: constants_1.CONTAINER_VARIANT.SingleLine,
|
|
190
192
|
inputRef: inputRef,
|
|
191
|
-
prefix: (0, jsx_runtime_1.jsx)(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
"data-test-id": 'field-stepper__plus-button'
|
|
210
|
-
|
|
193
|
+
prefix: (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, Object.assign({}, minusButtonTooltip, {
|
|
194
|
+
open: minusButtonTooltip ? minusButtonTooltip === null || minusButtonTooltip === void 0 ? void 0 : minusButtonTooltip.open : false,
|
|
195
|
+
tip: minusButtonTooltip === null || minusButtonTooltip === void 0 ? void 0 : minusButtonTooltip.tip,
|
|
196
|
+
"data-test-id": 'field-stepper__minus-button-tooltip',
|
|
197
|
+
children: (0, jsx_runtime_1.jsx)(button_1.ButtonFunction, {
|
|
198
|
+
tabIndex: -1,
|
|
199
|
+
size: 'xs',
|
|
200
|
+
className: styles_module_scss_1.default.button,
|
|
201
|
+
icon: (0, jsx_runtime_1.jsx)(icons_1.MinusSVG, {}),
|
|
202
|
+
onClick: handleMinusButtonClick,
|
|
203
|
+
onKeyDown: handleMinusButtonKeyDown,
|
|
204
|
+
disabled: isMinusButtonDisabled,
|
|
205
|
+
"data-test-id": 'field-stepper__minus-button'
|
|
206
|
+
})
|
|
207
|
+
})),
|
|
208
|
+
postfix: (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, Object.assign({}, plusButtonTooltip, {
|
|
209
|
+
open: plusButtonTooltip ? plusButtonTooltip === null || plusButtonTooltip === void 0 ? void 0 : plusButtonTooltip.open : false,
|
|
210
|
+
tip: plusButtonTooltip === null || plusButtonTooltip === void 0 ? void 0 : plusButtonTooltip.tip,
|
|
211
|
+
"data-test-id": 'field-stepper__plus-button-tooltip',
|
|
212
|
+
children: (0, jsx_runtime_1.jsx)(button_1.ButtonFunction, {
|
|
213
|
+
tabIndex: -1,
|
|
214
|
+
size: 'xs',
|
|
215
|
+
className: styles_module_scss_1.default.button,
|
|
216
|
+
icon: (0, jsx_runtime_1.jsx)(icons_1.PlusSVG, {}),
|
|
217
|
+
onClick: handlePlusButtonClick,
|
|
218
|
+
onKeyDown: handlePlusButtonKeyDown,
|
|
219
|
+
disabled: isPlusButtonDisabled,
|
|
220
|
+
"data-test-id": 'field-stepper__plus-button'
|
|
221
|
+
})
|
|
222
|
+
})),
|
|
211
223
|
children: (0, jsx_runtime_1.jsxs)("div", {
|
|
212
224
|
className: styles_module_scss_1.default.wrap,
|
|
213
225
|
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeEvent, ReactNode } from 'react';
|
|
2
2
|
import { InputPrivateProps } from '@snack-uikit/input-private';
|
|
3
|
+
import { TooltipProps } from '@snack-uikit/tooltip';
|
|
3
4
|
import { WithSupportProps } from '@snack-uikit/utils';
|
|
4
5
|
import { FieldDecoratorProps } from '../FieldDecorator';
|
|
5
6
|
type InputProps = Pick<InputPrivateProps, 'id' | 'name' | 'disabled' | 'readonly' | 'onFocus' | 'onBlur' | 'min' | 'max' | 'autoFocus'>;
|
|
@@ -17,6 +18,10 @@ type FieldStepperOwnProps = {
|
|
|
17
18
|
prefix?: ReactNode;
|
|
18
19
|
/** Произвольный постфикс для поля */
|
|
19
20
|
postfix?: ReactNode;
|
|
21
|
+
/** Тултип над кнопкой увеличения значения */
|
|
22
|
+
plusButtonTooltip?: TooltipProps;
|
|
23
|
+
/** Тултип над кнопкой уменьшения значения */
|
|
24
|
+
minusButtonTooltip?: TooltipProps;
|
|
20
25
|
};
|
|
21
26
|
export type FieldStepperProps = WithSupportProps<FieldStepperOwnProps & InputProps & WrapperProps>;
|
|
22
27
|
export declare const FieldStepper: import("react").ForwardRefExoticComponent<{
|
|
@@ -41,7 +41,7 @@ const SymbolWidth = {
|
|
|
41
41
|
l: 10,
|
|
42
42
|
};
|
|
43
43
|
export const FieldStepper = forwardRef((_a, ref) => {
|
|
44
|
-
var { id, name, value: valueProp, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY, step = 1, disabled = false, readonly = false, allowMoreThanLimits = true, onChange: onChangeProp, onFocus, onBlur, className, label, labelTooltip, labelTooltipPlacement, required = false, caption, hint, showHintIcon, size = SIZE.S, validationState = VALIDATION_STATE.Default, error, prefix, postfix, autoFocus } = _a, rest = __rest(_a, ["id", "name", "value", "min", "max", "step", "disabled", "readonly", "allowMoreThanLimits", "onChange", "onFocus", "onBlur", "className", "label", "labelTooltip", "labelTooltipPlacement", "required", "caption", "hint", "showHintIcon", "size", "validationState", "error", "prefix", "postfix", "autoFocus"]);
|
|
44
|
+
var { id, name, value: valueProp, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY, plusButtonTooltip, minusButtonTooltip, step = 1, disabled = false, readonly = false, allowMoreThanLimits = true, onChange: onChangeProp, onFocus, onBlur, className, label, labelTooltip, labelTooltipPlacement, required = false, caption, hint, showHintIcon, size = SIZE.S, validationState = VALIDATION_STATE.Default, error, prefix, postfix, autoFocus } = _a, rest = __rest(_a, ["id", "name", "value", "min", "max", "plusButtonTooltip", "minusButtonTooltip", "step", "disabled", "readonly", "allowMoreThanLimits", "onChange", "onFocus", "onBlur", "className", "label", "labelTooltip", "labelTooltipPlacement", "required", "caption", "hint", "showHintIcon", "size", "validationState", "error", "prefix", "postfix", "autoFocus"]);
|
|
45
45
|
const { t } = useLocale('Fields');
|
|
46
46
|
const [value = 0, setValue] = useValueControl({
|
|
47
47
|
value: valueProp,
|
|
@@ -113,7 +113,7 @@ export const FieldStepper = forwardRef((_a, ref) => {
|
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
|
-
return (_jsx(FieldDecorator, Object.assign({ className: className, label: label, labelTooltip: labelTooltip, labelTooltipPlacement: labelTooltipPlacement, labelFor: id, required: required, caption: caption, hint: hint, disabled: disabled, readonly: readonly, showHintIcon: showHintIcon, size: size, validationState: fieldValidationState, error: error }, extractSupportProps(rest), { children: _jsx(Tooltip, { tip: tooltip, open: allowMoreThanLimits ? false : tooltipOpen, "data-test-id": 'field-stepper__limit-tooltip', triggerClassName: styles.trigger, children: _jsx(FieldContainerPrivate, { size: size, validationState: fieldValidationState, disabled: disabled, readonly: readonly, variant: CONTAINER_VARIANT.SingleLine, inputRef: inputRef, prefix: _jsx(ButtonFunction, { tabIndex: -1, size: 'xs', className: styles.button, icon: _jsx(MinusSVG, {}), onClick: handleMinusButtonClick, onKeyDown: handleMinusButtonKeyDown, disabled: isMinusButtonDisabled, "data-test-id": 'field-stepper__minus-button' }), postfix: _jsx(ButtonFunction, { tabIndex: -1, size: 'xs', className: styles.button, icon: _jsx(PlusSVG, {}), onClick: handlePlusButtonClick, onKeyDown: handlePlusButtonKeyDown, disabled: isPlusButtonDisabled, "data-test-id": 'field-stepper__plus-button' }), children: _jsxs("div", { className: styles.wrap, children: [_jsx("div", { className: cn({ [styles.prefixWrapper]: prefixSettings.show }), children: prefixSettings.show && prefixSettings.render({ key: prefixSettings.id }) }), _jsx("div", { style: {
|
|
116
|
+
return (_jsx(FieldDecorator, Object.assign({ className: className, label: label, labelTooltip: labelTooltip, labelTooltipPlacement: labelTooltipPlacement, labelFor: id, required: required, caption: caption, hint: hint, disabled: disabled, readonly: readonly, showHintIcon: showHintIcon, size: size, validationState: fieldValidationState, error: error }, extractSupportProps(rest), { children: _jsx(Tooltip, { tip: tooltip, open: allowMoreThanLimits ? false : tooltipOpen, "data-test-id": 'field-stepper__limit-tooltip', triggerClassName: styles.trigger, children: _jsx(FieldContainerPrivate, { size: size, validationState: fieldValidationState, disabled: disabled, readonly: readonly, variant: CONTAINER_VARIANT.SingleLine, inputRef: inputRef, prefix: _jsx(Tooltip, Object.assign({}, minusButtonTooltip, { open: minusButtonTooltip ? minusButtonTooltip === null || minusButtonTooltip === void 0 ? void 0 : minusButtonTooltip.open : false, tip: minusButtonTooltip === null || minusButtonTooltip === void 0 ? void 0 : minusButtonTooltip.tip, "data-test-id": 'field-stepper__minus-button-tooltip', children: _jsx(ButtonFunction, { tabIndex: -1, size: 'xs', className: styles.button, icon: _jsx(MinusSVG, {}), onClick: handleMinusButtonClick, onKeyDown: handleMinusButtonKeyDown, disabled: isMinusButtonDisabled, "data-test-id": 'field-stepper__minus-button' }) })), postfix: _jsx(Tooltip, Object.assign({}, plusButtonTooltip, { open: plusButtonTooltip ? plusButtonTooltip === null || plusButtonTooltip === void 0 ? void 0 : plusButtonTooltip.open : false, tip: plusButtonTooltip === null || plusButtonTooltip === void 0 ? void 0 : plusButtonTooltip.tip, "data-test-id": 'field-stepper__plus-button-tooltip', children: _jsx(ButtonFunction, { tabIndex: -1, size: 'xs', className: styles.button, icon: _jsx(PlusSVG, {}), onClick: handlePlusButtonClick, onKeyDown: handlePlusButtonKeyDown, disabled: isPlusButtonDisabled, "data-test-id": 'field-stepper__plus-button' }) })), children: _jsxs("div", { className: styles.wrap, children: [_jsx("div", { className: cn({ [styles.prefixWrapper]: prefixSettings.show }), children: prefixSettings.show && prefixSettings.render({ key: prefixSettings.id }) }), _jsx("div", { style: {
|
|
117
117
|
width: String(value).length * SymbolWidth[size],
|
|
118
118
|
maxWidth: '100%',
|
|
119
119
|
}, children: _jsx(InputPrivate, { ref: mergeRefs(ref, inputRef), className: styles.stepper, "data-size": size, value: String(value), tabIndex: 0, onKeyDown: handleInputKeyDown, onChange: handleInputChange, onBlur: handleInputBlur, onFocus: handleInputFocus, disabled: disabled, readonly: readonly, type: 'number', id: id, step: step, name: name, min: min, max: max, autoFocus: autoFocus, "data-test-id": 'field-stepper__input' }) }), _jsx("div", { className: cn({ [styles.postfixWrapper]: postfixSettings.show }), children: postfixSettings.show && postfixSettings.render({ key: postfixSettings.id }) })] }) }) }) })));
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Fields",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.50.0",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@snack-uikit/locale": "*"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "a49dc66a4046d4122721a9a7e22ec059a08c0099"
|
|
69
69
|
}
|
|
@@ -16,7 +16,7 @@ import { ButtonFunction } from '@snack-uikit/button';
|
|
|
16
16
|
import { MinusSVG, PlusSVG } from '@snack-uikit/icons';
|
|
17
17
|
import { InputPrivate, InputPrivateProps, SIZE } from '@snack-uikit/input-private';
|
|
18
18
|
import { useLocale } from '@snack-uikit/locale';
|
|
19
|
-
import { Tooltip } from '@snack-uikit/tooltip';
|
|
19
|
+
import { Tooltip, TooltipProps } from '@snack-uikit/tooltip';
|
|
20
20
|
import { extractSupportProps, WithSupportProps } from '@snack-uikit/utils';
|
|
21
21
|
|
|
22
22
|
import { CONTAINER_VARIANT, VALIDATION_STATE } from '../../constants';
|
|
@@ -59,6 +59,10 @@ type FieldStepperOwnProps = {
|
|
|
59
59
|
prefix?: ReactNode;
|
|
60
60
|
/** Произвольный постфикс для поля */
|
|
61
61
|
postfix?: ReactNode;
|
|
62
|
+
/** Тултип над кнопкой увеличения значения */
|
|
63
|
+
plusButtonTooltip?: TooltipProps;
|
|
64
|
+
/** Тултип над кнопкой уменьшения значения */
|
|
65
|
+
minusButtonTooltip?: TooltipProps;
|
|
62
66
|
};
|
|
63
67
|
|
|
64
68
|
export type FieldStepperProps = WithSupportProps<FieldStepperOwnProps & InputProps & WrapperProps>;
|
|
@@ -91,6 +95,8 @@ export const FieldStepper = forwardRef<HTMLInputElement, FieldStepperProps>(
|
|
|
91
95
|
value: valueProp,
|
|
92
96
|
min = Number.NEGATIVE_INFINITY,
|
|
93
97
|
max = Number.POSITIVE_INFINITY,
|
|
98
|
+
plusButtonTooltip,
|
|
99
|
+
minusButtonTooltip,
|
|
94
100
|
step = 1,
|
|
95
101
|
disabled = false,
|
|
96
102
|
readonly = false,
|
|
@@ -240,28 +246,42 @@ export const FieldStepper = forwardRef<HTMLInputElement, FieldStepperProps>(
|
|
|
240
246
|
variant={CONTAINER_VARIANT.SingleLine}
|
|
241
247
|
inputRef={inputRef}
|
|
242
248
|
prefix={
|
|
243
|
-
<
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
249
|
+
<Tooltip
|
|
250
|
+
{...minusButtonTooltip}
|
|
251
|
+
open={minusButtonTooltip ? minusButtonTooltip?.open : false}
|
|
252
|
+
tip={minusButtonTooltip?.tip}
|
|
253
|
+
data-test-id='field-stepper__minus-button-tooltip'
|
|
254
|
+
>
|
|
255
|
+
<ButtonFunction
|
|
256
|
+
tabIndex={-1}
|
|
257
|
+
size='xs'
|
|
258
|
+
className={styles.button}
|
|
259
|
+
icon={<MinusSVG />}
|
|
260
|
+
onClick={handleMinusButtonClick}
|
|
261
|
+
onKeyDown={handleMinusButtonKeyDown}
|
|
262
|
+
disabled={isMinusButtonDisabled}
|
|
263
|
+
data-test-id='field-stepper__minus-button'
|
|
264
|
+
/>
|
|
265
|
+
</Tooltip>
|
|
253
266
|
}
|
|
254
267
|
postfix={
|
|
255
|
-
<
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
268
|
+
<Tooltip
|
|
269
|
+
{...plusButtonTooltip}
|
|
270
|
+
open={plusButtonTooltip ? plusButtonTooltip?.open : false}
|
|
271
|
+
tip={plusButtonTooltip?.tip}
|
|
272
|
+
data-test-id='field-stepper__plus-button-tooltip'
|
|
273
|
+
>
|
|
274
|
+
<ButtonFunction
|
|
275
|
+
tabIndex={-1}
|
|
276
|
+
size='xs'
|
|
277
|
+
className={styles.button}
|
|
278
|
+
icon={<PlusSVG />}
|
|
279
|
+
onClick={handlePlusButtonClick}
|
|
280
|
+
onKeyDown={handlePlusButtonKeyDown}
|
|
281
|
+
disabled={isPlusButtonDisabled}
|
|
282
|
+
data-test-id='field-stepper__plus-button'
|
|
283
|
+
/>
|
|
284
|
+
</Tooltip>
|
|
265
285
|
}
|
|
266
286
|
>
|
|
267
287
|
<div className={styles.wrap}>
|