Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Calendar View Task List Block for React Aria

A week strip of seven days with open counts over the chosen day's task list, an Overdue band with Move all to today, a Move to select on every task and a one-line Undo.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Plan the week a day at a time, with this calendar view to-do list for React with React Aria. A Toggle Group of seven days, Monday 12 to Sunday 18 October, sits at the top of the frame; each day shows its weekday (today says "Today"), its date and how many tasks are still open, and choosing one lists that day's tasks below. A pinned Overdue band collects every open task whose day has passed, with an outline "Move all to today" button. Each task is a Checkbox named by its title with a Native Select called Move to, offering Today, Tomorrow, the rest of the week and next Monday: choosing one changes the due date, so the day counts and both lists follow, and a one-line Undo in the foot takes the move back. A day with nothing due shows an Empty state in the same height. It is a week and one day's list, not a month grid. Bands are ruled by Guides, and the only motion is a CSS entrance. For planners, personal task apps and anything that works day by day.

FAQ

How do I load my own tasks and week?

Replace START with your tasks (an id, title, due ISO date, priority word and done flag) and WEEK with the seven days you want to show. The strip counts, the Overdue band and the day list are worked out from those and the fixed AS_OF day, so a task due before AS_OF that is still open lands in Overdue by itself.

What stays local, and how do I save for real?

Everything. Ticking and moving change state on the page and nothing is sent, so the plan resets on reload. In your app write the new due date from move, moveLate and undo, and the done flag from toggle.

How do I move a task to a day outside the list?

The select offers today through next Monday, which covers most rescheduling. To offer any date, add targets to TARGETS or swap the select for your own date picker and call move(id, iso) with the chosen ISO date.

What counts as overdue?

An open task whose due date is before AS_OF. It is listed only in the Overdue band, not on its own day, so a past day shows just what was finished on it and the strip counts only what can still be acted on.

Is it accessible?

The strip is a group of toggle buttons whose names include the date and the open count ("Wed 14 October, 1 open"), every select and checkbox is named by its task, and one polite status message announces each choice and move. Arrow keys move along the strip.

How does it look on a phone?

The seven days share the width, with the weekday, date and count stacked in each, and every task is two lines with its select under the title.