@@ -185,8 +185,8 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
185185 ariaValueTextFormatterForHandle,
186186 } = props ;
187187
188- const handlesRef = React . useRef < HandlesRef > ( null ) ;
189- const containerRef = React . useRef < HTMLDivElement > ( null ) ;
188+ const handlesRef = React . useRef < HandlesRef | null > ( null ) ;
189+ const containerRef = React . useRef < HTMLDivElement | null > ( null ) ;
190190
191191 const direction = React . useMemo < Direction > ( ( ) => {
192192 if ( vertical ) {
@@ -214,9 +214,11 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
214214
215215 // ============================ Marks =============================
216216 const markList = React . useMemo < InternalMarkObj [ ] > ( ( ) => {
217- return Object . keys ( marks || { } )
217+ const markRecord = marks || { } ;
218+
219+ return Object . keys ( markRecord )
218220 . map < InternalMarkObj > ( ( key ) => {
219- const mark = marks [ key ] ;
221+ const mark = markRecord [ key ] ;
220222 const markObj : InternalMarkObj = {
221223 value : Number ( key ) ,
222224 } ;
@@ -243,10 +245,10 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
243245 const [ formatValue , offsetValues ] = useOffset (
244246 mergedMin ,
245247 mergedMax ,
246- mergedStep ,
248+ mergedStep as number ,
247249 markList ,
248250 allowCross ,
249- mergedPush ,
251+ mergedPush as false | number ,
250252 ) ;
251253
252254 // ============================ Values ============================
@@ -269,7 +271,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
269271
270272 // When count provided or value is `undefined`, we fill values
271273 if ( count || mergedValue === undefined ) {
272- const pointCount = count >= 0 ? count + 1 : 2 ;
274+ const pointCount = count !== undefined && count >= 0 ? count + 1 : 2 ;
273275 returnValues = returnValues . slice ( 0 , pointCount ) ;
274276
275277 // Fill with count
@@ -308,7 +310,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
308310 const finishChange = useEvent ( ( draggingDelete ?: boolean ) => {
309311 // Trigger from `useDrag` will tell if it's a delete action
310312 if ( draggingDelete ) {
311- handlesRef . current . hideHelp ( ) ;
313+ handlesRef . current ! . hideHelp ( ) ;
312314 }
313315
314316 const finishValue = getTriggerValue ( rawValues ) ;
@@ -332,8 +334,8 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
332334 triggerChange ( cloneNextValues ) ;
333335
334336 const nextFocusIndex = Math . max ( 0 , index - 1 ) ;
335- handlesRef . current . hideHelp ( ) ;
336- handlesRef . current . focus ( nextFocusIndex ) ;
337+ handlesRef . current ! . hideHelp ( ) ;
338+ handlesRef . current ! . focus ( nextFocusIndex ) ;
337339 } ;
338340
339341 const [ draggingIndex , draggingValue , draggingDelete , cacheValues , onStartDrag ] = useDrag (
@@ -395,7 +397,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
395397
396398 if ( e ) {
397399 ( document . activeElement as HTMLElement ) ?. blur ?.( ) ;
398- handlesRef . current . focus ( focusIndex ) ;
400+ handlesRef . current ! . focus ( focusIndex ) ;
399401 onStartDrag ( e , focusIndex , cloneNextValues ) ;
400402 } else {
401403 // https://github.com/ant-design/ant-design/issues/49997
@@ -414,7 +416,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
414416 e . preventDefault ( ) ;
415417
416418 const { width, height, left, top, bottom, right } =
417- containerRef . current . getBoundingClientRect ( ) ;
419+ containerRef . current ! . getBoundingClientRect ( ) ;
418420 const { clientX, clientY } = e ;
419421
420422 let percent : number ;
@@ -440,7 +442,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
440442 } ;
441443
442444 // =========================== Keyboard ===========================
443- const [ keyboardValue , setKeyboardValue ] = React . useState < number > ( null ) ;
445+ const [ keyboardValue , setKeyboardValue ] = React . useState < number > ( null ! ) ;
444446
445447 const onHandleOffsetChange = ( offset : number | 'min' | 'max' , valueIndex : number ) => {
446448 if ( ! disabled ) {
@@ -457,11 +459,12 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
457459 if ( keyboardValue !== null ) {
458460 const valueIndex = rawValues . indexOf ( keyboardValue ) ;
459461 if ( valueIndex >= 0 ) {
460- handlesRef . current . focus ( valueIndex ) ;
462+ handlesRef . current ! . focus ( valueIndex ) ;
461463 }
462464 }
463465
464- setKeyboardValue ( null ) ;
466+ setKeyboardValue ( null ! ) ;
467+ // eslint-disable-next-line react-hooks/exhaustive-deps
465468 } , [ keyboardValue ] ) ;
466469
467470 // ============================= Drag =============================
@@ -486,8 +489,9 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
486489 React . useEffect ( ( ) => {
487490 if ( ! dragging ) {
488491 const valueIndex = rawValues . lastIndexOf ( draggingValue ) ;
489- handlesRef . current . focus ( valueIndex ) ;
492+ handlesRef . current ! . focus ( valueIndex ) ;
490493 }
494+ // eslint-disable-next-line react-hooks/exhaustive-deps
491495 } , [ dragging ] ) ;
492496
493497 // =========================== Included ===========================
@@ -509,7 +513,7 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
509513 // ============================= Refs =============================
510514 React . useImperativeHandle ( ref , ( ) => ( {
511515 focus : ( ) => {
512- handlesRef . current . focus ( 0 ) ;
516+ handlesRef . current ! . focus ( 0 ) ;
513517 } ,
514518 blur : ( ) => {
515519 const { activeElement } = document ;
@@ -520,9 +524,10 @@ const Slider = React.forwardRef<SliderRef, SliderProps<number | number[]>>((prop
520524 } ) ) ;
521525
522526 // ========================== Auto Focus ==========================
527+ const autoFocusRef = React . useRef ( autoFocus ) ;
523528 React . useEffect ( ( ) => {
524- if ( autoFocus ) {
525- handlesRef . current . focus ( 0 ) ;
529+ if ( autoFocusRef . current ) {
530+ handlesRef . current ! . focus ( 0 ) ;
526531 }
527532 } , [ ] ) ;
528533
0 commit comments