From dee3f77dcedfc47dbaacabc33c0b9ff535e5ee8d Mon Sep 17 00:00:00 2001 From: Nick Beaujean Date: Tue, 28 Oct 2025 13:22:47 +0100 Subject: [PATCH] feat-create-DateRenderer-component --- .../src/components/day-renderer.tsx | 16 ++++++++++++++++ .../src/components/index.tsx | 1 + 2 files changed, 17 insertions(+) create mode 100644 packages/react-composable-calendar/src/components/day-renderer.tsx diff --git a/packages/react-composable-calendar/src/components/day-renderer.tsx b/packages/react-composable-calendar/src/components/day-renderer.tsx new file mode 100644 index 0000000..815206c --- /dev/null +++ b/packages/react-composable-calendar/src/components/day-renderer.tsx @@ -0,0 +1,16 @@ +import type { ComponentProps, ReactNode } from "react"; +import { useDayContext } from "../contexts/day.js"; + +import type { PlainDate } from "../temporal.js"; + +export type DayRendererProps = ComponentProps<"div"> & { + render: (props: { day: PlainDate }) => ReactNode; +}; + +export function DayRenderer(props: DayRendererProps) { + const { render, ...rest } = props; + + const dayContext = useDayContext(); + const day = dayContext.day; + return
{render({ day })}
; +} diff --git a/packages/react-composable-calendar/src/components/index.tsx b/packages/react-composable-calendar/src/components/index.tsx index 904cb8d..a6f75d2 100644 --- a/packages/react-composable-calendar/src/components/index.tsx +++ b/packages/react-composable-calendar/src/components/index.tsx @@ -14,4 +14,5 @@ export * from "./month-title.js"; export * from "./days.js"; export * from "./day.js"; export * from "./day-label.js"; +export * from "./day-renderer.js"; export * from "./form-input.js";