@toptal/picasso-number-input 4.0.13 → 4.0.14
Sign up to get free protection for your applications and to get access to all the features.
- package/dist-package/src/NumberInput/NumberInput.d.ts +2 -0
- package/dist-package/src/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist-package/src/NumberInput/NumberInput.js +6 -2
- package/dist-package/src/NumberInput/NumberInput.js.map +1 -1
- package/package.json +1 -1
- package/src/NumberInput/NumberInput.tsx +7 -0
@@ -11,6 +11,8 @@ export interface Props extends Omit<OmitInternalProps<OutlinedInputProps>, 'defa
|
|
11
11
|
max?: number | string;
|
12
12
|
/** Next value of the `input` element will be calculated based on step */
|
13
13
|
step?: number | string;
|
14
|
+
/** Enable value change on mouse wheel */
|
15
|
+
enableChangeOnMouseWheel?: boolean;
|
14
16
|
/** Should controls be hidden or not */
|
15
17
|
hideControls?: boolean;
|
16
18
|
/** Specify icon which should be rendered inside NumberInput */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../src/NumberInput/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAA6B,MAAM,OAAO,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI1E,OAAO,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAKjF,MAAM,WAAW,KACf,SAAQ,IAAI,CACR,iBAAiB,CAAC,kBAAkB,CAAC,EACrC,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAC/C,EACD,SAAS;IACX,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../src/NumberInput/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAA6B,MAAM,OAAO,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI1E,OAAO,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAKjF,MAAM,WAAW,KACf,SAAQ,IAAI,CACR,iBAAiB,CAAC,kBAAkB,CAAC,EACrC,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAC/C,EACD,SAAS;IACX,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,yCAAyC;IACzC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,WAAW,gFAoFvB,CAAA;AAeD,eAAe,WAAW,CAAA"}
|
@@ -16,7 +16,7 @@ import { useCombinedRefs } from '@toptal/picasso-utils';
|
|
16
16
|
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
17
17
|
import { NumberInputEndAdornment } from '../NumberInputEndAdornment';
|
18
18
|
export const NumberInput = forwardRef(function NumberInput(props, ref) {
|
19
|
-
const { step = 1, min = -Infinity, max = Infinity, hideControls, value, onChange, disabled, status, onResetClick, enableReset, width, icon, size, testIds, highlight } = props, rest = __rest(props, ["step", "min", "max", "hideControls", "value", "onChange", "disabled", "status", "onResetClick", "enableReset", "width", "icon", "size", "testIds", "highlight"]);
|
19
|
+
const { step = 1, min = -Infinity, max = Infinity, hideControls, enableChangeOnMouseWheel, value, onChange, disabled, status, onResetClick, enableReset, width, icon, size, testIds, highlight } = props, rest = __rest(props, ["step", "min", "max", "hideControls", "enableChangeOnMouseWheel", "value", "onChange", "disabled", "status", "onResetClick", "enableReset", "width", "icon", "size", "testIds", "highlight"]);
|
20
20
|
const inputRef = useCombinedRefs(ref, useRef(null));
|
21
21
|
const endAdornment = hideControls ? null : (React.createElement(NumberInputEndAdornment, { step: step, min: min, max: max, value: value, disabled: disabled, size: size, inputRef: inputRef }));
|
22
22
|
const startAdornment = icon ? (React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true }, icon)) : null;
|
@@ -29,7 +29,11 @@ export const NumberInput = forwardRef(function NumberInput(props, ref) {
|
|
29
29
|
'[-moz-appearance:textfield]'),
|
30
30
|
}, highlight: highlight, inputProps: Object.assign(Object.assign({}, rest), { step,
|
31
31
|
min,
|
32
|
-
max
|
32
|
+
max,
|
33
|
+
// TODO: [FX-6102] Add test for wheel event
|
34
|
+
onWheel: enableChangeOnMouseWheel
|
35
|
+
? undefined
|
36
|
+
: event => event.currentTarget.blur() }), width: width, onResetClick: onResetClick, enableReset: enableReset, status: status, inputRef: inputRef, type: 'number', value: value, disabled: disabled, onChange: onChange, endAdornment: endAdornment, startAdornment: startAdornment, size: size, testIds: testIds }));
|
33
37
|
});
|
34
38
|
NumberInput.defaultProps = {
|
35
39
|
onChange: () => { },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/NumberInput/NumberInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;
|
1
|
+
{"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/NumberInput/NumberInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AA6BpE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG;IAC7B,MAAM,EACJ,IAAI,GAAG,CAAC,EACR,GAAG,GAAG,CAAC,QAAQ,EACf,GAAG,GAAG,QAAQ,EACd,YAAY,EACZ,wBAAwB,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,KAEP,KAAK,EADJ,IAAI,UACL,KAAK,EAlBH,6LAkBL,CAAQ,CAAA;IAET,MAAM,QAAQ,GAAG,eAAe,CAC9B,GAAG,EACH,MAAM,CAAmB,IAAI,CAAC,CAC/B,CAAA;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzC,oBAAC,uBAAuB,IACtB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAA;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAC5B,oBAAC,cAAc,IAAC,QAAQ,EAAC,OAAO,EAAC,oBAAoB,UAClD,IAAI,CACU,CAClB,CAAC,CAAC,CAAC,IAAI,CAAA;IAER,OAAO,CACL,oBAAC,aAAa,IACZ,OAAO,EAAE;YACP,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,MAAM;YACX,qDAAqD;YACrD,oFAAoF,EACpF,oFAAoF;YACpF,uCAAuC;YACvC,6BAA6B,CAC9B;SACF,EACD,SAAS,EAAE,SAAS,EACpB,UAAU,kCACL,IAAI,KACP,IAAI;YACJ,GAAG;YACH,GAAG;YACH,2CAA2C;YAC3C,OAAO,EAAE,wBAAwB;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAEzC,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,GAChB,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,WAAW,CAAC,YAAY,GAAG;IACzB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,eAAe,WAAW,CAAA"}
|
package/package.json
CHANGED
@@ -23,6 +23,8 @@ export interface Props
|
|
23
23
|
max?: number | string
|
24
24
|
/** Next value of the `input` element will be calculated based on step */
|
25
25
|
step?: number | string
|
26
|
+
/** Enable value change on mouse wheel */
|
27
|
+
enableChangeOnMouseWheel?: boolean
|
26
28
|
/** Should controls be hidden or not */
|
27
29
|
hideControls?: boolean
|
28
30
|
/** Specify icon which should be rendered inside NumberInput */
|
@@ -41,6 +43,7 @@ export const NumberInput = forwardRef<HTMLInputElement, Props>(
|
|
41
43
|
min = -Infinity,
|
42
44
|
max = Infinity,
|
43
45
|
hideControls,
|
46
|
+
enableChangeOnMouseWheel,
|
44
47
|
value,
|
45
48
|
onChange,
|
46
49
|
disabled,
|
@@ -96,6 +99,10 @@ export const NumberInput = forwardRef<HTMLInputElement, Props>(
|
|
96
99
|
step,
|
97
100
|
min,
|
98
101
|
max,
|
102
|
+
// TODO: [FX-6102] Add test for wheel event
|
103
|
+
onWheel: enableChangeOnMouseWheel
|
104
|
+
? undefined
|
105
|
+
: event => event.currentTarget.blur(),
|
99
106
|
}}
|
100
107
|
width={width}
|
101
108
|
onResetClick={onResetClick}
|