@@ -72,15 +72,18 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
7272 ) => {
7373 const { locale } = useContext ( ConfigContext ) ;
7474 const [ internalValue , setInternalValue ] = useState < number | null > (
75- value !== undefined ? value : defaultValue !== undefined ? defaultValue : null
75+ ( ) => {
76+ if ( value !== undefined ) {
77+ return value ;
78+ }
79+ return defaultValue ?? null ;
80+ }
7681 ) ;
7782 const lastValidValueRef = useRef < number | null > ( internalValue ) ;
7883 const [ inputValue , setInputValue ] = useState < string > ( ( ) => formatValue ( internalValue ) ) ;
7984 const inputRef = useRef < HTMLInputElement > ( null ) ;
80- const longPressTimerRef = useRef < NodeJS . Timeout | null > ( null ) ;
81- const longPressIntervalRef = useRef < NodeJS . Timeout | null > ( null ) ;
8285
83- const mergedRef = ( node : HTMLInputElement ) => {
86+ const mergedRef = ( node : HTMLInputElement | null ) => {
8487 if ( ref ) {
8588 if ( typeof ref === 'function' ) {
8689 ref ( node ) ;
@@ -107,20 +110,10 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
107110 }
108111 } , [ internalValue ] ) ;
109112
110- // Clean up timers when component unmounts
111- useEffect ( ( ) => {
112- return ( ) => {
113- if ( longPressTimerRef . current ) {
114- clearTimeout ( longPressTimerRef . current ) ;
115- }
116- if ( longPressIntervalRef . current ) {
117- clearInterval ( longPressIntervalRef . current ) ;
118- }
119- } ;
120- } , [ ] ) ;
121-
122113 function formatValue ( val : number | null ) : string {
123- if ( val === null || val === undefined ) return '' ;
114+ if ( val === null || val === undefined ) {
115+ return '' ;
116+ }
124117
125118 let formattedValue : string | number = val ;
126119
@@ -138,7 +131,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
138131 }
139132
140133 function parseNumberValue ( val : string ) : number | null {
141- if ( ! val ) return null ;
134+ if ( ! val ) {
135+ return null ;
136+ }
142137
143138 let parsedValue = val ;
144139
@@ -183,13 +178,15 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
183178 }
184179
185180 return result ;
186- } catch ( e ) {
181+ } catch {
187182 return null ;
188183 }
189184 }
190185
191186 function clampValue ( val : number | null ) : number | null {
192- if ( val === null ) return null ;
187+ if ( val === null ) {
188+ return null ;
189+ }
193190
194191 if ( max !== undefined && val > max ) {
195192 return max ;
@@ -201,10 +198,6 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
201198 return val ;
202199 }
203200
204- function parseValue ( val : string ) : number | null {
205- return clampValue ( parseNumberValue ( val ) ) ;
206- }
207-
208201 function handleInputChange ( value : string ) {
209202 if ( allowEmpty && value === '' ) {
210203 setInputValue ( value ) ;
@@ -273,7 +266,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
273266 }
274267
275268 function handleStep ( isUp : boolean ) {
276- if ( disabled ) return ;
269+ if ( disabled ) {
270+ return ;
271+ }
277272
278273 const stepValue = isUp ? step : - step ;
279274
@@ -299,7 +294,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
299294 newValue = min ;
300295 }
301296 // If we've hit a limit, don't change the value
302- if ( newValue === currentValue ) return ;
297+ if ( newValue === currentValue ) {
298+ return ;
299+ }
303300 setInternalValue ( newValue ) ;
304301 lastValidValueRef . current = newValue ;
305302 setInputValue ( formatValue ( newValue ) ) ;
@@ -309,7 +306,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
309306
310307 // Handle key down events for arrow keys
311308 function handleKeyDown ( e : KeyboardEvent < HTMLInputElement > ) {
312- if ( disabled ) return ;
309+ if ( disabled ) {
310+ return ;
311+ }
313312
314313 onKeyDown ?.( e ) ;
315314
@@ -325,7 +324,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
325324 }
326325
327326 function handleClick ( isUp : boolean ) {
328- if ( disabled ) return ;
327+ if ( disabled ) {
328+ return ;
329+ }
329330
330331 handleStep ( isUp ) ;
331332
0 commit comments