This component no longer exists. It was in shadcn/ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-13 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
calendar
agileflow-projectquestorg/calendarRemovedComponent
shadcn/ui publishes no description for this item.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/projectquestorg/AgileFlow/main/apps/docs/public/r/styles/radix-nova/calendar.jsonSource
1"use client"23import * as React from "react"4import {5 DayPicker,6 getDefaultClassNames,7 type DayButton,8} from "react-day-picker"910import { cn } from "@/registry/bases/radix/lib/utils"11import { Button, buttonVariants } from "@/registry/bases/radix/ui/button"12import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"1314function Calendar({15 className,16 classNames,17 showOutsideDays = true,18 captionLayout = "label",19 buttonVariant = "ghost",20 formatters,21 components,22 ...props23}: React.ComponentProps<typeof DayPicker> & {24 buttonVariant?: React.ComponentProps<typeof Button>["variant"]25}) {26 const defaultClassNames = getDefaultClassNames()2728 return (29 <DayPicker30 showOutsideDays={showOutsideDays}31 className={cn(32 "p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",33 String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,34 String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,35 className36 )}37 captionLayout={captionLayout}38 formatters={{39 formatMonthDropdown: (date) =>40 date.toLocaleString("default", { month: "short" }),41 ...formatters,42 }}43 classNames={{44 root: cn("w-fit", defaultClassNames.root),45 months: cn(46 "flex gap-4 flex-col md:flex-row relative",47 defaultClassNames.months48 ),49 month: cn("flex flex-col w-full gap-4", defaultClassNames.month),50 nav: cn(51 "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",52 defaultClassNames.nav53 ),54 button_previous: cn(55 buttonVariants({ variant: buttonVariant }),56 "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",57 defaultClassNames.button_previous58 ),59 button_next: cn(60 buttonVariants({ variant: buttonVariant }),61 "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",62 defaultClassNames.button_next63 ),64 month_caption: cn(65 "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",66 defaultClassNames.month_caption67 ),68 dropdowns: cn(69 "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",70 defaultClassNames.dropdowns71 ),72 dropdown_root: cn(73// … truncated
What it pulls in
npm packages
Other registry items
