Event Calendar
A headless-first event calendar: month, week, day, N-day, agenda and resource views, recurring events (structured rules or RRULE strings), time zones, drag to move/resize and drag to create (keyboard users create through showDayAddButton's per-day buttons), i18n with RTL, and a subscribable store (useEventCalendar, useEventCalendarSelector). Compose <EventCalendar> with EventCalendarNav and EventCalendarContent, or build your own parts from the hooks. Events are controlled (events/onEventsChange) or not (defaultEvents); onEventUpdate accepts, rejects or adjusts each drag. The nav, view switcher, date picker and "+N more" popover use the registry's react-aria Button, Tooltip, DropdownMenu, Popover and Calendar.
Installation
- 1
Register the @fma-ui namespace in components.json (once)
components.json{ "registries": { "@fma-ui": "https://ui.fmartinsandre.dev.br/r/{name}.json" } } - 2
Add the item
pnpm dlx shadcn@latest add @fma-ui/event-calendarFiles land in
components/fma-ui/event-calendar/event-calendar-agenda-view.tsxand 13 more; npm and registry dependencies are installed along with them.
Dependencies
- npm
- cn@^0.4.0lucide-react@^1.52.0react-aria-components@^1.21.1@internationalized/date@^3.12.4
- Registry
- @fma-ui/icon-stack@fma-ui/scroll-area@fma-ui/tooltip@fma-ui/popover@fma-ui/button@fma-ui/calendar@fma-ui/dropdown-menu@fma-ui/date-fns-compat