11import { addMonths , addYears , getMonth , getYear , set , subMonths , subYears } from 'date-fns' ;
22import { UseMonthYearPick , VueEmit } from '../../interfaces' ;
3- import { isDateAfter , isDateBefore } from '../../utils/date-utils' ;
3+ import { isDateAfter , isDateBefore , isDateEqual } from '../../utils/date-utils' ;
44
55export const useMontYearPick = (
66 props : UseMonthYearPick ,
@@ -28,12 +28,19 @@ export const useMontYearPick = (
2828 return [ new Date ( props [ propValue ] ) , set ( new Date ( ) , { month, year } ) ] ;
2929 } ;
3030
31- const validateMonthYear = ( month : number , year : number , isNext : boolean ) : void => {
31+ const validateMonthYear = ( month : number , year : number ) : void => {
3232 if ( props . preventMinMaxNavigation && ( props . minDate || props . maxDate ) ) {
33- if ( props . maxDate && isNext && isDateAfter ( ...getDateForCompare ( 'maxDate' , month , year ) ) ) {
33+ if (
34+ props . maxDate &&
35+ ( isDateAfter ( ...getDateForCompare ( 'maxDate' , month , year ) ) ||
36+ isDateEqual ( ...getDateForCompare ( 'maxDate' , month , year ) ) )
37+ ) {
3438 updateMonthYear ( month , year ) ;
3539 }
36- if ( props . minDate && ! isNext && isDateBefore ( ...getDateForCompare ( 'minDate' , month , year ) ) ) {
40+ if (
41+ ( props . minDate && isDateBefore ( ...getDateForCompare ( 'minDate' , month , year ) ) ) ||
42+ isDateEqual ( ...getDateForCompare ( 'minDate' , month , year ) )
43+ ) {
3744 updateMonthYear ( month , year ) ;
3845 }
3946 } else {
@@ -58,7 +65,7 @@ export const useMontYearPick = (
5865 date = recursiveYearAdjust ( date , isNext ) ;
5966 year = getYear ( date ) ;
6067 }
61- validateMonthYear ( month , year , isNext ) ;
68+ validateMonthYear ( month , year ) ;
6269 } ;
6370
6471 const updateMonthYear = ( month : number , year : number ) : void => {
0 commit comments