Calendar (Tailwind)
roi-ui/calendar-tailwindFreeItem
A date picker calendar component.
Install it
npx shadcn@latest add https://roiui.com/r/calendar-tailwind.jsonSource
1"use client";23import { ChevronLeft, ChevronRight } from "lucide-react";4import * as React from "react";5import { type DayButton, DayPicker, getDefaultClassNames } from "react-day-picker";6import { cn } from "@/lib/utils";78interface CalendarDayButtonProps extends React.ComponentProps<typeof DayButton> {}910function CalendarDayButton({ className, day, modifiers, ...props }: CalendarDayButtonProps) {11 const defaultClassNames = getDefaultClassNames();12 const buttonRef = React.useRef<HTMLButtonElement>(null);1314 React.useEffect(() => {15 if (modifiers.focused) {16 buttonRef.current?.focus();17 }18 }, [modifiers.focused]);1920 return (21 <button22 className={cn(23 "flex aspect-square h-auto w-full min-w-8 flex-col items-center justify-center gap-1",24 "cursor-pointer rounded-[var(--radius)] border-none bg-transparent font-normal text-foreground text-sm leading-none",25 "transition-colors duration-150",26 "hover:not-data-[selected-single=true]:not-data-[range-start=true]:not-data-[range-end=true]:bg-accent",27 "[&_span]:text-xs [&_span]:opacity-70",28 "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground",29 "data-[range-start=true]:rounded-[var(--radius)] data-[range-start=true]:rounded-l-[var(--radius)] data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground",30 "data-[range-end=true]:rounded-[var(--radius)] data-[range-end=true]:rounded-r-[var(--radius)] data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground",31 "data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground",32 defaultClassNames.day,33 className34 )}35 data-day={day.date.toLocaleDateString()}36 data-range-end={modifiers.range_end}37 data-range-middle={modifiers.range_middle}38 data-range-start={modifiers.range_start}39 data-selected-single={40 modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle41 }42 ref={buttonRef}43 type="button"44 {...props}45 />46 );47}4849type CalendarProps = React.ComponentProps<typeof DayPicker>;5051function Calendar({52 className,53 classNames,54 showOutsideDays = true,55 captionLayout = "label",56 formatters,57 components,58 ...props59}: CalendarProps) {60 const defaultClassNames = getDefaultClassNames();6162 return (63 <DayPicker64// … truncated
What it pulls in
npm packages
Files it writes
More from Roi UI
All 123 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | Roi UI | Other | Free | no deps · 2 files | |
| Accordion (Tailwind)accordion-tailwind | Roi UI | Other | Free | no deps | |
| AI Chatai-chat | Roi UI | Other | Free | no deps · 2 files | |
| AI Chat (Tailwind)ai-chat-tailwind | Roi UI | Other | Free | no deps | |
| Alertalert | Roi UI | Other | Free | 1 dep · 2 files | |
| Alert Dialogalert-dialog | Roi UI | Other | Free | no deps · 2 files | |
| Alert Dialog (Tailwind)alert-dialog-tailwind | Roi UI | Other | Free | no deps | |
| Alert (Tailwind)alert-tailwind | Roi UI | Other | Free | 1 dep |
