Skip to content

Commit aa01160

Browse files
authored
feat: add classes (#30)
1 parent 4b6a3bc commit aa01160

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

src/BaseInput.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const BaseInput: FC<BaseInputProps> = (props) => {
2626
handleReset,
2727
hidden,
2828
inputStyle,
29+
classes,
2930
} = props;
3031

3132
const containerRef = useRef<HTMLSpanElement>(null);
@@ -89,6 +90,7 @@ const BaseInput: FC<BaseInputProps> = (props) => {
8990
},
9091
!hasAddon(props) && className,
9192
affixWrapperClassName,
93+
classes?.affixWrapper,
9294
);
9395

9496
const suffixNode = (suffix || allowClear) && (
@@ -126,12 +128,14 @@ const BaseInput: FC<BaseInputProps> = (props) => {
126128
`${prefixCls}-wrapper`,
127129
wrapperCls,
128130
wrapperClassName,
131+
classes?.wrapper,
129132
);
130133

131134
const mergedGroupClassName = classNames(
132135
`${prefixCls}-group-wrapper`,
133136
className,
134137
groupClassName,
138+
classes?.group,
135139
);
136140

137141
// Need another wrapper for changing display:table to display:inline-block

src/Input.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
3636
showCount,
3737
type = 'text',
3838
inputClassName,
39+
classes,
3940
...rest
4041
} = props;
4142

@@ -125,6 +126,7 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
125126
'affixWrapperClassName',
126127
'groupClassName',
127128
'inputClassName',
129+
'classes',
128130
'wrapperClassName',
129131
'htmlSize',
130132
]);
@@ -142,6 +144,7 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
142144
[`${prefixCls}-disabled`]: disabled,
143145
},
144146
inputClassName,
147+
classes?.input,
145148
!hasAddon(props) && !hasPrefixSuffix(props) && className,
146149
)}
147150
ref={inputRef}
@@ -193,6 +196,7 @@ const Input = forwardRef<InputRef, InputProps>((props, ref) => {
193196
triggerFocus={focus}
194197
suffix={getSuffix()}
195198
disabled={disabled}
199+
classes={classes}
196200
/>
197201
);
198202
});

src/interface.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,17 @@ export interface CommonInputProps {
1414
suffix?: ReactNode;
1515
addonBefore?: ReactNode;
1616
addonAfter?: ReactNode;
17+
classes?: {
18+
affixWrapper?: string;
19+
group?: string;
20+
wrapper?: string;
21+
};
22+
/** @deprecated Use classes instead */
1723
affixWrapperClassName?: string;
24+
/** @deprecated Use classes instead */
1825
groupClassName?: string;
26+
/** @deprecated Use classes instead */
1927
wrapperClassName?: string;
20-
inputClassName?: string;
2128
allowClear?: boolean | { clearIcon?: ReactNode };
2229
}
2330

@@ -78,6 +85,11 @@ export interface InputProps
7885
showCount?: boolean | ShowCountProps;
7986
autoComplete?: string;
8087
htmlSize?: number;
88+
/** @deprecated Use classes instead */
89+
inputClassName?: string;
90+
classes?: CommonInputProps['classes'] & {
91+
input?: string;
92+
};
8193
}
8294

8395
export interface InputRef {

0 commit comments

Comments
 (0)