{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "calendar-planner", "homepage": "https://github.com/garethcheyne/shadcn-calendar-planner", "items": [ { "name": "calendar-planner", "type": "registry:block", "title": "Calendar Planner", "description": "A full-featured calendar component with month, week, day, work-week, and agenda views. Includes drag-and-drop event moving/resizing, event detail sheet panel, resource grouping, and zoom controls. Built with Radix UI primitives, Tailwind CSS, and date-fns.", "author": "garethcheyne", "dependencies": [ "date-fns", "@radix-ui/react-popover", "@radix-ui/react-toggle-group", "@radix-ui/react-dialog", "lucide-react" ], "registryDependencies": [ "sheet" ], "files": [ { "path": "registry/new-york/calendar-planner/index.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/calendar.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/calendar-context.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/types.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/constants.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/helpers.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/localizer.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/localizers/date-fns.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/dates.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/event-levels.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/date-slot-metrics.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/time-slot-metrics.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/day-event-layout.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/resources.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/selection.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/layout-algorithms/overlap.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/lib/layout-algorithms/no-overlap.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/hooks/use-click-outside.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/hooks/use-controllable-state.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/hooks/use-dnd.ts", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/toolbar.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/event-cell.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/event-popup.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/event-row.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/headers.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/background-cells.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/date-content-row.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/day-column.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/time-grid.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/time-grid-header.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/time-slots.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/components/event-detail-sheet.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/views/month.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/views/week.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/views/day.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/views/work-week.tsx", "type": "registry:component" }, { "path": "registry/new-york/calendar-planner/views/agenda.tsx", "type": "registry:component" } ], "cssVars": { "theme": { "color-calendar-event": "var(--calendar-event)", "color-calendar-event-foreground": "var(--calendar-event-foreground)", "color-calendar-today": "var(--calendar-today)", "color-calendar-off-range": "var(--calendar-off-range)", "color-calendar-selected": "var(--calendar-selected)", "color-calendar-current-time": "var(--calendar-current-time)" }, "light": { "calendar-event": "oklch(0.546 0.245 262.881)", "calendar-event-foreground": "oklch(0.985 0 0)", "calendar-today": "oklch(0.95 0.02 250)", "calendar-off-range": "oklch(0.7 0.01 286)", "calendar-current-time": "oklch(0.577 0.245 27.325)", "calendar-selected": "oklch(0.9 0.03 250)" }, "dark": { "calendar-event": "oklch(0.707 0.165 254.624)", "calendar-event-foreground": "oklch(0.985 0 0)", "calendar-today": "oklch(0.25 0.02 250)", "calendar-off-range": "oklch(0.4 0.01 286)", "calendar-current-time": "oklch(0.637 0.237 25.331)", "calendar-selected": "oklch(0.3 0.03 250)" } }, "docs": "After installing, create a localizer and pass it to the Calendar component. See https://github.com/garethcheyne/shadcn-calendar-planner for full documentation." } ] }