Components
Scheduler
A week / day agenda that positions events in time slots.
Standup
9 AM – 9:30 AM
from 9 AM – 9:30 AMDesign review
11 AM – 12:30 PM
from 11 AM – 12:30 PMLunch & learn
12 PM – 1 PM
from 12 PM – 1 PM1:1 with Sam
10 AM – 10:45 AM
from 10 AM – 10:45 AMSprint planning
2 PM – 4 PM
from 2 PM – 4 PMDemo day
3:30 PM – 5 PM
from 3:30 PM – 5 PMRetro
9:30 AM – 10:30 AM
from 9:30 AM – 10:30 AM<x-ui.scheduler
:start-hour="8"
:end-hour="18"
:events="[
['title' => 'Standup', 'day' => 0, 'start' => '09:00', 'end' => '09:30', 'color' => 'sky'],
['title' => 'Design review', 'day' => 0, 'start' => '11:00', 'end' => '12:30'],
['title' => 'Lunch & learn', 'day' => 1, 'start' => '12:00', 'end' => '13:00', 'color' => 'emerald'],
['title' => '1:1 with Sam', 'day' => 2, 'start' => '10:00', 'end' => '10:45', 'color' => 'amber'],
['title' => 'Sprint planning','day' => 3, 'start' => '14:00', 'end' => '16:00', 'color' => 'violet'],
['title' => 'Demo day', 'day' => 4, 'start' => '15:30', 'end' => '17:00', 'color' => 'rose'],
['title' => 'Retro', 'day' => 4, 'start' => '09:30', 'end' => '10:30'],
]"
/>
Day
Inbox & triage
8:30 AM – 9 AM
from 8:30 AM – 9 AMPairing session
9 AM – 10:30 AM
from 9 AM – 10:30 AMCoffee chat
10:30 AM – 11 AM
from 10:30 AM – 11 AMFocus block
11 AM – 12:30 PM
from 11 AM – 12:30 PMLunch
12:30 PM – 1:30 PM
from 12:30 PM – 1:30 PMClient call
2 PM – 3 PM
from 2 PM – 3 PMWrap-up notes
4 PM – 4:30 PM
from 4 PM – 4:30 PM<x-ui.scheduler
view="day"
:days="['Wednesday']"
:start-hour="8"
:end-hour="17"
label="Wednesday schedule"
class="max-w-md"
:events="[
['title' => 'Inbox & triage', 'day' => 0, 'start' => '08:30', 'end' => '09:00', 'color' => 'sky'],
['title' => 'Pairing session', 'day' => 0, 'start' => '09:00', 'end' => '10:30'],
['title' => 'Coffee chat', 'day' => 0, 'start' => '10:30', 'end' => '11:00', 'color' => 'amber'],
['title' => 'Focus block', 'day' => 0, 'start' => '11:00', 'end' => '12:30', 'color' => 'violet'],
['title' => 'Lunch', 'day' => 0, 'start' => '12:30', 'end' => '13:30', 'color' => 'emerald'],
['title' => 'Client call', 'day' => 0, 'start' => '14:00', 'end' => '15:00', 'color' => 'rose'],
['title' => 'Wrap-up notes', 'day' => 0, 'start' => '16:00', 'end' => '16:30'],
]"
/>
API Reference
Props, slots and exposed methods for
<x-ui.scheduler>.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
events* |
array
|
[]
|
The events to place on the grid. Each event is positioned by its day column and start/end time; overlapping events in a column split into side-by-side lanes. See Each event below. |
days |
string[]
|
— | Column header labels. Defaults to Mon–Sun in week view, or a single "Day" column in day view. |
startHour |
int
|
8
|
First hour shown in the time gutter (0–24). Events before this are clamped or dropped. |
endHour |
int
|
18
|
Last hour shown in the time gutter (0–24), clamped to at least startHour + 1. |
view |
string
|
'week'
|
Layout mode. In day view a date maps to the single column; in week view dates map to their weekday.
week
day
|
label |
string
|
'Schedule'
|
Accessible name for the scrollable grid region. |
* Required.
Each event
| Prop | Type | Default | Description |
|---|---|---|---|
title |
string
|
'Event'
|
The event label shown in the block and read out as its accessible name. |
day |
int|string
|
— | Which column the event belongs to: an integer 0-based index, or a "YYYY-MM-DD" date mapped to its weekday (week view) or column 0 (day view). |
start* |
string
|
— | Start time as "HH:MM" (24-hour). Events with an unparseable or non-positive duration are dropped. |
end* |
string
|
— | End time as "HH:MM" (24-hour). Must be later than start. |
color |
string
|
— |
Tone for the event block. When omitted, a per-column tone is assigned so adjacent events stay distinct.
primary
sky
emerald
amber
violet
rose
|