shadcn.io is not affiliated with official shadcn/ui
Accountant Filing Deadlines Profile Block for Svelte
An accountant profile as filing deadlines: clients, open filings and due this month on shared hairlines, a status filter with a count on each chip, ten deadlines with days to go and a word, and a Mark filed checkbox that updates every count.
Installation
Overview
Keep a small practice's deadlines in one view, with this accountant profile for Svelte with Ark UI. A compact header holds the title and one sentence, and the hairline frame under it opens on the accountant: initials, name, role and the number of clients. Three figures sit on shared hairlines: clients, open filings and filings due this month, the last two worked out from the rows and a typed "now". A band holds a Toggle Group of status chips (All, On track, At risk, Overdue, Filed), each with its count. Under it a table lists the ten deadlines with the client and the form, the due date with the days to go, and the status as a glyph, a word and a weight: a filing is Overdue once its date has passed, At risk when it is not ready and two weeks away or less, and On track otherwise. Ticking Mark filed on a Checkbox moves a row to Filed and every figure and chip follows. The list keeps its height when a chip empties it, and the empty Filed view uses an Empty state with a way back. The bands are ruled by Guides. It's built from Toggle Group, Checkbox, Empty, Button, Badge, Avatar and Guides, with a CSS entrance only. For an accounting practice portal, a tax calendar or any list of dated obligations.
FAQ
How do I fill it with my own filings?
Edit FILINGS: each has an id, a client, a form, an ISO due date and whether the paperwork is ready. CLIENTS is the practice's client count, RISK_DAYS how close a not-ready filing gets before it is At risk, and AS_OF the day the page treats as today. The status, the days to go, the open and due-this-month figures and every chip count are worked out from those, so nothing is typed twice.
How is a status decided?
By the date and whether the filing is ready, never typed. Past its date and not filed is Overdue. Not past, not ready and within the risk window is At risk. Anything else that is not filed is On track, and a ticked Mark filed is Filed. Because the days to go come from the typed "now", moving AS_OF moves every status with it.
Why is there empty space under a short list?
The list holds its height so choosing a chip never moves the bands below it. Filed starts with none, so choosing it shows the empty view: a short message and a button that goes back to All. Tick a deadline and the Filed chip counts it and lists it.
What stays local in this demo?
Everything. The clients and dates are typed samples, and ticking Mark filed changes only the page; nothing is submitted to a tax authority or saved. To make it real, load the deadlines from your practice system and file through its API in the checkbox handler.
Is it accessible?
The chips are a labelled group with their pressed state announced, the table has a caption and column headings, and each Mark filed checkbox is named for its client. Status is a word and a glyph with a weight, never colour alone. The status line is a polite live region present from the start, and dates keep their order in a right-to-left layout.