@toptal/picasso-number-input 1.0.26-alpha-fx-5525-container-4ebd3caa7.27 → 2.0.0
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.map +1 -1
- package/dist-package/src/NumberInput/NumberInput.js +7 -8
- package/dist-package/src/NumberInput/NumberInput.js.map +1 -1
- package/dist-package/src/NumberInputEndAdornment/NumberInputEndAdornment.d.ts +2 -1
- package/dist-package/src/NumberInputEndAdornment/NumberInputEndAdornment.d.ts.map +1 -1
- package/dist-package/src/NumberInputEndAdornment/NumberInputEndAdornment.js +32 -19
- package/dist-package/src/NumberInputEndAdornment/NumberInputEndAdornment.js.map +1 -1
- package/package.json +13 -13
- package/src/NumberInput/NumberInput.tsx +9 -11
- package/src/NumberInput/__snapshots__/test.tsx.snap +5 -23
- package/src/NumberInputEndAdornment/NumberInputEndAdornment.tsx +43 -30
- package/LICENSE +0 -20
- package/dist-package/src/NumberInput/styles.d.ts +0 -3
- package/dist-package/src/NumberInput/styles.d.ts.map +0 -1
- package/dist-package/src/NumberInput/styles.js +0 -16
- package/dist-package/src/NumberInput/styles.js.map +0 -1
- package/dist-package/src/NumberInputEndAdornment/styles.d.ts +0 -4
- package/dist-package/src/NumberInputEndAdornment/styles.d.ts.map +0 -1
- package/dist-package/src/NumberInputEndAdornment/styles.js +0 -45
- package/dist-package/src/NumberInputEndAdornment/styles.js.map +0 -1
- package/src/NumberInput/styles.ts +0 -17
- package/src/NumberInputEndAdornment/styles.ts +0 -58
@@ -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;
|
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;AAO1E,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,gFAyFvB,CAAA;AAeD,eAAe,WAAW,CAAA"}
|
@@ -10,15 +10,11 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React, { forwardRef, useRef } from 'react';
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
14
13
|
import { OutlinedInput } from '@toptal/picasso-outlined-input';
|
15
14
|
import { InputAdornment } from '@toptal/picasso-input-adornment';
|
16
15
|
import { useCombinedRefs, usePropDeprecationWarning, } from '@toptal/picasso-utils';
|
17
|
-
import
|
16
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
18
17
|
import { NumberInputEndAdornment } from '../NumberInputEndAdornment';
|
19
|
-
const useStyles = makeStyles(styles, {
|
20
|
-
name: 'PicassoNumberInput',
|
21
|
-
});
|
22
18
|
export const NumberInput = forwardRef(function NumberInput(props, ref) {
|
23
19
|
const { step = 1, min = -Infinity, max = Infinity, hideControls, value, onChange, disabled, error, status, onResetClick, enableReset, width, icon, size, testIds, highlight } = props, rest = __rest(props
|
24
20
|
// TODO: [FX-4715]
|
@@ -30,13 +26,16 @@ export const NumberInput = forwardRef(function NumberInput(props, ref) {
|
|
30
26
|
componentName: 'NumberInput',
|
31
27
|
description: 'Use the `status` prop instead. `error` is deprecated and will be removed in the next major release.',
|
32
28
|
});
|
33
|
-
const classes = useStyles(props);
|
34
29
|
const inputRef = useCombinedRefs(ref, useRef(null));
|
35
30
|
const endAdornment = hideControls ? null : (React.createElement(NumberInputEndAdornment, { step: step, min: min, max: max, value: value, disabled: disabled, size: size, inputRef: inputRef }));
|
36
31
|
const startAdornment = icon ? (React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true }, icon)) : null;
|
37
32
|
return (React.createElement(OutlinedInput, { classes: {
|
38
|
-
root:
|
39
|
-
input:
|
33
|
+
root: 'pr-0 cursor-text',
|
34
|
+
input: twJoin(
|
35
|
+
// required to remove arrows in WebKit based browsers
|
36
|
+
'[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 ', '[&::-webkit-inner-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 ',
|
37
|
+
// required to remove arrows in Firefox
|
38
|
+
'[-moz-appearance:textfield]'),
|
40
39
|
}, highlight: highlight, inputProps: Object.assign(Object.assign({}, rest), { step,
|
41
40
|
min,
|
42
41
|
max }), width: width, onResetClick: onResetClick, enableReset: enableReset, status: error ? 'error' : status, inputRef: inputRef, type: 'number', value: value, disabled: disabled, onChange: onChange, endAdornment: endAdornment, startAdornment: startAdornment, size: size, testIds: testIds }));
|
@@ -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,
|
1
|
+
{"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/NumberInput/NumberInput.tsx"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { RefObject } from 'react';
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
3
|
+
export declare type Size = SizeType<'small' | 'medium' | 'large'>;
|
3
4
|
export interface Props extends BaseProps {
|
4
5
|
/** Value of the `input` element. */
|
5
6
|
value?: string | number;
|
@@ -12,7 +13,7 @@ export interface Props extends BaseProps {
|
|
12
13
|
/** Indicates whether component is in disabled state */
|
13
14
|
disabled?: boolean;
|
14
15
|
/** Component size */
|
15
|
-
size?:
|
16
|
+
size?: Size;
|
16
17
|
/** Ref of the input element */
|
17
18
|
inputRef: RefObject<HTMLInputElement>;
|
18
19
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInputEndAdornment.d.ts","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/NumberInputEndAdornment.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"NumberInputEndAdornment.d.ts","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/NumberInputEndAdornment.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAYjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEzD,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,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,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB;IACrB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;CACtC;AAmBD,eAAO,MAAM,uBAAuB;YAAW,KAAK;;;;;;;;;;CAyHnD,CAAA;AAaD,eAAe,uBAAuB,CAAA"}
|
@@ -1,24 +1,22 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { makeStyles } from '@material-ui/core/styles';
|
3
2
|
import { isBrowser } from '@toptal/picasso-shared';
|
4
|
-
import { ButtonBase } from '@material-ui/core';
|
5
|
-
import cx from 'classnames';
|
6
3
|
import { InputAdornment } from '@toptal/picasso-input-adornment';
|
7
4
|
import { Container } from '@toptal/picasso-container';
|
8
5
|
import { ArrowDownMinor16, ArrowUpMinor16, ArrowDownMinor24, ArrowUpMinor24, } from '@toptal/picasso-icons';
|
9
|
-
import
|
10
|
-
const useStyles = makeStyles(styles, {
|
11
|
-
name: 'NumberInputEndAdornment',
|
12
|
-
});
|
6
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
13
7
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
14
8
|
const nativeInputValueSetter = isBrowser()
|
15
9
|
? Object.getOwnPropertyDescriptor(
|
16
10
|
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
17
11
|
window.HTMLInputElement.prototype, 'value').set
|
18
12
|
: undefined;
|
13
|
+
const classBySize = {
|
14
|
+
small: 'h-3 w-[1.375rem]',
|
15
|
+
medium: 'h-4 w-[1.625rem]',
|
16
|
+
large: 'h-6 w-[2.125rem]',
|
17
|
+
};
|
19
18
|
export const NumberInputEndAdornment = (props) => {
|
20
19
|
const { step = 1, min = -Infinity, max = Infinity, value, disabled, size = 'medium', inputRef, } = props;
|
21
|
-
const classes = useStyles(props);
|
22
20
|
const normalizedStep = Number(step);
|
23
21
|
const normalizedValue = Number(value);
|
24
22
|
const normalizedMin = Number(min);
|
@@ -42,7 +40,7 @@ export const NumberInputEndAdornment = (props) => {
|
|
42
40
|
return;
|
43
41
|
}
|
44
42
|
let nextValue = normalizedValue + normalizedStep;
|
45
|
-
if (nextValue <= max) {
|
43
|
+
if (nextValue <= Number(max)) {
|
46
44
|
if (normalizedValue < normalizedMin + normalizedStep) {
|
47
45
|
nextValue = normalizedMin + normalizedStep;
|
48
46
|
}
|
@@ -58,7 +56,7 @@ export const NumberInputEndAdornment = (props) => {
|
|
58
56
|
return;
|
59
57
|
}
|
60
58
|
let nextValue = normalizedValue - normalizedStep;
|
61
|
-
if (nextValue >= min) {
|
59
|
+
if (nextValue >= Number(min)) {
|
62
60
|
if (normalizedValue > normalizedMax - normalizedStep) {
|
63
61
|
nextValue = normalizedMax - normalizedStep;
|
64
62
|
}
|
@@ -69,17 +67,32 @@ export const NumberInputEndAdornment = (props) => {
|
|
69
67
|
fireEvent(nextValue);
|
70
68
|
}
|
71
69
|
};
|
72
|
-
const rootClassName =
|
73
|
-
|
74
|
-
|
70
|
+
const rootClassName = twJoin(`flex relative items-center justify-center align-middle
|
71
|
+
|
72
|
+
p-0 bottom-0 cursor-pointer
|
73
|
+
|
74
|
+
text-graphite-700 decoration-graphite-700 bg-inherit bg-transparent
|
75
|
+
|
76
|
+
border-t-0 border-b-0 border-l border-r border-l-solid border-r-solid
|
77
|
+
border-l-gray-400 border-r-transparent
|
78
|
+
|
79
|
+
hover:bg-gray-400 hover:border-gray-400
|
80
|
+
|
81
|
+
[&+&]:border-t [&+&]:border-solid
|
82
|
+
[&+&]:border-t-gray-400
|
83
|
+
|
84
|
+
active:[&+&]:border-t active:[&+&]:border-t-solid
|
85
|
+
active:[&+&]:border-gray-500
|
86
|
+
|
87
|
+
active:bg-gray-500 active:border-t-gray-500
|
88
|
+
|
89
|
+
[&:first-child]:rounded-tr-sm [&:last-child]:rounded-br-sm
|
90
|
+
|
91
|
+
transition-[color,_border,_background] ease-out duration-350`, classBySize[size], disabled && 'opacity-[0.48]');
|
75
92
|
return (React.createElement(InputAdornment, { position: 'end' },
|
76
93
|
React.createElement(Container, { flex: true, direction: 'column', inline: true },
|
77
|
-
React.createElement(
|
78
|
-
|
79
|
-
}, onClick: handleUpClick }, size === 'large' ? React.createElement(ArrowUpMinor24, null) : React.createElement(ArrowUpMinor16, null)),
|
80
|
-
React.createElement(ButtonBase, { disabled: disabled, classes: {
|
81
|
-
root: rootClassName,
|
82
|
-
}, onClick: handleDownClick }, size === 'large' ? React.createElement(ArrowDownMinor24, null) : React.createElement(ArrowDownMinor16, null)))));
|
94
|
+
React.createElement("button", { disabled: disabled, className: rootClassName, onClick: handleUpClick }, size === 'large' ? React.createElement(ArrowUpMinor24, null) : React.createElement(ArrowUpMinor16, null)),
|
95
|
+
React.createElement("button", { disabled: disabled, className: rootClassName, onClick: handleDownClick }, size === 'large' ? React.createElement(ArrowDownMinor24, null) : React.createElement(ArrowDownMinor16, null)))));
|
83
96
|
};
|
84
97
|
NumberInputEndAdornment.defaultProps = {
|
85
98
|
min: -Infinity,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInputEndAdornment.js","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/NumberInputEndAdornment.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"NumberInputEndAdornment.js","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/NumberInputEndAdornment.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@toptal/picasso-number-input",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.0",
|
4
4
|
"description": "Toptal UI components library - NumberInput",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -22,33 +22,33 @@
|
|
22
22
|
},
|
23
23
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
24
24
|
"dependencies": {
|
25
|
-
"@toptal/picasso-container": "
|
26
|
-
"@toptal/picasso-form": "
|
27
|
-
"@toptal/picasso-icons": "1.
|
28
|
-
"@toptal/picasso-input-adornment": "
|
29
|
-
"@toptal/picasso-outlined-input": "
|
30
|
-
"@toptal/picasso-shared": "15.0.
|
31
|
-
"@toptal/picasso-utils": "1.0.
|
32
|
-
"classnames": "^2.5.1"
|
25
|
+
"@toptal/picasso-container": "2.0.0",
|
26
|
+
"@toptal/picasso-form": "4.0.0",
|
27
|
+
"@toptal/picasso-icons": "1.5.0",
|
28
|
+
"@toptal/picasso-input-adornment": "2.0.0",
|
29
|
+
"@toptal/picasso-outlined-input": "2.0.0",
|
30
|
+
"@toptal/picasso-shared": "15.0.0",
|
31
|
+
"@toptal/picasso-utils": "1.0.3"
|
33
32
|
},
|
34
33
|
"sideEffects": [
|
35
34
|
"**/styles.ts",
|
36
35
|
"**/styles.js"
|
37
36
|
],
|
38
37
|
"peerDependencies": {
|
39
|
-
"@
|
38
|
+
"@toptal/picasso-tailwind-merge": "^1.0.1",
|
39
|
+
"@toptal/picasso-tailwind": ">=2.7",
|
40
40
|
"react": ">=16.12.0 < 19.0.0"
|
41
41
|
},
|
42
42
|
"exports": {
|
43
43
|
".": "./dist-package/src/index.js"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
|
-
"@toptal/picasso-
|
46
|
+
"@toptal/picasso-tailwind-merge": "1.2.0",
|
47
|
+
"@toptal/picasso-test-utils": "1.1.1"
|
47
48
|
},
|
48
49
|
"files": [
|
49
50
|
"dist-package/**",
|
50
51
|
"!dist-package/tsconfig.tsbuildinfo",
|
51
52
|
"src"
|
52
|
-
]
|
53
|
-
"gitHead": "4ebd3caa763220e28d7bfe67e6a63a05ea37599a"
|
53
|
+
]
|
54
54
|
}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import type { ReactNode } from 'react'
|
2
2
|
import React, { forwardRef, useRef } from 'react'
|
3
|
-
import type { Theme } from '@material-ui/core/styles'
|
4
|
-
import { makeStyles } from '@material-ui/core/styles'
|
5
3
|
import type { BaseProps, OmitInternalProps } from '@toptal/picasso-shared'
|
6
4
|
import { OutlinedInput } from '@toptal/picasso-outlined-input'
|
7
5
|
import { InputAdornment } from '@toptal/picasso-input-adornment'
|
@@ -10,8 +8,8 @@ import {
|
|
10
8
|
usePropDeprecationWarning,
|
11
9
|
} from '@toptal/picasso-utils'
|
12
10
|
import type { Props as OutlinedInputProps } from '@toptal/picasso-outlined-input'
|
11
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge'
|
13
12
|
|
14
|
-
import styles from './styles'
|
15
13
|
import { NumberInputEndAdornment } from '../NumberInputEndAdornment'
|
16
14
|
|
17
15
|
export interface Props
|
@@ -39,10 +37,6 @@ export interface Props
|
|
39
37
|
highlight?: 'autofill'
|
40
38
|
}
|
41
39
|
|
42
|
-
const useStyles = makeStyles<Theme, Props>(styles, {
|
43
|
-
name: 'PicassoNumberInput',
|
44
|
-
})
|
45
|
-
|
46
40
|
export const NumberInput = forwardRef<HTMLInputElement, Props>(
|
47
41
|
function NumberInput(props, ref) {
|
48
42
|
const {
|
@@ -74,8 +68,6 @@ export const NumberInput = forwardRef<HTMLInputElement, Props>(
|
|
74
68
|
'Use the `status` prop instead. `error` is deprecated and will be removed in the next major release.',
|
75
69
|
})
|
76
70
|
|
77
|
-
const classes = useStyles(props)
|
78
|
-
|
79
71
|
const inputRef = useCombinedRefs<HTMLInputElement>(
|
80
72
|
ref,
|
81
73
|
useRef<HTMLInputElement>(null)
|
@@ -102,8 +94,14 @@ export const NumberInput = forwardRef<HTMLInputElement, Props>(
|
|
102
94
|
return (
|
103
95
|
<OutlinedInput
|
104
96
|
classes={{
|
105
|
-
root:
|
106
|
-
input:
|
97
|
+
root: 'pr-0 cursor-text',
|
98
|
+
input: twJoin(
|
99
|
+
// required to remove arrows in WebKit based browsers
|
100
|
+
'[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0 ',
|
101
|
+
'[&::-webkit-inner-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 ',
|
102
|
+
// required to remove arrows in Firefox
|
103
|
+
'[-moz-appearance:textfield]'
|
104
|
+
),
|
107
105
|
}}
|
108
106
|
highlight={highlight}
|
109
107
|
inputProps={{
|
@@ -5,11 +5,11 @@ exports[`NumberInput renders 1`] = `
|
|
5
5
|
class="Picasso-root"
|
6
6
|
>
|
7
7
|
<div
|
8
|
-
class="
|
8
|
+
class="base-Input base-Input relative inline-flex gap-y gap-x items-center rounded-sm [font-size:_unset] hover:[&_.resetButtonDirty]:visible p-2 h-8 w-[18.75rem] bg-white after:content-[""] after:inline-block after:absolute after:top-0 after:bottom-0 after:right-0 after:left-0 after:pointer-events after:border-solid after:rounded-sm after:border-gray [&:has(input:focus)]:after:border-blue after:border [&:has(input:focus)]:after:shadow-[0_0_0_3px] [&:has(input:focus)]:after:shadow-blue hover:[&:not(:has(input:focus))]:after:border-gray text-black pr-0 cursor-text"
|
9
9
|
>
|
10
10
|
<input
|
11
11
|
aria-invalid="false"
|
12
|
-
class="
|
12
|
+
class="base-Input [&::-webkit-calendar-picker-indicator]:bg bg-transparent border-none box-border cursor-[inherit] h-full outline-none p-0 peer resize-none w-full text-md leading-4 text-black [&::placeholder]:text-gray [&::placeholder]:opacity-100 [&::-webkit-outer-spin-button]:appearance [&::-webkit-outer-spin-button]:m [&::-webkit-inner-spin-button]:appearance [&::-webkit-inner-spin-button]:m [-moz"
|
13
13
|
max="100"
|
14
14
|
min="-100"
|
15
15
|
step="5"
|
@@ -17,15 +17,13 @@ exports[`NumberInput renders 1`] = `
|
|
17
17
|
value="10"
|
18
18
|
/>
|
19
19
|
<div
|
20
|
-
class="
|
20
|
+
class="text-graphite h-auto flex items-center whitespace-nowrap max-h justify-end ml-auto flex-grow flex-shrink basis-auto"
|
21
21
|
>
|
22
22
|
<div
|
23
23
|
class="inline-flex flex-col"
|
24
24
|
>
|
25
25
|
<button
|
26
|
-
class="
|
27
|
-
tabindex="0"
|
28
|
-
type="button"
|
26
|
+
class="flex relative items-center justify-center align-middle p-0 bottom-0 cursor-pointer text-graphite decoration-graphite bg-inherit bg-transparent border-t border-b border-l border-r border-l border-r border-l-gray border-r hover:bg-gray hover:border-gray [&+&]:border-t [&+&]:border-solid [&+&]:border-t-gray active:[&+&]:border-t active:[&+&]:border-t active:[&+&]:border-gray active:bg-gray active:border-t-gray [&:first-child]:rounded-tr [&:last-child]:rounded-br transition-[color,_border,_background] ease-out duration-350 h-4 w-[1.625rem]"
|
29
27
|
>
|
30
28
|
<svg
|
31
29
|
class="PicassoSvgArrowUpMinor16-root"
|
@@ -38,9 +36,7 @@ exports[`NumberInput renders 1`] = `
|
|
38
36
|
</svg>
|
39
37
|
</button>
|
40
38
|
<button
|
41
|
-
class="
|
42
|
-
tabindex="0"
|
43
|
-
type="button"
|
39
|
+
class="flex relative items-center justify-center align-middle p-0 bottom-0 cursor-pointer text-graphite decoration-graphite bg-inherit bg-transparent border-t border-b border-l border-r border-l border-r border-l-gray border-r hover:bg-gray hover:border-gray [&+&]:border-t [&+&]:border-solid [&+&]:border-t-gray active:[&+&]:border-t active:[&+&]:border-t active:[&+&]:border-gray active:bg-gray active:border-t-gray [&:first-child]:rounded-tr [&:last-child]:rounded-br transition-[color,_border,_background] ease-out duration-350 h-4 w-[1.625rem]"
|
44
40
|
>
|
45
41
|
<svg
|
46
42
|
class="PicassoSvgArrowDownMinor16-root"
|
@@ -54,20 +50,6 @@ exports[`NumberInput renders 1`] = `
|
|
54
50
|
</button>
|
55
51
|
</div>
|
56
52
|
</div>
|
57
|
-
<fieldset
|
58
|
-
aria-hidden="true"
|
59
|
-
class="PrivateNotchedOutline-root MuiOutlinedInput-notchedOutline PicassoOutlinedInput-notchedOutline"
|
60
|
-
style="padding-left: 8px;"
|
61
|
-
>
|
62
|
-
<legend
|
63
|
-
class="PrivateNotchedOutline-legend"
|
64
|
-
style="width: 0.01px;"
|
65
|
-
>
|
66
|
-
<span>
|
67
|
-
|
68
|
-
</span>
|
69
|
-
</legend>
|
70
|
-
</fieldset>
|
71
53
|
</div>
|
72
54
|
</div>
|
73
55
|
`;
|
@@ -1,12 +1,8 @@
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
2
|
import type { RefObject } from 'react'
|
3
3
|
import React from 'react'
|
4
|
-
import type { Theme } from '@material-ui/core/styles'
|
5
|
-
import { makeStyles } from '@material-ui/core/styles'
|
6
4
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared'
|
7
5
|
import { isBrowser } from '@toptal/picasso-shared'
|
8
|
-
import { ButtonBase } from '@material-ui/core'
|
9
|
-
import cx from 'classnames'
|
10
6
|
import { InputAdornment } from '@toptal/picasso-input-adornment'
|
11
7
|
import { Container } from '@toptal/picasso-container'
|
12
8
|
import {
|
@@ -15,8 +11,9 @@ import {
|
|
15
11
|
ArrowDownMinor24,
|
16
12
|
ArrowUpMinor24,
|
17
13
|
} from '@toptal/picasso-icons'
|
14
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge'
|
18
15
|
|
19
|
-
|
16
|
+
export type Size = SizeType<'small' | 'medium' | 'large'>
|
20
17
|
|
21
18
|
export interface Props extends BaseProps {
|
22
19
|
/** Value of the `input` element. */
|
@@ -30,15 +27,11 @@ export interface Props extends BaseProps {
|
|
30
27
|
/** Indicates whether component is in disabled state */
|
31
28
|
disabled?: boolean
|
32
29
|
/** Component size */
|
33
|
-
size?:
|
30
|
+
size?: Size
|
34
31
|
/** Ref of the input element */
|
35
32
|
inputRef: RefObject<HTMLInputElement>
|
36
33
|
}
|
37
34
|
|
38
|
-
const useStyles = makeStyles<Theme, Props>(styles, {
|
39
|
-
name: 'NumberInputEndAdornment',
|
40
|
-
})
|
41
|
-
|
42
35
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
43
36
|
const nativeInputValueSetter = isBrowser()
|
44
37
|
? (
|
@@ -50,6 +43,12 @@ const nativeInputValueSetter = isBrowser()
|
|
50
43
|
).set!
|
51
44
|
: undefined
|
52
45
|
|
46
|
+
const classBySize: Record<Size, string> = {
|
47
|
+
small: 'h-3 w-[1.375rem]',
|
48
|
+
medium: 'h-4 w-[1.625rem]',
|
49
|
+
large: 'h-6 w-[2.125rem]',
|
50
|
+
}
|
51
|
+
|
53
52
|
export const NumberInputEndAdornment = (props: Props) => {
|
54
53
|
const {
|
55
54
|
step = 1,
|
@@ -61,8 +60,6 @@ export const NumberInputEndAdornment = (props: Props) => {
|
|
61
60
|
inputRef,
|
62
61
|
} = props
|
63
62
|
|
64
|
-
const classes = useStyles(props)
|
65
|
-
|
66
63
|
const normalizedStep = Number(step)
|
67
64
|
const normalizedValue = Number(value)
|
68
65
|
const normalizedMin = Number(min)
|
@@ -94,7 +91,7 @@ export const NumberInputEndAdornment = (props: Props) => {
|
|
94
91
|
|
95
92
|
let nextValue = normalizedValue + normalizedStep
|
96
93
|
|
97
|
-
if (nextValue <= max) {
|
94
|
+
if (nextValue <= Number(max)) {
|
98
95
|
if (normalizedValue < normalizedMin + normalizedStep) {
|
99
96
|
nextValue = normalizedMin + normalizedStep
|
100
97
|
}
|
@@ -113,7 +110,7 @@ export const NumberInputEndAdornment = (props: Props) => {
|
|
113
110
|
|
114
111
|
let nextValue = normalizedValue - normalizedStep
|
115
112
|
|
116
|
-
if (nextValue >= min) {
|
113
|
+
if (nextValue >= Number(min)) {
|
117
114
|
if (normalizedValue > normalizedMax - normalizedStep) {
|
118
115
|
nextValue = normalizedMax - normalizedStep
|
119
116
|
}
|
@@ -125,35 +122,51 @@ export const NumberInputEndAdornment = (props: Props) => {
|
|
125
122
|
}
|
126
123
|
}
|
127
124
|
|
128
|
-
const rootClassName =
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
125
|
+
const rootClassName = twJoin(
|
126
|
+
`flex relative items-center justify-center align-middle
|
127
|
+
|
128
|
+
p-0 bottom-0 cursor-pointer
|
129
|
+
|
130
|
+
text-graphite-700 decoration-graphite-700 bg-inherit bg-transparent
|
131
|
+
|
132
|
+
border-t-0 border-b-0 border-l border-r border-l-solid border-r-solid
|
133
|
+
border-l-gray-400 border-r-transparent
|
134
|
+
|
135
|
+
hover:bg-gray-400 hover:border-gray-400
|
136
|
+
|
137
|
+
[&+&]:border-t [&+&]:border-solid
|
138
|
+
[&+&]:border-t-gray-400
|
139
|
+
|
140
|
+
active:[&+&]:border-t active:[&+&]:border-t-solid
|
141
|
+
active:[&+&]:border-gray-500
|
142
|
+
|
143
|
+
active:bg-gray-500 active:border-t-gray-500
|
144
|
+
|
145
|
+
[&:first-child]:rounded-tr-sm [&:last-child]:rounded-br-sm
|
146
|
+
|
147
|
+
transition-[color,_border,_background] ease-out duration-350`,
|
148
|
+
classBySize[size],
|
149
|
+
disabled && 'opacity-[0.48]'
|
134
150
|
)
|
135
151
|
|
136
152
|
return (
|
137
153
|
<InputAdornment position='end'>
|
138
154
|
<Container flex direction='column' inline>
|
139
|
-
<
|
155
|
+
<button
|
140
156
|
disabled={disabled}
|
141
|
-
|
142
|
-
root: rootClassName,
|
143
|
-
}}
|
157
|
+
className={rootClassName}
|
144
158
|
onClick={handleUpClick}
|
145
159
|
>
|
146
160
|
{size === 'large' ? <ArrowUpMinor24 /> : <ArrowUpMinor16 />}
|
147
|
-
</
|
148
|
-
|
161
|
+
</button>
|
162
|
+
|
163
|
+
<button
|
149
164
|
disabled={disabled}
|
150
|
-
|
151
|
-
root: rootClassName,
|
152
|
-
}}
|
165
|
+
className={rootClassName}
|
153
166
|
onClick={handleDownClick}
|
154
167
|
>
|
155
168
|
{size === 'large' ? <ArrowDownMinor24 /> : <ArrowDownMinor16 />}
|
156
|
-
</
|
169
|
+
</button>
|
157
170
|
</Container>
|
158
171
|
</InputAdornment>
|
159
172
|
)
|
package/LICENSE
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2021-2022 Toptal, LLC
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
-
this software and associated documentation files (the “Software”), to deal in
|
7
|
-
the Software without restriction, including without limitation the rights to
|
8
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
9
|
-
the Software, and to permit persons to whom the Software is furnished to do so,
|
10
|
-
subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
17
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
18
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/NumberInput/styles.ts"],"names":[],"mappings":";AAEA,wBAcI"}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { createStyles } from '@material-ui/core/styles';
|
2
|
-
export default () => createStyles({
|
3
|
-
root: {
|
4
|
-
paddingRight: 0,
|
5
|
-
cursor: 'text',
|
6
|
-
},
|
7
|
-
input: {
|
8
|
-
'&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
|
9
|
-
'-webkit-appearance': 'none',
|
10
|
-
appearance: 'none',
|
11
|
-
margin: 0,
|
12
|
-
},
|
13
|
-
'-moz-appearance': 'textfield',
|
14
|
-
},
|
15
|
-
});
|
16
|
-
//# sourceMappingURL=styles.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/NumberInput/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,MAAM;KACf;IACD,KAAK,EAAE;QACL,4DAA4D,EAAE;YAC5D,oBAAoB,EAAE,MAAM;YAC5B,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,CAAC;SACV;QACD,iBAAiB,EAAE,WAAW;KAC/B;CACF,CAAC,CAAA"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import type { Theme } from '@material-ui/core/styles';
|
2
|
-
declare const _default: ({ palette, transitions, sizes: { borderRadius } }: Theme) => import("@material-ui/styles").StyleRules<{}, "root" | "medium" | "large" | "small" | "disabled">;
|
3
|
-
export default _default;
|
4
|
-
//# sourceMappingURL=styles.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;4EAGc,KAAK;AAAxE,wBAsDI"}
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { createStyles } from '@material-ui/core/styles';
|
2
|
-
export default ({ palette, transitions, sizes: { borderRadius } }) => createStyles({
|
3
|
-
root: {
|
4
|
-
borderLeft: `1px solid ${palette.grey.light2}`,
|
5
|
-
borderRight: '1px solid transparent',
|
6
|
-
'&:hover': {
|
7
|
-
background: palette.grey.light2,
|
8
|
-
borderColor: palette.grey.light2,
|
9
|
-
},
|
10
|
-
'& + &': {
|
11
|
-
borderTop: `1px solid ${palette.grey.light2}`,
|
12
|
-
},
|
13
|
-
'&:active + &': {
|
14
|
-
borderTop: `1px solid ${palette.grey.main}`,
|
15
|
-
},
|
16
|
-
'&:active': {
|
17
|
-
background: palette.grey.main,
|
18
|
-
borderColor: palette.grey.main,
|
19
|
-
},
|
20
|
-
'&:first-child': {
|
21
|
-
borderTopRightRadius: borderRadius.small,
|
22
|
-
},
|
23
|
-
'&:last-child': {
|
24
|
-
borderBottomRightRadius: borderRadius.small,
|
25
|
-
},
|
26
|
-
transition: `all ${transitions.duration.short}ms ${transitions.easing.easeOut}`,
|
27
|
-
transitionProperty: 'border, color, background',
|
28
|
-
},
|
29
|
-
disabled: {
|
30
|
-
opacity: 0.48,
|
31
|
-
},
|
32
|
-
small: {
|
33
|
-
height: '0.75rem',
|
34
|
-
width: '1.375rem',
|
35
|
-
},
|
36
|
-
medium: {
|
37
|
-
height: '1rem',
|
38
|
-
width: '1.625rem',
|
39
|
-
},
|
40
|
-
large: {
|
41
|
-
height: '1.5rem',
|
42
|
-
width: '2.125rem',
|
43
|
-
},
|
44
|
-
});
|
45
|
-
//# sourceMappingURL=styles.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/NumberInputEndAdornment/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAS,EAAE,EAAE,CAC1E,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,UAAU,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9C,WAAW,EAAE,uBAAuB;QAEpC,SAAS,EAAE;YACT,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;YAC/B,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SACjC;QAED,OAAO,EAAE;YACP,SAAS,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;SAC9C;QAED,cAAc,EAAE;YACd,SAAS,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;SAC5C;QAED,UAAU,EAAE;YACV,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YAC7B,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SAC/B;QAED,eAAe,EAAE;YACf,oBAAoB,EAAE,YAAY,CAAC,KAAK;SACzC;QAED,cAAc,EAAE;YACd,uBAAuB,EAAE,YAAY,CAAC,KAAK;SAC5C;QAED,UAAU,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;QAC/E,kBAAkB,EAAE,2BAA2B;KAChD;IAED,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;KACd;IAED,KAAK,EAAE;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,UAAU;KAClB;IAED,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,UAAU;KAClB;IAED,KAAK,EAAE;QACL,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;KAClB;CACF,CAAC,CAAA"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { createStyles } from '@material-ui/core/styles'
|
2
|
-
|
3
|
-
export default () =>
|
4
|
-
createStyles({
|
5
|
-
root: {
|
6
|
-
paddingRight: 0,
|
7
|
-
cursor: 'text',
|
8
|
-
},
|
9
|
-
input: {
|
10
|
-
'&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
|
11
|
-
'-webkit-appearance': 'none',
|
12
|
-
appearance: 'none',
|
13
|
-
margin: 0,
|
14
|
-
},
|
15
|
-
'-moz-appearance': 'textfield',
|
16
|
-
},
|
17
|
-
})
|
@@ -1,58 +0,0 @@
|
|
1
|
-
import type { Theme } from '@material-ui/core/styles'
|
2
|
-
import { createStyles } from '@material-ui/core/styles'
|
3
|
-
|
4
|
-
export default ({ palette, transitions, sizes: { borderRadius } }: Theme) =>
|
5
|
-
createStyles({
|
6
|
-
root: {
|
7
|
-
borderLeft: `1px solid ${palette.grey.light2}`,
|
8
|
-
borderRight: '1px solid transparent',
|
9
|
-
|
10
|
-
'&:hover': {
|
11
|
-
background: palette.grey.light2,
|
12
|
-
borderColor: palette.grey.light2,
|
13
|
-
},
|
14
|
-
|
15
|
-
'& + &': {
|
16
|
-
borderTop: `1px solid ${palette.grey.light2}`,
|
17
|
-
},
|
18
|
-
|
19
|
-
'&:active + &': {
|
20
|
-
borderTop: `1px solid ${palette.grey.main}`,
|
21
|
-
},
|
22
|
-
|
23
|
-
'&:active': {
|
24
|
-
background: palette.grey.main,
|
25
|
-
borderColor: palette.grey.main,
|
26
|
-
},
|
27
|
-
|
28
|
-
'&:first-child': {
|
29
|
-
borderTopRightRadius: borderRadius.small,
|
30
|
-
},
|
31
|
-
|
32
|
-
'&:last-child': {
|
33
|
-
borderBottomRightRadius: borderRadius.small,
|
34
|
-
},
|
35
|
-
|
36
|
-
transition: `all ${transitions.duration.short}ms ${transitions.easing.easeOut}`,
|
37
|
-
transitionProperty: 'border, color, background',
|
38
|
-
},
|
39
|
-
|
40
|
-
disabled: {
|
41
|
-
opacity: 0.48,
|
42
|
-
},
|
43
|
-
|
44
|
-
small: {
|
45
|
-
height: '0.75rem',
|
46
|
-
width: '1.375rem',
|
47
|
-
},
|
48
|
-
|
49
|
-
medium: {
|
50
|
-
height: '1rem',
|
51
|
-
width: '1.625rem',
|
52
|
-
},
|
53
|
-
|
54
|
-
large: {
|
55
|
-
height: '1.5rem',
|
56
|
-
width: '2.125rem',
|
57
|
-
},
|
58
|
-
})
|