@@ -21,6 +21,8 @@ import { booleanType, stringType } from '../_util/type';
21
21
22
22
// CSSINJS
23
23
import useStyle from './style' ;
24
+ import { NoCompactStyle , useCompactItemContext } from '../space/Compact' ;
25
+ import { useInjectDisabled } from '../config-provider/DisabledContext' ;
24
26
25
27
const baseProps = baseInputNumberProps ( ) ;
26
28
export const inputNumberProps = ( ) => ( {
@@ -52,11 +54,14 @@ const InputNumber = defineComponent({
52
54
const formItemContext = useInjectFormItemContext ( ) ;
53
55
const formItemInputContext = FormItemInputContext . useInject ( ) ;
54
56
const mergedStatus = computed ( ( ) => getMergedStatus ( formItemInputContext . status , props . status ) ) ;
55
- const { prefixCls, size, direction } = useConfigInject ( 'input-number' , props ) ;
56
-
57
+ const { prefixCls, size, direction, disabled } = useConfigInject ( 'input-number' , props ) ;
58
+ const { compactSize , compactItemClassnames } = useCompactItemContext ( prefixCls , direction ) ;
57
59
// Style
58
60
const [ wrapSSR , hashId ] = useStyle ( prefixCls ) ;
59
61
62
+ const mergedSize = computed ( ( ) => compactSize . value || size . value ) ;
63
+ const disabledContext = useInjectDisabled ( ) ;
64
+ const mergedDisabled = computed ( ( ) => disabled . value ?? disabledContext . value ) ;
60
65
const mergedValue = ref ( props . value === undefined ? props . defaultValue : props . value ) ;
61
66
const focused = ref ( false ) ;
62
67
watch (
@@ -109,18 +114,18 @@ const InputNumber = defineComponent({
109
114
110
115
const preCls = prefixCls . value ;
111
116
112
- const mergeSize = size . value ;
113
117
const inputNumberClass = classNames (
114
118
{
115
- [ `${ preCls } -lg` ] : mergeSize === 'large' ,
116
- [ `${ preCls } -sm` ] : mergeSize === 'small' ,
119
+ [ `${ preCls } -lg` ] : mergedSize . value === 'large' ,
120
+ [ `${ preCls } -sm` ] : mergedSize . value === 'small' ,
117
121
[ `${ preCls } -rtl` ] : direction . value === 'rtl' ,
118
122
[ `${ preCls } -readonly` ] : readonly ,
119
123
[ `${ preCls } -borderless` ] : ! bordered ,
120
124
[ `${ preCls } -in-form-item` ] : isFormItemInput ,
121
125
} ,
122
126
getStatusClassNames ( preCls , mergedStatus . value ) ,
123
127
className ,
128
+ compactItemClassnames . value ,
124
129
hashId . value ,
125
130
) ;
126
131
@@ -154,9 +159,9 @@ const InputNumber = defineComponent({
154
159
getStatusClassNames ( `${ preCls } -affix-wrapper` , mergedStatus . value , hasFeedback ) ,
155
160
{
156
161
[ `${ preCls } -affix-wrapper-focused` ] : focused . value ,
157
- [ `${ preCls } -affix-wrapper-disabled` ] : props . disabled ,
158
- [ `${ preCls } -affix-wrapper-sm` ] : size . value === 'small' ,
159
- [ `${ preCls } -affix-wrapper-lg` ] : size . value === 'large' ,
162
+ [ `${ preCls } -affix-wrapper-disabled` ] : mergedDisabled . value ,
163
+ [ `${ preCls } -affix-wrapper-sm` ] : mergedSize . value === 'small' ,
164
+ [ `${ preCls } -affix-wrapper-lg` ] : mergedSize . value === 'large' ,
160
165
[ `${ preCls } -affix-wrapper-rtl` ] : direction . value === 'rtl' ,
161
166
[ `${ preCls } -affix-wrapper-readonly` ] : readonly ,
162
167
[ `${ preCls } -affix-wrapper-borderless` ] : ! bordered ,
@@ -198,8 +203,8 @@ const InputNumber = defineComponent({
198
203
const mergedGroupClassName = classNames (
199
204
`${ preCls } -group-wrapper` ,
200
205
{
201
- [ `${ preCls } -group-wrapper-sm` ] : mergeSize === 'small' ,
202
- [ `${ preCls } -group-wrapper-lg` ] : mergeSize === 'large' ,
206
+ [ `${ preCls } -group-wrapper-sm` ] : mergedSize . value === 'small' ,
207
+ [ `${ preCls } -group-wrapper-lg` ] : mergedSize . value === 'large' ,
203
208
[ `${ preCls } -group-wrapper-rtl` ] : direction . value === 'rtl' ,
204
209
} ,
205
210
getStatusClassNames ( `${ prefixCls } -group-wrapper` , mergedStatus . value , hasFeedback ) ,
@@ -209,9 +214,17 @@ const InputNumber = defineComponent({
209
214
element = (
210
215
< div class = { mergedGroupClassName } style = { style } >
211
216
< div class = { mergedWrapperClassName } >
212
- { addonBeforeNode && < NoFormStatus > { addonBeforeNode } </ NoFormStatus > }
217
+ { addonBeforeNode && (
218
+ < NoCompactStyle >
219
+ < NoFormStatus > { addonBeforeNode } </ NoFormStatus >
220
+ </ NoCompactStyle >
221
+ ) }
213
222
{ element }
214
- { addonAfterNode && < NoFormStatus > { addonAfterNode } </ NoFormStatus > }
223
+ { addonAfterNode && (
224
+ < NoCompactStyle >
225
+ < NoFormStatus > { addonAfterNode } </ NoFormStatus >
226
+ </ NoCompactStyle >
227
+ ) }
215
228
</ div >
216
229
</ div >
217
230
) ;
0 commit comments