Skip to content

Commit 6d01408

Browse files
committed
chore: clean up
1 parent ac30a4e commit 6d01408

File tree

3 files changed

+10
-34
lines changed

3 files changed

+10
-34
lines changed

src/InputNumber.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import useCursor from './hooks/useCursor';
1414
import StepHandler from './StepHandler';
1515
import { getDecupleSteps } from './utils/numberUtil';
1616

17-
import { BaseInputProps } from '@rc-component/input/lib/interface';
1817
import { useEvent } from '@rc-component/util';
1918
import { triggerFocus, type InputFocusOptions } from '@rc-component/util/lib/DOM/focus';
2019
import useFrame from './hooks/useFrame';
@@ -51,7 +50,7 @@ const getDecimalIfValidate = (value: ValueType) => {
5150
return decimal.isInvalidate() ? null : decimal;
5251
};
5352

54-
type SemanticName = 'actions' | 'input' | 'action';
53+
type SemanticName = 'root' | 'actions' | 'input' | 'action' | 'prefix' | 'suffix';
5554
export interface InputNumberProps<T extends ValueType = ValueType>
5655
extends Omit<
5756
React.InputHTMLAttributes<HTMLInputElement>,
@@ -75,10 +74,8 @@ export interface InputNumberProps<T extends ValueType = ValueType>
7574
controls?: boolean;
7675
prefix?: React.ReactNode;
7776
suffix?: React.ReactNode;
78-
addonBefore?: React.ReactNode;
79-
addonAfter?: React.ReactNode;
80-
classNames?: BaseInputProps['classNames'] & Partial<Record<SemanticName, string>>;
81-
styles?: BaseInputProps['styles'] & Partial<Record<SemanticName, React.CSSProperties>>;
77+
classNames?: Partial<Record<SemanticName, string>>;
78+
styles?: Partial<Record<SemanticName, React.CSSProperties>>;
8279

8380
// Customize handler node
8481
upHandler?: React.ReactNode;
@@ -619,14 +616,14 @@ const InputNumber = React.forwardRef<InputNumberRef, InputNumberProps>((props, r
619616
return (
620617
<div
621618
ref={rootRef}
622-
className={clsx(prefixCls, `${prefixCls}-mode-${mode}`, className, {
619+
className={clsx(prefixCls, `${prefixCls}-mode-${mode}`, className, classNames?.root, {
623620
[`${prefixCls}-focused`]: focus,
624621
[`${prefixCls}-disabled`]: disabled,
625622
[`${prefixCls}-readonly`]: readOnly,
626623
[`${prefixCls}-not-a-number`]: decimalValue.isNaN(),
627624
[`${prefixCls}-out-of-range`]: !decimalValue.isInvalidate() && !isInRange(decimalValue),
628625
})}
629-
style={style}
626+
style={{ ...styles?.root, ...style }}
630627
onFocus={() => {
631628
setFocus(true);
632629
}}

tests/baseInput.test.tsx

Lines changed: 0 additions & 26 deletions
This file was deleted.

tests/semantic.test.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ import InputNumber from '../src';
44
describe('InputNumber.Semantic', () => {
55
it('support classNames and styles', () => {
66
const testClassNames = {
7+
root: 'test-root',
78
prefix: 'test-prefix',
89
input: 'test-input',
910
suffix: 'test-suffix',
1011
actions: 'test-actions',
1112
action: 'test-action',
1213
};
1314
const testStyles = {
15+
root: { color: 'orange' },
1416
prefix: { color: 'red' },
1517
input: { color: 'blue' },
1618
suffix: { color: 'green' },
@@ -27,16 +29,19 @@ describe('InputNumber.Semantic', () => {
2729
/>,
2830
);
2931

32+
const root = container.querySelector('.rc-input-number')!;
3033
const input = container.querySelector('input')!;
3134
const prefix = container.querySelector('.rc-input-number-prefix')!;
3235
const suffix = container.querySelector('.rc-input-number-suffix')!;
3336
const actions = container.querySelector('.rc-input-number-actions')!;
3437
const action = container.querySelector('.rc-input-number-action')!;
38+
expect(root).toHaveClass(testClassNames.root);
3539
expect(input).toHaveClass(testClassNames.input);
3640
expect(prefix).toHaveClass(testClassNames.prefix);
3741
expect(suffix).toHaveClass(testClassNames.suffix);
3842
expect(actions).toHaveClass(testClassNames.actions);
3943
expect(action).toHaveClass(testClassNames.action);
44+
expect(root).toHaveStyle(testStyles.root);
4045
expect(prefix).toHaveStyle(testStyles.prefix);
4146
expect(input).toHaveStyle(testStyles.input);
4247
expect(suffix).toHaveStyle(testStyles.suffix);

0 commit comments

Comments
 (0)