ValyroUI Русская версия

Scheduler

Scheduler: day, week, month and resource timeline, drag and drop, recurrence. Pro · Work and teams › Planning

Installation

npx valyro-cli@latest login
npx valyro-cli@latest add scheduler
npm install valyro-ui-pro

import 'valyro-ui-pro/styles.css';
import { Scheduler } from 'valyro-ui-pro';

Props

PropTypeDefault
eventsreadonly SchedulerEvent[]Controlled events; use with onEventsChange.
defaultEventsreadonly SchedulerEvent[]Initial events when uncontrolled.
onEventsChange(events: SchedulerEvent[]) => voidThe whole list after a drag or resize; series occurrences are detached (see recurringEventId).
onEventChange(change: SchedulerEventChange) => voidThe single change behind each onEventsChange, with occurrenceDate for series occurrences.
onEventCreate(slot: SchedulerSlot) => voidClick or drag over empty slots, or Enter on a focused slot. Without it, slots are not creatable.
onEventClick(occurrence: SchedulerOccurrence, anchor: HTMLElement) => voidClick or Enter on an event; anchor is its element, e.g. for a popover.
resourcesreadonly SchedulerResource[][]Rows of the timeline view (rooms, people).
view'day' | 'week' | 'workWeek' | 'month' | 'timeline' | 'agenda'Controlled view; use with onViewChange.
defaultView'day' | 'week' | 'workWeek' | 'month' | 'timeline' | 'agenda''week'Initial view when uncontrolled.
onViewChange(view: SchedulerView) => voidCalled with the new view when it changes.
viewsreadonly SchedulerView[]Views in the switcher. Default day, week, month, plus timeline when there are resources.
dateDateAny date in the shown range.
defaultDateDateInitial date when uncontrolled.
onDateChange(date: Date) => voidCalled with the new date when it changes.
minHournumber0First visible hour of the day, week and timeline views; events entirely outside the hours are not shown there.
maxHournumber24Hour the day, week and timeline views end at (exclusive).
slotDuration15 | 30 | 6030Minutes per slot row (and per timeline column).
snapDurationnumber15Minutes that drags and resizes snap to.
scrollToHournumberHour scrolled into view on mount. Default an hour before the working day starts.
workingHoursSchedulerWorkingHours | null{ start: 9, end: 17, days: [1, 2, 3, 4, 5] }Time outside these hours is shaded; null turns shading off.
weekStartsOn0 | 1 | 2 | 3 | 4 | 5 | 61First day of the week, month and agenda views and the mobile day strip: 0 = Sunday, 1 = Monday.
maxEventsPerDaynumber3Month view: events per day before "+N more".
mobileView'day' | 'agenda' | false'day'Below 640px the week, work week and month views render as this view; false keeps them.
readOnlybooleanfalseEvents stay clickable but cannot be moved, resized or created.
loadingbooleanfalseDims the calendar with a spinner and marks it busy.
localestringDate and time formatting, incl. 12/24-hour clock. Defaults to the ThemeProvider locale, then the browser's.
labelsPartial<SchedulerLabels>Overrides for the built-in English text; keys left out keep their defaults.

Related components

  • Calendar View — Event calendar
  • Kanban Board — Task board
  • Gantt Chart — Gantt charts with dependencies and drag to reschedule
  • Booking Slots — Meeting booking: calendar, slots in the guest’s time zone, form and confirmation
  • CRM Pipeline — Deal pipeline: stages, amounts and probabilities, drag between stages
  • Approval Flow — Multi-stage approvals: sequential and parallel stages, decisions with reasons, history
  • Goal Tracker — OKRs: objectives and key results, statuses, confidence, check-ins with history
  • Onboarding Checklist — Onboarding checklist: progress, hints with CTAs, dismissal and celebration
  • Course Path Navigator — Course map: modules, locks, progress and skills, a list on narrow screens
  • Team Members — Team members: roles, email invites, pending invitations, seat count
  • Org Chart — Org chart: zoomable, pannable tree with search and collapsible branches
  • Activity Feed — Activity feed

Previous: Calendar View · Next: Kanban Board · All Work and teams