This component no longer exists. It was in neobrutal-ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-06 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
neobrutal-ui/calendarRemovedComponent
neobrutal-ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by neobrutal-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://neobrutal-ui.andongmin.com/r/calendar.jsonSource
1import * as React from "react";2import { DayPicker, getDefaultClassNames, type DayButton, type Locale } from "react-day-picker";34import { cn } from "@/lib/utils";5import { Button, buttonVariants } from "@/components/ui/button";6import { ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon } from "lucide-react";78type DayPickerProps = React.ComponentProps<typeof DayPicker>;9type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;1011export type CalendarProps = DistributiveOmit<DayPickerProps, "captionLayout"> & {12 buttonVariant?: React.ComponentProps<typeof Button>["variant"];13 captionLayout?: DayPickerProps["captionLayout"] | "buttons";14 fromDate?: Date;15 fromMonth?: Date;16 fromYear?: number;17 hideHead?: boolean;18 initialFocus?: boolean;19 toDate?: Date;20 toMonth?: Date;21 toYear?: number;22};2324function Calendar({25 className,26 classNames,27 showOutsideDays = true,28 captionLayout = "label",29 buttonVariant = "noShadow",30 locale,31 formatters,32 components,33 startMonth,34 endMonth,35 hidden,36 autoFocus,37 hideWeekdays,38 fromDate,39 fromMonth,40 fromYear,41 hideHead,42 initialFocus,43 toDate,44 toMonth,45 toYear,46 ...props47}: CalendarProps) {48 const defaultClassNames = getDefaultClassNames();49 const resolvedCaptionLayout = captionLayout === "buttons" ? "label" : captionLayout;50 const resolvedStartMonth =51 startMonth ?? fromMonth ?? (fromYear === undefined ? fromDate : new Date(fromYear, 0));52 const resolvedEndMonth =53 endMonth ?? toMonth ?? (toYear === undefined ? toDate : new Date(toYear, 11));54 const legacyHidden = [55 fromDate && fromMonth === undefined && fromYear === undefined56 ? { before: fromDate }57 : undefined,58 toDate && toMonth === undefined && toYear === undefined ? { after: toDate } : undefined,59 ].filter((matcher) => matcher !== undefined);60 const resolvedHidden = legacyHidden.length61 ? [...(hidden === undefined ? [] : Array.isArray(hidden) ? hidden : [hidden]), ...legacyHidden]62 : hidden;6364 return (65 <DayPicker66 showOutsideDays={showOutsideDays}67 className={cn(68 "group/calendar rounded-base! border-2 border-border bg-main p-3 font-heading text-main-foreground shadow-shadow [--cell-radius:var(--radius-base)] [--cell-size:--spacing(9)] in-data-[slot=card-content]:bg-main in-data-[slot=popover-content]:bg-main",69 String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,70 String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,71// … truncated
What it pulls in
npm packages
Other registry items
