A Vue scheduler that feels
like a real application.
Drag to reschedule, resize to adjust, click to edit, switch views — every interaction below runs on the same core your Vue app ships. No mockups, no video: this is the scheduler itself.
A live @coreui/scheduler instance running on this page · open the full-page demo →
From npm install
to a working scheduler.
Install the Vue scheduler package, import CScheduler, and bind your events — the sample on the right is a complete, runnable SFC. Every feature after that is a single prop: resources, business-hours, data-source.
Vue 3, Composition-API-first. Typed props and emits, template-ref access to the imperative API, no plugins to register.
Every change arrives through the eventChange emit with a revert callback. Full setup in the installation docs.
npm install @coreui/vue-scheduler @coreui/scheduler
<script setup lang="ts"> import { CScheduler } from '@coreui/vue-scheduler' import '@coreui/scheduler/dist/css/scheduler.css' const events = [ { id: 'standup', title: 'Standup', start: '2026-09-07T09:00', end: '2026-09-07T09:15', rrule: 'FREQ=DAILY' }, ] </script> <template> <CScheduler view="week" time-zone="Europe/Warsaw" :events="events" @event-change="onEventChange" /> </template>
No premium tier.
Everything is included.
Established schedulers keep resource views and timelines in their paid enterprise plans, or split recurrence and lazy loading into a premium SKU. The CoreUI Vue scheduler ships one edition: every feature below is in the single licence, documented, and TypeScript-typed.
| Feature | What you get | Vue edition |
|---|---|---|
| Day & week views | Time-grid views with a configurable visible-hours window, overlap layout, and midnight-crossing continuation. | ✓ Included |
| Month view | A week-aligned month grid with spanning multi-day bars, per-day chips, and +N more overflow. | ✓ Included |
| Agenda view | A chronological list grouped by day over a rolling window — empty days hidden. | ✓ Included |
| Resource view | One column per room, person, or machine, virtualized past a dozen resources. | ✓ Included |
| Timeline view | Resources as rows across a continuous multi-day axis, overlaps stacked into sub-lanes. | ✓ Included |
| Drag & drop | Move and resize with snapping, a live ghost preview, Escape to cancel, and long-press drag on touch. | ✓ Included |
| Recurrence | Raw RFC 5545 RRULE strings with exception dates and windowed, DST-safe expansion. | ✓ Included |
| Event creation | Drag across empty slots — or create entirely from the keyboard. | ✓ Included |
| Business hours | Shade non-working time and days; optionally reject operations outside them. | ✓ Included |
| Overlap control | Reject colliding drops, resizes, and creations — scoped per resource. | ✓ Included |
| Remote data | Per-range loading and persistence with automatic revert when the server rejects a change. | ✓ Included |
| Keyboard & accessibility | A keyboard equivalent for every drag operation, live-region announcements, ARIA grid semantics. | ✓ Included |
| Localization | Intl date formatting, overridable labels, and seven ready-made language packs. | ✓ Included |
| Styling & theming | Every visual knob is a CSS variable resolving through CoreUI semantic tokens — dark mode included. | ✓ Included |
Every row links to its documentation page with runnable Vue examples. The full option, event, and method reference lives in the API docs.
One engine.
Four thin bindings.
All scheduling logic — the time model, recurrence expansion, event layout, and the interaction state machine — lives in a framework-free TypeScript core. The Vue edition is a thin rendering layer over it, so behavior can't drift between frameworks.
Recurrence keeps wall-clock time across daylight-saving transitions in any IANA zone, occurrences in the spring-forward gap shift with it, and durations stay real elapsed time — verified by a dedicated DST test pack. How expansion works is documented in the recurrence docs.
Buy one scheduler.
Get all four editions.
MUI X Scheduler is React-only and keeps recurrence in its premium plan; FullCalendar sells resource views and timelines as a separate premium licence. One CoreUI Scheduler licence covers the JavaScript core and the React, Vue, and Angular editions — every view and every feature included, with identical markup and one shared stylesheet.
| A team using two frameworks | CoreUI Scheduler | Per-framework vendors | React-only vendors |
|---|---|---|---|
| Frameworks covered | JavaScript, React, Vue & Angular | One product per framework | React only |
| Resource views & timeline | Included | Often a separate premium licence | Timeline in the premium plan |
| Recurring events | Included, RFC 5545 | Varies by product | Premium plan |
| Licences to buy | One — $199 per developer early access ($349 after launch) | One per framework, per developer | One — plus a second vendor for the other framework |
Drag & drop
without the mouse.
WCAG 2.2's dragging-movements criterion requires a single-pointer alternative for every drag. In the CoreUI Scheduler the keyboard path is not an alternative bolted on afterwards — it drives the exact same interaction machine as the pointer, and the full no-mouse scenario runs in CI on every build.
- Grab, move, confirm — Enter grabs an event, ←→↑↓ move it by snap step or day, Enter confirms, Escape cancels — pointer drags included
- Create from the keyboard — a roving-tabindex slot grid: anchor a selection with Enter, extend with arrows, confirm to create
- Announced operations — grabbing, moving, resizing, creating, deleting, cancelling, and rejected drops all speak through a polite live region, in your language
- Grid semantics —
role="grid"with row and column counts and indexes across the time grid, month, and timeline views; a focus-trapped,aria-modaledit dialog - Documented limits — the accessibility docs state exactly what ships today and what is planned, instead of a vague "accessible" checkbox
Built by a team
you already depend on.
CoreUI has shipped open-source and commercial UI components since 2013: more than 43,000 GitHub repositories depend on coreui/coreui, and the libraries see roughly 490,000 npm downloads a week. The Scheduler is built and supported by the same team — alongside the CoreUI for Vue component library it pairs with.
Vue 3.4 and newer. The component is written against the Composition API with typed props and emits; the imperative surface — getEvents, navigate, setView — is exposed on the template ref.
Every drag, resize, create, edit, and delete emits eventChange with the changed event and a revert callback — bind it with @event-change and persist to your API, or hand the scheduler a dataSource and let it do the round-trips.
CoreUI Scheduler is at version 0.1.0 — stable enough to build on today, but not yet 1.0. You get every edition and every feature right now, plus all upcoming features and fixes as they land. Until 1.0, expect occasional small breaking changes, always documented in the changelog with migration notes. In return, early access is the lowest price the Scheduler will ever have.
Events carry raw RFC 5545 RRULE strings, and occurrences are expanded only for the visible range. Each occurrence keeps the series' wall-clock time across daylight-saving transitions in the scheduler's IANA time zone — an occurrence falling into the spring-forward gap shifts with it, and durations stay real elapsed time. A dedicated DST test pack runs in CI.
Yes — every drag operation has a keyboard equivalent driving the same interaction machine: grab with Enter, move with arrows, confirm with Enter, cancel with Escape. Operations are announced through a live region, and the no-mouse create → move → resize → delete scenario runs in CI on every build, satisfying WCAG 2.2 dragging movements.
Hand the scheduler a dataSource and it loads events for the visible range as users navigate, and persists every drag, resize, edit, and delete to your API — reverting automatically when the server rejects a change.
- 0.1.0-rc.0Current early-access release — every feature on this page is shipped and documented.
- 1.0.0On the road to 1.0, occasional small breaking changes land with migration notes in the changelog.
Page last updated August 12, 2026
The vanilla core — ES modules or a UMD bundle, no framework and no build step required.
A native <CScheduler> component — hooks-friendly, React 19-ready, at home in Next.js.
A standalone <c-scheduler> component on signals for current Angular.
One scheduler, four editions — features, live demo, and pricing on a single page.
One license. Every framework.
Buy once and build with the JavaScript core and the React, Vue, and Angular editions — no per-framework lock-in. Get early access at the lowest price the Scheduler will ever have.
- All four editions — JavaScript, React, Vue, and Angular under one license
- Unlimited projects — build unlimited commercial and personal apps, no per-project fees
- Every feature — six views, recurrence, resources, drag & drop, remote data, and the timeline included
- TypeScript definitions — full typings for events, options, and change payloads
- Documentation & examples — a dedicated docs site per framework with runnable examples
- Updates & support — one year of updates and email support