@drivy/cobalt
Version:
Opinionated design system for Drivy's projects.
37 lines (36 loc) • 1.41 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import classnames from "classnames";
import { format } from "date-fns";
import react from "react";
function CalendarDayPickerDay({ date, isToday, selected, disabled, onSelect, onMouseEnter, onMouseLeave }) {
const handleSelectDate = ()=>{
disabled || onSelect(date);
};
return /*#__PURE__*/ jsx("button", {
className: classnames("cobalt-CalendarDayPicker__day", {
"cobalt-CalendarDayPicker__day--today": isToday,
"cobalt-CalendarDayPicker__day--selected": selected,
"cobalt-CalendarDayPicker__day--disabled": disabled
}),
onMouseEnter: ()=>{
onMouseEnter?.(date, !!disabled);
},
onMouseLeave: ()=>{
onMouseLeave?.(date);
},
onClick: handleSelectDate,
"data-day": format(date, "yyyy-MM-dd"),
type: "button",
children: /*#__PURE__*/ jsx("div", {
className: "cobalt-CalendarDayPicker__day-inner",
children: date.getDate()
})
});
}
function areEqual(prevProps, nextProps) {
return prevProps.selected === nextProps.selected;
}
const MemoizedComponent = /*#__PURE__*/ react.memo(CalendarDayPickerDay, areEqual);
MemoizedComponent.displayName = "CalendarDayPickerDay";
export { MemoizedComponent as CalendarDayPickerDay };
//# sourceMappingURL=CalendarDayPickerDay.js.map