Skip to content
Alea0.1
Pro
  1. Alea
  2. Components
  3. Data display
  4. Scheduler

Data displayAlea Pro

Scheduler

Day and week views with a time grid: events placed by time and side by side when they overlap, an all-day row, the current time, a period switcher, a view switch and new events from a click or a button.

import { Scheduler } from '@alea/pro';

Examples

Week

A work week with overlapping meetings side by side, an all-day event and the current time. Switch views, move between weeks, click an empty slot or use New event to add one.

October 2026

All day

              Tokens

              The design tokens this component reads, with their value in the current theme. Override any of them to restyle it.

              Color

              • --alea-accent…
              • --alea-accent-strong…
              • --alea-accent-subtle…
              • --alea-border…
              • --alea-border-control…
              • --alea-border-strong…
              • --alea-status-danger…
              • --alea-status-danger-bg…
              • --alea-status-info…
              • --alea-status-info-bg…
              • --alea-status-success…
              • --alea-status-success-bg…
              • --alea-status-warning…
              • --alea-status-warning-bg…
              • --alea-surface…
              • --alea-surface-raised…
              • --alea-text…
              • --alea-text-muted…

              Space

              • --alea-space-2…
              • --alea-space-3…
              • --alea-space-4…

              Radius

              • --alea-radius-lg…

              Type

              • --alea-font-family-body…
              • --alea-font-size-base…
              • --alea-font-size-xs…
              • --alea-font-weight-semibold…

              Motion

              • --alea-motion-duration-fast…

              Props

              Scheduler props

              Day and week views with a time grid: events placed by time and side by side when they overlap, an all-day row, the current time, a period switcher and a view switch. Each day is a labelled list of its events, in time order, so the keyboard and screen readers go through them as a list.

              PropTypeDefaultDescription
              eventsrequiredScheduleEvent[]-The events.
              classNamestring-Extra class names.
              dateDate-The day the view starts from (controlled).
              dayEndnumber21
              dayStartnumber7First and last hour of the grid. Default 7 and 21.
              defaultDateDate-The day at first. Default today.
              heightstring | number560Height of the scrolling grid. Default 560.
              hourHeightnumber56Height of one hour in px. Default 56.
              onCreate((start: Date) => void)-Called with the start of a 30 minute slot when an empty slot is clicked, and from the New event button (with the next round hour).
              onDateChange((date: Date) => void)-Called when the visible period changes.
              onEventPress((event: ScheduleEvent) => void)-Called with an event when it is pressed.
              onViewChange((view: "day" | "week" | "workweek") => void)-Called when the view changes; with it, a view switch shows in the header.
              view"day" | "week" | "workweek"'week'day, week (default) or workweek (Monday to Friday).
              weekStartsOn0 | 11First day of the week: 0 Sunday, 1 Monday (default).

              Specs

              Generated from the source: the variants in the types, the states and tokens in the CSS, and the motion patterns that apply. The grids render the real component in both themes; the numbers are measured from the page.

              Variants
              viewdayweekworkweek
              States
              Hover (CSS)Pressed (CSS)
              Dark and light
              Every color comes from theme tokens, so it follows data-theme (and presets like Graphite) on the page or any wrapper. Contrast is checked in both themes.
              Styling hooks
              .alea-sched.alea-sched-head.alea-sched-nav.alea-sched-title.alea-sched-actions.alea-sched-grid-head.alea-sched-dayname.alea-sched-allday.alea-sched-gutter-label.alea-sched-allday-col.alea-sched-event.alea-sched-scroll
              Data attributes
              data-todaydata-tone=accentdata-tone=successdata-tone=warningdata-tone=dangerdata-tone=infodata-tone=neutraldata-short

              Accessibility

              • Each day is a labelled list of its events in time order, so keyboard and screen reader users go through a day as a list.
              • Every event is a button named with its title, its start and end time and its detail.
              • The period title is announced when it changes; previous, next and today are named buttons.
              • Clicking an empty slot is a pointer shortcut: the New event button does the same from the keyboard.
              • The current time line has a name, and the grid scrolls to it on load.

              Keyboard

              KeyDoes
              TabMoves through the header controls, then the events of each day in time order
              Enter or Space (on an event)Opens it

              Do and don't

              Do

              • Give events a short title and put the room or people in detail.
              • Use tones for meaning (tentative, cancelled), not decoration.
              • Start the grid at the first working hour so the morning is in view.

              Don't

              • Don't use it for months: that is CalendarView.
              • Don't rely on color alone: the title should say what is special.

              In Figma

              Scheduler with View (Day, Work week, Week), events by tone, the all-day row and the now line.

              Tested with axe, keyboard and screen reader roles