UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

37 lines (36 loc) 1.41 kB
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