diff --git a/src/plugins/date_panel/date_panel.js b/src/plugins/date_panel/date_panel.js index 24e7b37b..559e4bc3 100644 --- a/src/plugins/date_panel/date_panel.js +++ b/src/plugins/date_panel/date_panel.js @@ -121,10 +121,13 @@ export default function DatePanel({ className={`${ object.date?.color ? `bg-${object.date.color}` : "" } ${ - markFocused && - object.date?.valueOf?.() === state.focused?.valueOf?.() - ? focusedClassName || "rmdp-focused" - : "" + markFocused && + isArray(object) ? + object.find((item) => item.date?.valueOf?.() === state.focused?.valueOf?.()) !== undefined ? + focusedClassName || "rmdp-focused" : "" + : + object.date?.valueOf?.() === state.focused?.valueOf?.() ? + focusedClassName || "rmdp-focused" : "" }`} >
@@ -133,7 +136,10 @@ export default function DatePanel({ key={index} type="button" className="b-date" - onClick={() => selectDate(object.date, object.index)} + className={`b-date ${ markFocused && object.date?.valueOf?.() === state.focused?.valueOf?.() && state?.focusedIndex === index + ? focusedClassName || "rmdp-focused" + : "" }`} + onClick={() => selectDate(object.date, object.index, index)} style={{ cursor: object.date ? "pointer" : "default" }} > {formatFunction @@ -160,7 +166,7 @@ export default function DatePanel({
); - function selectDate(date, index) { + function selectDate(date, index, index2) { handleClick(date ? selectedDate[index] : undefined); if (!date) return; @@ -169,6 +175,7 @@ export default function DatePanel({ ...state, date: new DateObject(date), focused: multiple && range ? date : selectedDate[index], + focusedIndex: index2, }); handleFocusedDate(selectedDate[index]);