UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

28 lines (25 loc) 1.39 kB
import { jsx } from 'react/jsx-runtime'; import cx 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 (jsx("button", { className: cx("cobalt-CalendarDayPicker__day", { "cobalt-CalendarDayPicker__day--today": isToday, "cobalt-CalendarDayPicker__day--selected": selected, "cobalt-CalendarDayPicker__day--disabled": disabled, }), onMouseEnter: () => { onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter(date, !!disabled); }, onMouseLeave: () => { onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(date); }, onClick: handleSelectDate, "data-day": format(date, "yyyy-MM-dd"), type: "button", children: jsx("div", { className: "cobalt-CalendarDayPicker__day-inner", children: 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