structyl

Theme Builder

Configure on the right — every component updates live.

Live preview

app.company.com

Users

Manage your team

Total

2,491

+12%

Active

148

+3%

Issues

3

-62%

NameRoleStatusAction
A
Alice Chen
AdminActive
B
Bob Smith
EditorAway
C
Carol Wu
ViewerActive
Send weekly digest emailsBeta

3 users have pending invitations expiring today.

Atoms

17
JDAB
DefaultSecondarySuccessWarningDestructive
A

structyl

Open-source React component library with 80+ components.

ReactTypeScriptTailwind

Deployment complete

v2.0.4 is live in production.

Build failed

4 type errors found in src/app.

Update available

structyl v2.1.0 is ready to install.

LoadingLoadingLoadingLoading large preview
SeparatorView docs →

structyl

Docs
Source
Aspect RatioView docs →
16:9
Circular ProgressView docs →
Copy ButtonView docs →
npx structyl init
TypographyView docs →

Display heading

Section title

Body text — the default paragraph style used for prose content.

Subtitle — secondary information and metadata.

OVERLINE LABEL

code snippet

Check
Ready

Inputs

6
Button GroupView docs →
Floating Action ButtonView docs →
AutocompleteView docs →
Transfer ListView docs →
Available
Selected
Textarea AutosizeView docs →

Form

19
Toggle GroupView docs →
Radio GroupView docs →
One-Time Password FieldView docs →
Password Toggle FieldView docs →
Number FieldView docs →
May 2026
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Date PickerView docs →
May 27, 2026📅
May 2026
‹ ›
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Date Range PickerView docs →
📅May 20
📅May 27
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Time PickerView docs →
🕐14:30
14

HH

:
30

MM

Date Time PickerView docs →

Date

📅 May 27, 2026

Time

🕐 14:30
14
:
30
Color PickerView docs →
#6366F1Alpha 100%
File UploadView docs →

Drop files here

or browse · PNG, PDF up to 10 MB

design-system.fig2.4 MB

Data display

4
  • Inbox
Image ListView docs →
ProductCategoryPrice
Pro PlanSaaS$49/mo
StarterSaaS$9/mo
EnterpriseSaaSCustom

Deployed to production

2m ago

All tests passed

8m ago

PR #241 merged

15m ago

Review requested

1h ago

Feedback

2

Loading workspace…

Page content
3 items deleted

Surface

1
Paper surface

Layout

5
ContainerView docs →
Container
OneTwo

Navigation

3
Dashboard
J
Page content area
Bottom NavigationView docs →
App content
Home
🔍Search
Saved
👤Profile
Speed DialView docs →
Edit
✏️
Attach
📎
Share
✉️
+

Disclosure

6
AccordionView docs →
What is structyl?

An accessible, themable React component library built on WAI-ARIA patterns and Tailwind CSS.

Is it production-ready?
TypeScript support?
Account
Security
Billing

Display name

Jane Doe

Username

@janedoe

Email

jane@company.com
CollapsibleView docs →
BreadcrumbView docs →
PaginationView docs →
243 total rows
Page 3 of 10
1
2
3

Overlays

8

Edit profile

Update your name and email address.

Jane Doe
jane@company.com
Cancel
Save changes

Appearance

Copy to clipboard

Changes saved

Profile updated successfully.

Sync complete

48 items were imported.

Low storage

You are at 90% capacity.

Alert DialogView docs →

Delete workspace?

This action is permanent. All projects, members, and billing history will be erased.

Cancel
Delete workspace

Filters

Apply filters

Sort by

Date
Name
Status
Hover CardView docs →
J

Jane Doe

@janedoe · Joined 2022

Design systems engineer. Building structyl in public.

2.1k followers142 following

Compound

8
Dropdown MenuView docs →
Profile⌘P
Settings⌘,
Duplicate⌘D
Delete⌘⌫
Multi SelectView docs →
Context MenuView docs →
Right-click area
Open
Open in new tab
Copy link⌘C
Share
Properties
File
Edit
View
Help
Undo⌘Z
Redo⇧⌘Z
Cut⌘X
Copy⌘C
Paste⌘V
Navigation MenuView docs →
A
Products ▾
Docs
Blog

Components

Browse 80+ UI primitives

Templates

Pre-built page layouts

Icons

Lucide icon set

CLI

Scaffold with one command

React
React
Vue
Svelte
Angular
Search components…Esc

Components

ButtonAtoms
DialogOverlays
DataTableData

Utils

7
Click-Away ListenerView docs →

Rendering on server…

Container:
Content is portalled into the container div above
TransitionView docs →
fade
CSS BaselineView docs →
Injected CSS reset:
*,*::before,*::after { box-sizing: border-box }
html { line-height: 1.5; -webkit-text-size-adjust: 100% }
body { margin: 0 }
button,input,textarea,select { font: inherit }
Init Color Scheme ScriptView docs →
Script injected into <head> before hydration:
var m = localStorage.getItem("structyl-mode") || "system";
if (m === "system") {
  m = matchMedia("(prefers-color-scheme: dark)").matches
    ? "dark" : "light";
}
document.documentElement.setAttribute("data-theme", m);

Misc

8
Scroll AreaView docs →
Acetaminophen · 500mg
Ibuprofen · 200mg
Aspirin · 325mg
Naproxen · 250mg
Amoxicillin · 875mg
Metformin · 500mg
Lisinopril · 10mg
Atorvastatin · 20mg
Omeprazole · 20mg
ResizableView docs →

Sidebar

Dashboard
Users
Reports
Settings

Main content

Active users

2,491

Revenue

$48.2k

Conversion

3.6%

📂src/
📂app/
📄page.tsx
📄layout.tsx
📁components/
📁lib/
📄package.json
Click to edit
Tags InputView docs →
reacttailwind

Data

2

Monthly revenue

+18% ↑

JFMAMJJASOND
DataTableView docs →
NameStatusAmount
INV-001Paid$240.00
INV-002Pending$120.00
INV-003Draft$380.00
INV-004Paid$95.00

Media

1
Video PlayerView docs →
0:00 / 0:00

97 components · all react to your theme in real time