CoreUI ONE — 250+ PRO components and 25+ admin templates for React, Angular, Vue, Bootstrap and Next.js, plus Data Grid, Scheduler, 4,300+ PRO icons and the Next.js boilerplate. One license. → See what you get

CoreUI Scheduler v0.2.0 - Controlled Date and View, CoreUI Controls, Server Rendering

CoreUI Scheduler v0.2.0 - Controlled Date and View, CoreUI Controls, Server Rendering

We are excited to announce the release of CoreUI Scheduler v0.2.0, the first release since 0.1.0-rc.0. In React, Vue and Angular, date and view are now controlled whenever you set them, so the scheduler moves only when your state does. The toolbar and the edit dialog are built from CoreUI’s own buttons and form controls, the bindings render on the server, and locales with other calendars or digits are written correctly from the hour axis to the screen reader announcements. As always, everything below is available in all four editions - JavaScript, React, Vue, and Angular.


Speed up your responsive apps and websites with fully-featured, ready-to-use open-source admin panel templates—free to use and built for efficiency.


How to Update

Install the package for your framework:

# Vanilla JavaScript
npm install @coreui/[email protected]

# React
npm install @coreui/[email protected] @coreui/[email protected]

# Vue
npm install @coreui/[email protected] @coreui/[email protected]

# Angular
npm install @coreui/[email protected] @coreui/[email protected]
  • @coreui/scheduler ships the stylesheet for every edition. Load scheduler.css when @coreui/coreui or @coreui/coreui-pro is on the page, and scheduler.standalone.css when it is not - see Which stylesheet.
  • All editions depend on the headless @coreui/scheduler-core, which npm installs with them.
  • See the CoreUI Scheduler documentation for the setup steps of your edition.

What’s New

Changed

  • Breaking - controlled date and view: In @coreui/react-scheduler, @coreui/vue-scheduler and @coreui/angular-scheduler, date and view are controlled whenever they are set. Navigation, the view switch, the more link and the ref methods ask through onDateChange/onViewChange (Vue dateChange/viewChange plus update:date/update:view, Angular dateChange/viewChange), and the scheduler moves once the new value comes back. Use the new defaultDate/defaultView to only set the start. Vue supports v-model:date/v-model:view, Angular [(date)]/[(view)]. The vanilla date/view options are unchanged. See Date and view in the React, Vue and Angular quickstarts.
  • CoreUI controls in the toolbar and the edit dialog: They are built from CoreUI’s .btn, .form-control and .form-select instead of hand-rolled lookalikes, so they inherit whatever CoreUI is on the page.
  • scheduler.standalone.css: A second stylesheet for pages without CoreUI. It carries the slice of CoreUI 6 the markup needs, scoped to .scheduler and emitted into a scheduler-base cascade layer, so it never restyles the rest of your page.
  • Native <dialog> for editing: The edit dialog opens with showModal() in the top layer, so app chrome with a higher z-index no longer paints over it and it no longer opens off screen on a scheduler taller than the viewport. The browser handles focus containment and Escape, and the page no longer scrolls behind the open dialog. The dialog stays in the DOM, so --cui-scheduler-* tokens still cascade into it.

Fixed

  • Server rendering: The React, Vue and Angular bindings render on the server. React no longer throws Missing getServerSnapshot, Vue no longer leaves a now-indicator timer running or calls the dataSource on each server render, Angular loads events only in the browser, and the now indicator appears once the scheduler mounts, so the server markup hydrates without a mismatch.
  • Localization:
    • Locales whose calendar has other months than the Gregorian one (Persian, Islamic, Hebrew, Chinese) are written in the Gregorian calendar in their own language and digits, so titles and headers match the grid. Buddhist, Japanese and Republic of China calendars keep their year numbering.
    • The hour axis, the slot names and the drag preview write a 24-hour clock the way the locale does (۰۹:۰۰ in fa-IR, 09.00 in fi-FI), and month day numbers and the more link count use the locale’s digits.
    • Screen reader announcements name the date as “Wednesday, August 12, 2026” in the locale’s language instead of 2026-08-12.
    • The root takes lang from the language Intl resolves locale to, so assistive technology is told what language the scheduler is in.
  • More link and navigation: The more link reports its jump to another day through dateChange in every edition, and navigation that lands on the current date no longer reports a change.
  • Timeline: The drag preview stays with the grabbed bar - it renders in the bar’s own lane, a bar clipped by the window edge moves by the drag delta, and all-day bars preview in whole-day steps. Arrow keys follow the axes you see: left/right move a grabbed bar in time, up/down move it between resources.
  • Angular: The scheduler repaints synchronously after an edit, so an interaction started right after a commit is no longer dropped.
  • UMD bundle: It no longer marks the shared window.coreui object as a module once scheduler.js loads after CoreUI.
  • Bundler warnings: @coreui/scheduler-core bundles rrule instead of importing it at runtime, so consuming apps no longer see Import 'default' will always be undefined. Consumer bundle size is unchanged.
  • License notices: @coreui/scheduler and @coreui/scheduler-core ship a THIRD-PARTY-NOTICES.md with the licenses of the code they compile in (rrule under BSD-3-Clause, and for the browser bundles also temporal-polyfill and the TanStack packages under MIT).

Dependency Updates

  • @coreui/scheduler-core: rrule is now bundled and no longer a runtime dependency; @tanstack/store ^0.11.0 → ^0.11.2, temporal-polyfill ^1.0.3 → ^1.0.6.
  • @coreui/scheduler: @tanstack/virtual-core ^3.17.7 → ^3.19.7.
  • @coreui/react-scheduler: @tanstack/react-virtual ^3.14.9 → ^3.14.22, temporal-polyfill ^1.0.3 → ^1.0.6.
  • @coreui/vue-scheduler: @tanstack/vue-virtual ^3.13.35 → ^3.13.48, temporal-polyfill ^1.0.3 → ^1.0.6.
  • @coreui/angular-scheduler: @tanstack/angular-virtual ^6.0.2 → ^6.1.8, temporal-polyfill ^1.0.3 → ^1.0.6.

Released Packages

Migration Notes

  1. React, Vue and Angular: If you pass date or view only to set where the scheduler starts, switch to defaultDate/defaultView. A date or view you pass now stays in charge: handle onDateChange/onViewChange (or use v-model:date in Vue and [(date)] in Angular), otherwise navigation and the view switch stay where your value is.
  2. Pages without CoreUI: Load scheduler.standalone.css instead of scheduler.css, or the toolbar and the edit dialog lose their button and form styling.
  3. Edit dialog: It is now a native <dialog> in the top layer. Custom CSS that positioned or layered the old overlay inside the component can go; --cui-scheduler-* tokens still apply.
  4. lang: With locale set, the scheduler root carries lang and replaces a lang you put on the scheduler element. Pass labels in the same language as locale.

For the full feature list and setup guides for every edition, visit the CoreUI Scheduler documentation.

Subscribe to our newsletter
Get early information about new products, product updates and blog posts.