Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Compliance Checklist Block for React Aria

A compliance tracker with GDPR, SOC 2 and ISO 27001 tabs, nine sample controls each, an evidence choice and note per control, a documented score with a progress bar and the days to the next audit.

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

Track the evidence behind each control, with this compliance checklist block for React with React Aria. Tabs switch between GDPR, SOC 2 and ISO 27001, each tab showing its documented count. Under them the active framework scores itself, "Documented 6 of 9" with a Progress bar, and counts the days to its audit from a fixed date ("Audit in 21 days (Wed 4 Nov)"). Nine sample controls fill the list, each with an evidence Native Select (Documented, In progress, Missing) and an Input for a note on where the evidence lives. The header counts what is missing across all three frameworks. The controls are samples, not legal advice or an audit, and the block says so. Bands are ruled by Guides. For trust centers, security reviews and teams preparing for an audit.

FAQ

How is the score worked out?

It counts controls whose evidence is Documented in the active framework. In progress and Missing do not count. The tab counts, the Progress bar and the header's missing total all come from the same control list, so they stay in step.

Where do the audit dates come from?

Each framework has an ISO audit date in FRAMEWORKS, and the days to go are counted against the fixed AS_OF constant. Point AS_OF at the current date when you use real data.

Are the controls real?

They are plausible samples written for the layout, with the codes of the published frameworks, not the full control sets and not advice. Replace LINES with your own list, one line for each control.

What stays local, and how do I wire it for real?

Evidence choices and notes live on the page and nothing is stored or sent. In your app, save each change from setEvidence and setNote, and link each note to the document that proves the control.

How does it look on a phone?

The tabs scroll sideways if they do not fit and their counts hide on the narrowest screens. Each control stacks: its name and code, then the evidence menu, then the note field, so every control keeps a full-width target.