UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

28 lines (25 loc) 1.26 kB
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