This component no longer exists. It was in abui’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 Year
abui/calendar-yearRemovedBlock
A calendar year component.
Install it
npx shadcn@latest add https://abui.io/r/calendar-year.jsonSource
1"use client"23import * as React from "react"4import { Slot } from "@radix-ui/react-slot"5import { cva, type VariantProps } from "class-variance-authority"6import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"7import { cn } from "@/lib/utils"8import dayjs from "dayjs"9import timezone from "dayjs/plugin/timezone"10import utc from "dayjs/plugin/utc"11dayjs.extend(timezone)12dayjs.extend(utc)13// ============================================================================14// Types15// ============================================================================1617/**18 * State of a calendar day19 */20export type DayState = "blocked" | "disabled"2122/**23 * Day data structure24 */25export interface CalendarDay {26 date: string // YYYY-MM-DD format27 state?: DayState28 disabled?: boolean29 tooltip?: string30}3132/**33 * Month structure with rows of days34 */35export interface CalendarMonth {36 name: string37 monthIndex: number38 weekdayLabels: string[]39 rows: (CalendarDay | null)[][]40}4142// ============================================================================43// Variants44// ============================================================================4546const calendarYearDayVariants = cva(47 "cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-semibold transition-all disabled:pointer-events-none disabled:opacity-50 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive relative h-9 w-9 p-0",48 {49 variants: {50 variant: {51 default: "bg-foreground text-background dark:text-background hover:bg-foreground/90 border border-foreground",52 "default-success":53 "bg-green-500 text-background hover:bg-green-600 hover:border-green-600 dark:hover:bg-green-400 dark:hover:border-green-400 border border-green-500",54 accent: "bg-accent text-background dark:text-background hover:bg-accent/90 border border-accent",55 destructive:56 "bg-destructive hover:!bg-destructive text-background focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 border border-destructive",57 outline:58 "border bg-background shadow-xs hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",59// … truncated
What it pulls in
npm packages
Other registry items
