({state, date}: {state: CalendarState; date: CalendarDate})
| 75 | } |
| 76 | |
| 77 | function CalendarCell({state, date}: {state: CalendarState; date: CalendarDate}) { |
| 78 | let ref = useRef<HTMLDivElement>(null); |
| 79 | let { |
| 80 | cellProps, |
| 81 | buttonProps, |
| 82 | isSelected, |
| 83 | isOutsideVisibleRange, |
| 84 | isDisabled, |
| 85 | isUnavailable, |
| 86 | isPressed, |
| 87 | formattedDate |
| 88 | } = useCalendarCell({date}, state, ref); |
| 89 | let {hoverProps, isHovered} = useHover({}); |
| 90 | let {focusProps, isFocusVisible} = useFocusRing(); |
| 91 | |
| 92 | return ( |
| 93 | <td {...cellProps}> |
| 94 | <div |
| 95 | {...mergeProps(buttonProps, hoverProps, focusProps)} |
| 96 | ref={ref} |
| 97 | hidden={isOutsideVisibleRange} |
| 98 | className="react-aria-CalendarCell button-base" |
| 99 | data-variant="quiet" |
| 100 | data-selected={isSelected || undefined} |
| 101 | data-disabled={isDisabled || undefined} |
| 102 | data-unavailable={isUnavailable || undefined} |
| 103 | data-hovered={isHovered || undefined} |
| 104 | data-pressed={isPressed || undefined} |
| 105 | data-focus-visible={isFocusVisible || undefined}> |
| 106 | {formattedDate} |
| 107 | </div> |
| 108 | </td> |
| 109 | ); |
| 110 | } |
nothing calls this directly
no test coverage detected