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
  a67557b2_1ad4_23c5_1aaf_9704d346a17f["CalendarDayButton()"]
  26d769e3_e483_c665_841e_8b817b07c7fc["calendar.tsx"]
  a67557b2_1ad4_23c5_1aaf_9704d346a17f -->|defined in| 26d769e3_e483_c665_841e_8b817b07c7fc
  style a67557b2_1ad4_23c5_1aaf_9704d346a17f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/v4/examples/base/ui-rtl/calendar.tsx lines 192–228

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
      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-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--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/base/ui-rtl/calendar.tsx.
Where is CalendarDayButton() defined?
CalendarDayButton() is defined in apps/v4/examples/base/ui-rtl/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