@@ -86,14 +86,12 @@ export const useCalendarClass = (modelValue: WritableComputedRef<InternalModuleV
86
86
} ;
87
87
88
88
// If the range mode is used, checks for the end value of hovered date
89
- const isHoverDateStartEnd = ( dateIsHovered : boolean , calendarDay : ICalendarDay , start ?: boolean ) : boolean => {
89
+ const isHoverDateStartEnd = ( calendarDay : ICalendarDay , start ?: boolean ) : boolean => {
90
90
if ( Array . isArray ( modelValue . value ) && modelValue . value [ 0 ] && modelValue . value . length === 1 ) {
91
- if ( dateIsHovered ) {
92
- return false ;
93
- }
91
+ const isHover = isDateEqual ( calendarDay . value , hoveredDate . value ) ;
94
92
return start
95
- ? isDateAfter ( modelValue . value [ 0 ] , calendarDay . value )
96
- : isDateBefore ( modelValue . value [ 0 ] , calendarDay . value ) ;
93
+ ? isDateAfter ( modelValue . value [ 0 ] , calendarDay . value ) && isHover
94
+ : isDateBefore ( modelValue . value [ 0 ] , calendarDay . value ) && isHover ;
97
95
}
98
96
return false ;
99
97
} ;
@@ -328,9 +326,9 @@ export const useCalendarClass = (modelValue: WritableComputedRef<InternalModuleV
328
326
dp__range_start : isRangeStart ,
329
327
dp__range_end : isRangeEnd ,
330
328
dp__range_between : isBetween ( day ) ,
331
- dp__date_hover : dateHover ( day ) ,
332
- dp__date_hover_start : isHoverDateStartEnd ( dateHover ( day ) , day , true ) ,
333
- dp__date_hover_end : isHoverDateStartEnd ( dateHover ( day ) , day , false ) ,
329
+ dp__date_hover : isDateEqual ( day . value , hoveredDate . value ) && ! isRangeStart && ! isRangeEnd ,
330
+ dp__date_hover_start : isHoverDateStartEnd ( day , true ) ,
331
+ dp__date_hover_end : isHoverDateStartEnd ( day , false ) ,
334
332
} ;
335
333
} ;
336
334
0 commit comments