Home / Function/ CalendarDayButton() — ui Function Reference

CalendarDayButton() — ui Function Reference

Architecture documentation for the CalendarDayButton() function in calendar.tsx from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  e46dc1fd_e1f4_3378_0c26_866b8c289015["CalendarDayButton()"]
  59ba36ea_026b_17fb_4e18_a819ae8b0340["calendar.tsx"]
  e46dc1fd_e1f4_3378_0c26_866b8c289015 -->|defined in| 59ba36ea_026b_17fb_4e18_a819ae8b0340
  style e46dc1fd_e1f4_3378_0c26_866b8c289015 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/examples/radix/ui/calendar.tsx lines 192–229

function CalendarDayButton({
  className,
  day,
  modifiers,
  locale,
  ...props
}: React.ComponentProps<typeof DayButton> & { locale?: Partial<Locale> }) {
  const defaultClassNames = getDefaultClassNames()

  const ref = React.useRef<HTMLButtonElement>(null)
  React.useEffect(() => {
    if (modifiers.focused) ref.current?.focus()
  }, [modifiers.focused])

  return (
    <Button
      ref={ref}
      variant="ghost"
      size="icon"
      data-day={day.date.toLocaleDateString(locale?.code)}
      data-selected-single={
        modifiers.selected &&
        !modifiers.range_start &&
        !modifiers.range_end &&
        !modifiers.range_middle
      }
      data-range-start={modifiers.range_start}
      data-range-end={modifiers.range_end}
      data-range-middle={modifiers.range_middle}
      className={cn(
        "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70",
        defaultClassNames.day,
        className
      )}
      {...props}
    />
  )
}

Subdomains

Frequently Asked Questions

What does CalendarDayButton() do?
CalendarDayButton() is a function in the ui codebase, defined in apps/v4/examples/radix/ui/calendar.tsx.
Where is CalendarDayButton() defined?
CalendarDayButton() is defined in apps/v4/examples/radix/ui/calendar.tsx at line 192.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free