Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Document Checklist Contact Block for React

A tax-return checklist as a card in a card: three ways of filing, eight documents with a tag that says which are needed, a bar of the needed ones ready and a switch to send the rest later.

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

A tax-return checklist section for React with Base UI, built as a card in a card under a centred header: a muted frame with + marks on its corners holds a raised panel in one column. First, how you file (employee, self-employed or retired) as three choice cards. Then a checklist of eight documents, each with a checkbox and a tag, "Needed" or "Optional", that follows the way you file: five are needed for each, and the tags change when you switch while the rows stay where they are. A bar and a count say how many of the needed ones are ready, and a switch says the rest will follow by email. Then a name and an email. Submitting checks every field: unless the switch is on, every needed document has to be ticked; each problem shows under its field and focus moves to the first one. A valid request turns the panel into a confirmation in the same space, which takes focus. It's built from Radio Group, Checkbox, Badge, Progress, Switch, Field, Input, Frame, Guides and Shine Button, with your theme's tokens for every colour. For accountants, bookkeepers and any service that starts from a pile of papers.

FAQ

How does the block decide which documents are needed?

Each document in DOCS lists the ways of filing that need it: a pay summary for an employee, client payment summaries and expense receipts for the self-employed, a pension statement for the retired, and bank interest, last year's return and a photo ID for all three. The count and the bar only look at the needed ones, so a ticked optional document is kept but does not move the bar. The lists are made up for the demonstration and the button's note says they are not tax advice.

What does “I'll send the rest later” change?

It lets the form send with documents missing. With it off, submitting shows "Tick the 3 documents still missing, or switch on “I'll send the rest later”." under the checklist and moves focus to the first box. With it on, the confirmation says how many were ready and that the rest will follow by email.

What does a screen reader hear?

Every checkbox is named by its document, and a tag is read after it ("Needed" or "Optional"). The bar is a picture of the count beside it, so it is hidden from assistive technology. When you tick a document or change the way you file, one hidden status line says the new count, such as "3 of 5 needed documents ready".

How does the form check what's typed?

The form has noValidate, so the browser's own bubbles stay away and the block shows its own messages. On submit, problems checks the documents (unless the rest will follow), a name and an email address with an @ and a domain. Each problem appears under its field with an icon and focus moves to the first one. Leaving a filled field checks it, and editing a field that shows an error re-checks it as you type.

Where does the form send its data?

Nowhere yet. The submit handler waits 800 milliseconds as a stand-in for a request, then shows the confirmation. Replace that timer in submit with your own call: details holds the way of filing, the documents ticked, the switch, the name and the email. The confirmation repeats the way of filing and the count and says an accountant will write to the address given; it promises nothing else.

How does it fit on a phone?

Everything is one column. The three choice cards stack, each checklist row wraps its name and keeps its tag at the end, and the count and the bar stay above the list. Name and email go one per row and the button goes full width.

  • Pro

    A grant application split by a hairline: four budget lines that add up against a $50,000 cap in a framed panel with a bar, a project length, a summary with a word count and a form that checks itself.

  • Pro

    Budget Range Slider Contact

    Quotes and estimates

    A roofing quote request as a card in a card: three kinds of job, a two-thumb budget slider that says in words what the range covers, and a short form that checks itself.

  • Pro

    Loan Payment Slider Contact

    Finance and property

    A personal-loan request for a lender: an amount slider with a tick at each $5,000 and a term to pick, a panel that works the monthly payment out as you move, and a form that checks itself.

  • Pro

    Tax Details Billing

    Payment and invoices

    Billing address and tax ID in app settings: a form that checks the postal code and tax number against the country, an optional invoice note, and a live preview of the invoice header.

  • Pro

    Checklist FAQ

    Steps and plans

    A FAQ you tick off for a booking tool: a progress panel beside seven setup tasks, each a real checkbox with its answer, behind a split divider.

  • Pro

    A talk-to-sales split for a scheduling platform: what happens next as three numbered steps and a band of contact details beside a form that checks itself, shows each problem under its field and confirms in place.