Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Contract Reviewer AI Block for React Aria

Review the tracked changes of a sample agreement clause by clause as a redline, with a reason and Accept or Reject on each change, a clean copy switch, and Export clean copy as a text file.

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

Decide a contract change by change, with this contract reviewer for React with React Aria. A header names Redpenn, a redlining tool, and a hairline frame holds the sample Hollis and Orme master services agreement: five clauses, seven tracked changes. A clause list at the start (a Native Select on a phone) shows each clause's open changes and a risk word worked out from them. The chosen clause is drawn as a redline, with struck text for what goes and underlined text for what comes in, and under it every change has a reason, a risk badge and Accept and Reject Buttons, then Undo once decided. The header counts "7 open changes, 2 high" and falls as you decide, a Switch shows the clean copy, "Accept all low-risk" decides every low-risk change at once, and the Shine Button, Export clean copy, saves a real text file. The frame is ruled by Guides.

FAQ

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

The agreement, its changes, their reasons and the risk words are typed at the top of the file, and your decisions live in this tab only. The risk of a clause is derived from its open changes, never typed twice. To make it real, load the clauses and tracked changes from your document service into the same Part and Change shapes and save each decision where the buttons fire.

What does the clean copy show, and what is exported?

Accepted changes are applied, rejected changes keep the original wording, and changes you have not decided also keep the original wording until you accept them. Export clean copy saves exactly that as clean-copy.txt, and the status line tells you how many changes were still open.

How is the risk word chosen?

For a clause it is the highest risk among its open changes, and it becomes "Done" when none are open. The header counts open changes and how many of them are high. Accepting all low-risk changes never touches a medium or high one.

Is it usable with a keyboard and a screen reader?

The clause list is a radio group, so the arrow keys move through it. Each change says "change 1, open" in the redline for screen readers, since strike and underline alone say nothing, and its buttons are named for it. After you accept or reject, focus moves to the Undo button that appears in the same place, and one polite status line says what happened.

How does it look on a phone?

The clause list becomes a select above the redline, the redline and its changes scroll in a region of fixed height, and the Export button stays pinned to the bottom of the screen.