EyCalendar - A headless, themeable React calendar component for modern applications
npm install @emoory/ey-calendarA React calendar component designed for building scheduling applications. Headless, themeable, and framework-agnostic styling.



⨠Multiple Views ā Day, Week, Month, and Planning views
šØ Headless & Themeable ā Full styling control with CSS variables or custom classes
š±ļø Drag & Drop ā Built-in event drag and drop with @atlaskit/pragmatic-drag-and-drop
š i18n Ready ā English, French, German included (easily extensible)
ā” Performance First ā Optimized rendering with React 18/19
š¦ Tree-shakeable ā ESM + CJS, import only what you need
āæ Accessible ā Keyboard navigation and ARIA labels
š§ TypeScript ā Fully typed API
``bash`
npm install @emoory/ey-calendar
`tsx
import { EyCalendar } from "@emoory/ey-calendar";
import "@emoory/ey-calendar/styles.css";
function App() {
return (
{
id: "1",
title: "Meeting",
start: new Date(2026, 0, 20, 10, 0),
end: new Date(2026, 0, 20, 11, 0),
},
]}
defaultView="week"
/>
);
}
`
Three modes of usage:
1. Standalone ā Import styles.css, works without any CSS framework.ey-cal-root
2. Theme override ā Customize via CSS variables on unstyled
3. Headless ā Use prop + custom classNames
`tsx``
// CSS imports
import "@emoory/ey-calendar/styles.css"; // Full bundle
import "@emoory/ey-calendar/styles/structure.css"; // Layout only
import "@emoory/ey-calendar/styles/theme.css"; // Theme only
- Views: Day, Week, Month, Planning
- Drag & Drop: Move and resize events
- i18n: English, French, German
- TypeScript: Full type definitions
- React 18/19 compatible
See the main repository for full documentation.
MIT Ā© Zuher ELMAS - Emoory Team