@drivy/cobalt
Version:
Opinionated design system for Drivy's projects.
28 lines (25 loc) • 1.26 kB
JavaScript
import React from 'react';
import cx from 'classnames';
import { format } from 'date-fns';
function CalendarDayPickerDay({ date, isToday, selected, disabled, onSelect, onMouseEnter, onMouseLeave, }) {
const handleSelectDate = () => {
!disabled && onSelect(date);
};
return (React.createElement("div", { className: cx("cobalt-CalendarDayPicker__day", {
"cobalt-CalendarDayPicker__day--today": isToday,
"cobalt-CalendarDayPicker__day--selected": selected,
"cobalt-CalendarDayPicker__day--disabled": disabled,
}), onMouseEnter: () => {
onMouseEnter && onMouseEnter(date, !!disabled);
}, onMouseLeave: () => {
onMouseLeave && onMouseLeave(date);
}, onClick: handleSelectDate, "data-day": format(date, "yyyy-MM-dd") },
React.createElement("div", { className: "cobalt-CalendarDayPicker__day-inner" }, date.getDate())));
}
function areEqual(prevProps, nextProps) {
return prevProps.selected === nextProps.selected;
}
const MemoizedComponent = React.memo(CalendarDayPickerDay, areEqual);
MemoizedComponent.displayName = "CalendarDayPickerDay";
export { MemoizedComponent as CalendarDayPickerDay };
//# sourceMappingURL=CalendarDayPickerDay.js.map