Skip to content

Commit 57bbfdb

Browse files
committed
fix: Wrong classes added in range mode (fixes #809)
1 parent 5373001 commit 57bbfdb

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/VueDatePicker/composables/calendar-class.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,12 @@ export const useCalendarClass = (modelValue: WritableComputedRef<InternalModuleV
8686
};
8787

8888
// 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 => {
9090
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);
9492
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;
9795
}
9896
return false;
9997
};
@@ -328,9 +326,9 @@ export const useCalendarClass = (modelValue: WritableComputedRef<InternalModuleV
328326
dp__range_start: isRangeStart,
329327
dp__range_end: isRangeEnd,
330328
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),
334332
};
335333
};
336334

0 commit comments

Comments
 (0)