A React library for interactive resource planning: a timeline your users drag, resize, zoom and undo, ruled by your business logic. This is not a screenshot — it is SuperScheduler Pro running in your browser.
One timeline at every scale. Pinch, or scroll with Ctrl or ⌘ held: the zoom stays under your pointer, headers and detail adapt as you go, and React does not render once.
Fictional congress centre, synthetic data·1,966 bookings in 2027
Scale without tricks.
Pick a dataset and your browser generates it right here, up to 200,000 bookings on 5,000 rows. Then scroll, zoom or let the test drive. The page keeps only what is on screen in the DOM.
ScrollZoomReturn
Fictional hotels, synthetic bookings generated in your browser
Drag a session and your rules answer while it is still in the air: where it would land, for how long and, when the answer is no, why. Every callback your app receives shows up beside the board, with the line of code that decided.
Soundcheck· Rehearsal studios
Synthetic data
Studio Aup to 10Studio Bup to 4Studio Cup to 6Studio Dup to 8Studio Eup to 2Night FerryCopper BloomLumen ChoirCopper BloomHalcyonStatic OrchardHalcyonNight FerryStatic OrchardPaper KitesPaper KitesOct 12Oct 1912 Mon13 Tue14 Wed15 Thu16 Fri17 Sat18 Sun19 Mon20 Tue21 Wed22 Thu23 Fri24 Sat25 Sun
Try this0/6
Drag Lumen Choir into Studio D.
Drop any session on Studio C between Wednesday and Friday.
Move Copper Bloom’s weekend session to Studio B.
Stretch a session past four days.
Undo, or click a step in the history.CtrlZ
Right-click a session, or focus it and press Shift F10.⇧F10
Teams, rooms and machines, ordered the way you think.
The same twelve people as a tree by team, by skill or a flat list, with columns your application computes. Search them, read anyone at a glance, and drag work from the unassigned tray onto a person: two panes, one timeline.
Stacked schedulers share date, zoom and column widths; work moves between them.
Your brand, not ours.
Start from a theme, then make it yours: accent, surfaces, radius, event style, density and dark mode. Every change writes the scheduler’s own tokens while it runs, checks the contrast and hands you the CSS.
Is it a React component or a framework-agnostic engine?
Both. SuperSchedulerComponent is the React wrapper for React 18 and 19; underneath, a DOM engine handles scrolling, zoom and gestures without React renders. You can also mount it imperatively with new SuperScheduler.Scheduler(element, options).
Declarations ship with the package. Options, callbacks and control methods are typed, and event data is generic: EventData<YourFields> keeps your own fields typed in handlers and render hooks.
Yes. Colors, radius, density and dark mode come from documented CSS custom properties; classNames and styles reach individual parts; React render slots replace the content of events, rows and headers.
Your application. The scheduler shows and edits what you give it and reports every change through callbacks. Persistence, permissions and the final word on conflicts belong to your backend; the library helps with overlap prevention, blocked cells and refusals with a reason.
As a private, versioned .tgz over HTTPS that npm installs like any URL dependency. The download key appears in your manifest and lockfile, so treat it as a secret. Lite is a regular public npm package.
Can users work with the keyboard and screen readers?
Pro has a full keyboard mode: arrows move focus, Enter activates, Alt+arrows move events, and changes are announced to assistive technology in English, Spanish, French, German and five more languages. Lite supports keyboard navigation too.
Dates are civil wall-clock values, deliberately free of time zones. Convert zoned instants and expand recurrences in your application before handing events to the scheduler.