calendar
gr8monk3ys/calendarFreeComponent
calendar (identity-styled).
Install it
npx shadcn@latest add https://ui.lscaturchio.xyz/r/calendar.jsonSource
1"use client"23import * as React from "react"4import {5 ChevronDownIcon,6 ChevronLeftIcon,7 ChevronRightIcon,8} from "lucide-react"9import {10 DayPicker,11 getDefaultClassNames,12 type DayButton,13} from "react-day-picker"1415import { cn } from "@/lib/utils"16import { Button, buttonVariants } from "@/components/ui/button"1718function Calendar({19 className,20 classNames,21 showOutsideDays = true,22 captionLayout = "label",23 buttonVariant = "ghost",24 formatters,25 components,26 ...props27}: React.ComponentProps<typeof DayPicker> & {28 buttonVariant?: React.ComponentProps<typeof Button>["variant"]29}) {30 const defaultClassNames = getDefaultClassNames()3132 return (33 <DayPicker34 showOutsideDays={showOutsideDays}35 className={cn(36 "group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",37 String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,38 String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,39 className40 )}41 captionLayout={captionLayout}42 formatters={{43 formatMonthDropdown: (date) =>44 date.toLocaleString("default", { month: "short" }),45 ...formatters,46 }}47 classNames={{48 root: cn("w-fit", defaultClassNames.root),49 months: cn(50 "relative flex flex-col gap-4 md:flex-row",51 defaultClassNames.months52 ),53 month: cn("flex w-full flex-col gap-4", defaultClassNames.month),54 nav: cn(55 "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",56 defaultClassNames.nav57 ),58 button_previous: cn(59 buttonVariants({ variant: buttonVariant }),60 "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",61 defaultClassNames.button_previous62 ),63 button_next: cn(64 buttonVariants({ variant: buttonVariant }),65 "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",66 defaultClassNames.button_next67 ),68 month_caption: cn(69 "flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",70 defaultClassNames.month_caption71 ),72 dropdowns: cn(73 "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",74 defaultClassNames.dropdowns75 ),76 dropdown_root: cn(77// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from gr8monk3ys
All 69 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | gr8monk3ys | Components | Free | 2 deps | |
| ActiveNavLinkactive-nav-link | gr8monk3ys | Components | Free | no deps · 2 files | |
| alertalert | gr8monk3ys | Components | Free | 1 dep | |
| alert-dialogalert-dialog | gr8monk3ys | Components | Free | 1 dep | |
| aspect-ratioaspect-ratio | gr8monk3ys | Components | Free | 1 dep | |
| attachmentattachment | gr8monk3ys | Components | Free | 2 deps | |
| Avataravatar | gr8monk3ys | Components | Free | 1 dep | |
| Badgebadge | gr8monk3ys | Components | Free | 1 dep |
