Skip to content

docs: add OpenZeppelin UIKit documentation (7 pages, navigation, screenshots)#6

Open
pasevin wants to merge 41 commits intomainfrom
cursor/openzeppelin-uikit-documentation-5e15
Open

docs: add OpenZeppelin UIKit documentation (7 pages, navigation, screenshots)#6
pasevin wants to merge 41 commits intomainfrom
cursor/openzeppelin-uikit-documentation-5e15

Conversation

@pasevin
Copy link
Copy Markdown
Owner

@pasevin pasevin commented Apr 8, 2026

Documentation Pull Request

Summary

Adds complete documentation for OpenZeppelin UIKit — the modular React component library for building blockchain transaction interfaces. This PR introduces 7 new documentation pages, sidebar navigation, and supporting screenshots.

New Pages

Page Path Description
Overview /tools/uikit Introduction, package table, design principles, ecosystem adapter integration, dependency diagram
Getting Started /tools/uikit/getting-started Installation, Tailwind CSS setup (automated and manual), first component, transaction form, provider wiring
Architecture /tools/uikit/architecture Package layer diagram, 13 capabilities across 3 tiers, capability bundles, runtimes, profiles, execution strategies
Components /tools/uikit/components UI primitives (25 general + 7 blockchain-specific), 21 form field types, renderer widgets (TransactionForm, ContractStateWidget, AddressBookWidget, etc.)
React Integration /tools/uikit/react-integration RuntimeProvider, WalletStateProvider, hooks (useWalletState, useRuntimeContext, derived wallet hooks), wallet components, multi-ecosystem apps
Theming & Styling /tools/uikit/theming Tailwind CSS 4 with OKLCH tokens, design token tables, dark mode with next-themes, component variants (CVA), theme customization
Storage /tools/uikit/storage IndexedDB persistence via Dexie.js, localStorage comparison table, EntityStorage/KeyValueStorage base classes, account alias plugin with screenshot, React hook factories (createRepositoryHook, createCrudHook, createLiveQueryHook, createJsonFileIO)

Navigation

Added a UIKit folder to the Ethereum & EVM sidebar with all 7 pages.

Screenshots

Image Shows
form-renderer.png TransactionForm with dynamic fields
contract-state-widget.png ContractStateWidget querying view functions
address-book-widget.png AddressBookWidget with alias management
storage-account-alias-plugin.png Account alias plugin edit dialog
example-app-overview.png Example app overview

Type of Change

  • New documentation
  • Documentation update/revision
  • Add examples or tutorials
  • Fix typos or grammar
  • Restructure/reorganize content
  • Update API documentation

Checklist

Additional Notes

This is the combined result of the stacked PRs (#7, #8) that have been merged into this branch. Content was sourced from the openzeppelin-ui package source code and validated against real-world usage in UI Builder and Role Manager.

Open in Web Open in Cursor 

cursoragent and others added 30 commits April 7, 2026 20:16
Add 6 new documentation pages for OpenZeppelin UIKit:
- Overview: package map, architecture diagram, design principles
- Getting Started: installation, Tailwind setup, first form
- Architecture: package layers, capability tiers, runtime lifecycle
- Components: UI primitives, form fields, renderer widgets
- React Integration: providers, hooks, wallet state, multi-ecosystem
- Theming & Styling: Tailwind v4 tokens, dark mode, customization

All pages include Mermaid diagrams and cross-link to Ecosystem Adapters docs.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Register UIKit docs under Open Source Tools in the sidebar navigation
with links to all 6 documentation pages.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Place the GitHub repository link in an info Callout at the top of the
overview page, matching the pattern used in the Ecosystem Adapters docs.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Replace nested subgraph diagrams with flat color-coded flowcharts.
Eliminates overlapping labels and tangled arrows by using:
- Individual styled nodes instead of subgraph containers
- Minimal dependency arrows (table covers full details)
- Stadium-shaped nodes with color legend
- Init config for tighter spacing

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Consolidate 13 individual capability nodes into 3 tier blocks that
list their capabilities inline. Avoids the squished side-by-side
subgraph layout and renders at full readable size.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
- Remove 'replaces the legacy pattern' sentence
- Merge three per-tier tables into a single reference table
- Add cross-link to Ecosystem Adapters for full capability deep-dive
- Keep diagram, tier summary, and Capability Bundles section (UIKit-specific)

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Multisig is not yet implemented — only EOA and Relayer are available.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Capture and embed screenshots from https://openzeppelin-ui.vercel.app/:
- Overview: contract interaction UI as hero image
- Components: Form Renderer and ContractStateWidget
- React Integration: wallet connection UI with network selector

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Remove contract-interactions and contract-state-widget screenshots that
showed RPC errors. Replace overview hero with clean form-renderer
screenshot. Re-capture wallet-connect screenshot.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
The deployed example app at openzeppelin-ui.vercel.app has a missing
app.config.json which prevents runtime initialization. This blocks
Contract State Widget and Wallet pages from loading.

Keep only the screenshots that render without a runtime:
- example-app-overview.png (landing page with ecosystem switcher)
- form-renderer.png (schema-driven TransactionForm)

Remove broken screenshots: wallet-connect, architecture-example,
form-renderer-scroll.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Add animated GIF showing the ContractStateWidget querying live view
functions on Sepolia. Displayed in a flex layout with the GIF on
the left and description + code example on the right.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…rflow in layout

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…nd nav entry

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
The previous commit reduced the information shown to users (e.g. 'EcosystemRuntir'
truncated to fit narrow LR nodes). Restored full descriptive text using bold
provider names with descriptions on separate lines, increased node spacing,
and set useMaxWidth:false to prevent truncation.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
LR layout with subgraph truncates descriptive text. TD layout without
subgraph wrapper allows full-width nodes that display all information.
Matches the clean node style used by other UIKit diagrams.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Add wrappingWidth:400 and classDef width:350px to prevent Mermaid
from truncating descriptive text in Provider Tree nodes. Use classDef
for cleaner style definitions matching other UIKit diagram patterns.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…untimeForNetwork return

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
cursoragent and others added 5 commits April 9, 2026 16:53
… examples

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…ateCrudHook, createLiveQueryHook, createJsonFileIO)

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…ents page

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
@pasevin pasevin marked this pull request as ready for review April 9, 2026 19:49
@cursor
Copy link
Copy Markdown

cursor bot commented Apr 9, 2026

You have used all of your free Bugbot PR reviews.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

cursoragent and others added 3 commits April 9, 2026 19:55
… for provider tree diagram

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
docs(uikit): add "Why Use the Storage Plugin?" section with real-world examples
…gram-05ec

docs(uikit): fix Provider Tree diagram text truncation in React Integration
@cursor cursor bot changed the title docs(uikit): retake screenshots with fully loaded pages docs: add OpenZeppelin UIKit documentation (7 pages, navigation, screenshots) Apr 9, 2026
pasevin and others added 3 commits April 9, 2026 23:25
Replace invalid ecosystem adapter routes with links that exist in this docs site so
link validation passes in CI.
Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
Place UIKit nav item directly below Role Manager
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants