Home / File/ calendar.tsx — ui Source File

calendar.tsx — ui Source File

Architecture documentation for calendar.tsx, a tsx file in the ui codebase. 5 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 5 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  2478c8ec_c744_cb72_a24c_70e1d7a73172["calendar.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  2478c8ec_c744_cb72_a24c_70e1d7a73172 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  2478c8ec_c744_cb72_a24c_70e1d7a73172 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  bfc8708c_7488_3983_8998_32b793781735["react-day-picker"]
  2478c8ec_c744_cb72_a24c_70e1d7a73172 --> bfc8708c_7488_3983_8998_32b793781735
  79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"]
  2478c8ec_c744_cb72_a24c_70e1d7a73172 --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81
  aa2f3ec6_f291_3763_88ec_65a3f5ad5939["button"]
  2478c8ec_c744_cb72_a24c_70e1d7a73172 --> aa2f3ec6_f291_3763_88ec_65a3f5ad5939
  style 2478c8ec_c744_cb72_a24c_70e1d7a73172 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"
import {
  ChevronDownIcon,
  ChevronLeftIcon,
  ChevronRightIcon,
} from "lucide-react"
import { DayButton, DayPicker, getDefaultClassNames } from "react-day-picker"

import { cn } from "@/lib/utils"
import { Button, buttonVariants } from "@/registry/new-york/ui/button"

function Calendar({
  className,
  classNames,
  showOutsideDays = true,
  captionLayout = "label",
  buttonVariant = "ghost",
  formatters,
  components,
  ...props
}: React.ComponentProps<typeof DayPicker> & {
  buttonVariant?: React.ComponentProps<typeof Button>["variant"]
}) {
  const defaultClassNames = getDefaultClassNames()

  return (
    <DayPicker
      showOutsideDays={showOutsideDays}
      className={cn(
        "bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
        String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
        String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
        className
      )}
      captionLayout={captionLayout}
      formatters={{
        formatMonthDropdown: (date) =>
          date.toLocaleString("default", { month: "short" }),
        ...formatters,
      }}
      classNames={{
        root: cn("w-fit", defaultClassNames.root),
        months: cn(
          "relative flex flex-col gap-4 md:flex-row",
          defaultClassNames.months
        ),
        month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
        nav: cn(
          "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
          defaultClassNames.nav
        ),
        button_previous: cn(
          buttonVariants({ variant: buttonVariant }),
          "h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",
          defaultClassNames.button_previous
        ),
        button_next: cn(
          buttonVariants({ variant: buttonVariant }),
// ... (154 more lines)

Subdomains

Dependencies

  • button
  • lucide-react
  • react
  • react-day-picker
  • utils

Frequently Asked Questions

What does calendar.tsx do?
calendar.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in calendar.tsx?
calendar.tsx defines 2 function(s): Calendar, CalendarDayButton.
What does calendar.tsx depend on?
calendar.tsx imports 5 module(s): button, lucide-react, react, react-day-picker, utils.
Where is calendar.tsx in the architecture?
calendar.tsx is located at deprecated/www/registry/default/ui/calendar.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: deprecated/www/registry/default/ui).

Analyze Your Own Codebase

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

Try Supermodel Free