About this set
A full-width month calendar for dashboards, booking back offices and team planners. The header holds the month name and a pair of previous and next buttons; below it sits a seven-column grid, Monday first, always six weeks tall so the card never jumps in height when you page between months. Each day cell shows its number and any events as coloured chips: blue for releases and reviews, green for social events, pink for deadlines. Long event names are cut with an ellipsis instead of wrapping, and days from the previous and next month are shaded and greyed so the current month stands out. Today’s number sits in a filled blue circle. The grid is a real table with weekday column headers, generated by a short script from an EVENTS object keyed by day, so swapping in your own data means replacing one object. Under about 600 pixels the table scrolls sideways inside a labelled, keyboard-focusable region rather than squeezing the chips into unreadable slivers. The Bootstrap version builds the same layout from .card, .table and .badge, and the Tailwind version from utility classes.
What’s included
- Six-week month table with weekday column headers, Monday first
- Event chips in three tones, truncated with an ellipsis
- Previous and next month buttons with a live month title
- Today marked with a filled circle and aria-current="date"
- Scrolls sideways in a focusable region on narrow screens
Accessibility
The grid is a table labelled by the month heading, with full weekday names in the column headers and the full date of every day as visually hidden text, so a cell reads as "Wednesday, 14 October 2026, v4.3 release, Retro". Today carries aria-current="date". The month buttons have aria-labels, the title is a polite live region so paging is announced, and buttons and the scroll region show a 2px blue focus outline.
Customise it
Change --cal-accent, --cal-line and --cal-muted on .cal and the .e1 to .e3 chip colours. In Bootstrap the chip tones come from the --bs-primary/success/danger-bg-subtle and -text-emphasis variables set on .cal; in Tailwind edit the --color-cal-* theme colours and the TONE map in the script.




















