Skip to content

Commit 7cfb7bc

Browse files
committed
chore: update readme
1 parent 43eed67 commit 7cfb7bc

File tree

1 file changed

+326
-14
lines changed

1 file changed

+326
-14
lines changed

README.md

Lines changed: 326 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,342 @@
11
<br />
2-
<p align="center"><a href="https://github.com/chakra-ui/ark"><img src="https://ark-ui.com/images/ark-logo-on-brand.svg" alt="Ark UI" height="32" /></a></p>
32
<p align="center">
4-
<a href="https://github.com/chakra-ui/ark/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@ark-ui/react?style=for-the-badge" alt="GitHub license" /></a>
5-
<a href="https://www.npmjs.com/package/@ark-ui/react"><img src="https://img.shields.io/npm/dm/@zag-js/react?style=for-the-badge" alt="npm downloads" /></a>
6-
<a href="https://github.com/chakra-ui/ark/"><img src="https://img.shields.io/github/stars/chakra-ui/ark?logo=github&style=for-the-badge" alt="GitHub stars" /></a>
3+
<a href="https://ark-ui.com">
4+
<img src="https://ark-ui.com/images/ark-logo-on-brand.svg" alt="Ark UI" height="64" />
5+
</a>
76
</p>
7+
8+
<p align="center">
9+
<strong>Build scalable design systems with unstyled, accessible UI components</strong>
10+
</p>
11+
12+
<p align="center">
13+
<a href="https://github.com/chakra-ui/ark/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@ark-ui/react?style=for-the-badge" alt="MIT License" /></a>
14+
<a href="https://www.npmjs.com/package/@ark-ui/react"><img src="https://img.shields.io/npm/dm/@ark-ui/react?style=for-the-badge" alt="npm downloads" /></a>
15+
<a href="https://github.com/chakra-ui/ark/"><img src="https://img.shields.io/github/stars/chakra-ui/ark?logo=github&style=for-the-badge" alt="GitHub stars" /></a>
16+
<a href="https://discord.gg/ww6HE5xaZ2"><img src="https://img.shields.io/discord/660863154703695893?label=discord&logo=discord&style=for-the-badge" alt="Discord" /></a>
17+
</p>
18+
819
<p align="center">
9-
Ark UI is a headless component library to build scalable Design Systems for <a href="https://reactjs.org/">React</a>, <a href="https://solidjs.com/">Solid</a>, <a href="https://svelte.dev/">Svelte</a> and <a href="https://vuejs.org/">Vue</a>.
20+
<a href="https://ark-ui.com">Documentation</a> •
21+
<a href="#installation">Installation</a> •
22+
<a href="#features">Features</a> •
23+
<a href="#components">Components</a> •
24+
<a href="https://ark-ui.canny.io/">Roadmap</a> •
25+
<a href="CONTRIBUTING.md">Contributing</a>
1026
</p>
27+
1128
<br />
1229

30+
## Overview
31+
32+
Ark UI is a headless component library that provides the foundation for building high-quality, accessible design systems
33+
and web applications. Built on top of [Zag.js](https://zagjs.com) state machines, Ark UI delivers robust,
34+
framework-agnostic component logic with perfect parity across **React**, **Solid**, **Vue**, and **Svelte**.
35+
36+
### Why Ark UI?
37+
38+
- **🎨 Completely Unstyled** - Zero styling opinions. Bring your own styles with CSS-in-JS, Tailwind, vanilla CSS, or
39+
any styling solution
40+
- **♿️ Accessibility First** - WCAG compliant components tested with real assistive technologies out of the box
41+
- **🔄 State Machine Powered** - Predictable, testable behavior powered by Zag.js finite state machines
42+
- **🌍 Multi-Framework** - Same API across React, Solid, Vue, and Svelte - write once, use everywhere
43+
- **📦 Truly Composable** - Granular component primitives that work together seamlessly
44+
- **⚡️ Production Ready** - Battle-tested in products like Chakra UI, used by teams at OVHCloud, PluralSight, and more
45+
- **🎯 Type-Safe** - Fully typed with TypeScript for exceptional developer experience
46+
47+
## Installation
48+
49+
Choose your framework and install the corresponding package:
50+
51+
```bash
52+
# React
53+
npm install @ark-ui/react
54+
55+
# Solid
56+
npm install @ark-ui/solid
57+
58+
# Vue
59+
npm install @ark-ui/vue
60+
61+
# Svelte
62+
npm install @ark-ui/svelte
63+
```
64+
65+
## Quick Start
66+
67+
Here's a simple example showing how consistent the API is across frameworks:
68+
69+
### React
70+
71+
```tsx
72+
import { Dialog } from '@ark-ui/react/dialog'
73+
74+
export const MyDialog = () => (
75+
<Dialog.Root>
76+
<Dialog.Trigger>Open Dialog</Dialog.Trigger>
77+
<Dialog.Backdrop />
78+
<Dialog.Positioner>
79+
<Dialog.Content>
80+
<Dialog.Title>Dialog Title</Dialog.Title>
81+
<Dialog.Description>Dialog description</Dialog.Description>
82+
<Dialog.CloseTrigger>Close</Dialog.CloseTrigger>
83+
</Dialog.Content>
84+
</Dialog.Positioner>
85+
</Dialog.Root>
86+
)
87+
```
88+
89+
### Vue
90+
91+
```vue
92+
<script setup lang="ts">
93+
import { Dialog } from '@ark-ui/vue/dialog'
94+
</script>
95+
96+
<template>
97+
<Dialog.Root>
98+
<Dialog.Trigger>Open Dialog</Dialog.Trigger>
99+
<Dialog.Backdrop />
100+
<Dialog.Positioner>
101+
<Dialog.Content>
102+
<Dialog.Title>Dialog Title</Dialog.Title>
103+
<Dialog.Description>Dialog description</Dialog.Description>
104+
<Dialog.CloseTrigger>Close</Dialog.CloseTrigger>
105+
</Dialog.Content>
106+
</Dialog.Positioner>
107+
</Dialog.Root>
108+
</template>
109+
```
110+
111+
### Solid
112+
113+
```tsx
114+
import { Dialog } from '@ark-ui/solid/dialog'
115+
116+
export const MyDialog = () => (
117+
<Dialog.Root>
118+
<Dialog.Trigger>Open Dialog</Dialog.Trigger>
119+
<Dialog.Backdrop />
120+
<Dialog.Positioner>
121+
<Dialog.Content>
122+
<Dialog.Title>Dialog Title</Dialog.Title>
123+
<Dialog.Description>Dialog description</Dialog.Description>
124+
<Dialog.CloseTrigger>Close</Dialog.CloseTrigger>
125+
</Dialog.Content>
126+
</Dialog.Positioner>
127+
</Dialog.Root>
128+
)
129+
```
130+
131+
### Svelte
132+
133+
```svelte
134+
<script lang="ts">
135+
import { Dialog } from '@ark-ui/svelte/dialog'
136+
</script>
137+
138+
<Dialog.Root>
139+
<Dialog.Trigger>Open Dialog</Dialog.Trigger>
140+
<Dialog.Backdrop />
141+
<Dialog.Positioner>
142+
<Dialog.Content>
143+
<Dialog.Title>Dialog Title</Dialog.Title>
144+
<Dialog.Description>Dialog description</Dialog.Description>
145+
<Dialog.CloseTrigger>Close</Dialog.CloseTrigger>
146+
</Dialog.Content>
147+
</Dialog.Positioner>
148+
</Dialog.Root>
149+
```
150+
151+
## Features
152+
153+
### Zero-Styling Freedom
154+
155+
Every component is completely unstyled, giving you total control over your design. Use any styling solution:
156+
157+
```tsx
158+
// Tailwind CSS
159+
<Dialog.Trigger className="px-4 py-2 bg-blue-500 rounded">Open</Dialog.Trigger>
160+
161+
// CSS-in-JS
162+
<Dialog.Trigger css={{ padding: '8px 16px', background: 'blue' }}>Open</Dialog.Trigger>
163+
164+
// Vanilla CSS
165+
<Dialog.Trigger className="my-button">Open</Dialog.Trigger>
166+
```
167+
168+
### Accessibility Built-In
169+
170+
All components follow WAI-ARIA design patterns and are tested with screen readers:
171+
172+
- ✅ Proper ARIA attributes and roles
173+
- ✅ Keyboard navigation support
174+
- ✅ Focus management
175+
- ✅ Screen reader announcements
176+
- ✅ RTL support
177+
178+
### State Machine Architecture
179+
180+
Powered by Zag.js, each component uses finite state machines for predictable behavior:
181+
182+
- 🔒 Type-safe state transitions
183+
- 🧪 Easier to test and debug
184+
- 🐛 Fewer edge cases and bugs
185+
- 📊 Visualizable component logic
186+
187+
### Framework Parity
188+
189+
Maintain a single design system across multiple frameworks without rewriting component logic:
190+
191+
```tsx
192+
// Same API, same behavior, different frameworks
193+
const packages = ['@ark-ui/react', '@ark-ui/solid', '@ark-ui/vue', '@ark-ui/svelte']
194+
```
195+
196+
## Components
197+
198+
Ark UI provides **45+ production-ready components** covering common UI patterns:
199+
200+
### Layout & Navigation
201+
202+
- Accordion
203+
- Tabs
204+
- Splitter
205+
- Steps
206+
- Tree View
207+
- Tour
208+
209+
### Overlays & Dialogs
210+
211+
- Dialog
212+
- Popover
213+
- Tooltip
214+
- Hover Card
215+
- Bottom Sheet
216+
- Floating Panel
217+
218+
### Forms & Inputs
219+
220+
- Checkbox
221+
- Radio Group
222+
- Select
223+
- Combobox
224+
- Number Input
225+
- Pin Input
226+
- Tags Input
227+
- Editable
228+
- File Upload
229+
- Color Picker
230+
- Date Picker
231+
- Password Input
232+
- Signature Pad
233+
- Slider
234+
- Angle Slider
235+
- Rating Group
236+
- Switch
237+
- Toggle / Toggle Group
238+
239+
### Data Display
240+
241+
- Avatar
242+
- Highlight
243+
- Progress
244+
- QR Code
245+
- Format
246+
- JSON Tree View
247+
- Marquee
248+
249+
### Utilities
250+
251+
- Carousel
252+
- Clipboard
253+
- Collapsible
254+
- Field / Fieldset
255+
- Menu
256+
- Pagination
257+
- Portal
258+
- Presence
259+
- Scroll Area
260+
- Segment Group
261+
- Timer
262+
- Toast
263+
- Client Only
264+
- Download Trigger
265+
- Focus Trap
266+
- Frame
267+
- Collection
268+
- Listbox
269+
270+
[View all components →](https://ark-ui.com/docs/overview/introduction)
271+
13272
## Documentation
14273

15-
Check out the [official docs](https://ark-ui.com/) for full guides, detailed API reference, and plenty of examples to
16-
get you started.
274+
Visit [ark-ui.com](https://ark-ui.com) for:
17275

18-
## Roadmap
276+
- 📖 Comprehensive guides and tutorials
277+
- 📚 Detailed API references for each component
278+
- 💡 Interactive examples and recipes
279+
- 🎓 Styling guides for popular frameworks
280+
- 🔧 TypeScript usage patterns
19281

20-
You can request, vote for, and check upcoming features on our [roadmap](https://ark-ui.canny.io/).
282+
## Ecosystem
21283

22-
## Contribution
284+
### Built with Ark UI
23285

24-
We welcome contributions to Ark UI. Please read our
25-
[contributing guidelines](https://github.com/chakra-ui/ark/blob/main/CONTRIBUTING.md) for more information on how to
26-
contribute.
286+
- **[Chakra UI v3](https://chakra-ui.com)** - A simple, modular component library
287+
- **[Park UI](https://park-ui.com)** - Beautifully designed components built with Ark UI and Panda CSS
288+
- **[Tark UI](https://www.tarkui.xyz/)** - Ark UI components styled with Tailwind CSS
289+
290+
### Styling Libraries
291+
292+
Ark UI works seamlessly with:
293+
294+
- [Panda CSS](https://panda-css.com)
295+
- [Tailwind CSS](https://tailwindcss.com)
296+
- [Styled Components](https://styled-components.com)
297+
- [Emotion](https://emotion.sh)
298+
- Vanilla CSS, CSS Modules, and more
299+
300+
### Developer Tools
301+
302+
- **[MCP Server](https://github.com/chakra-ui/ark-mcp)** - AI-assisted development with Claude and other AI agents
303+
304+
## Community
305+
306+
- 💬 [Discord](https://discord.gg/ww6HE5xaZ2) - Join our community for help and discussions
307+
- 🐦 [Twitter](https://twitter.com/ark_ui_) - Follow us for updates and announcements
308+
- 🗺️ [Roadmap](https://ark-ui.canny.io/) - Request features and vote on upcoming work
309+
- 📝 [Blog](https://ark-ui.com/blog) - Read about releases and technical deep dives
310+
311+
## Contributing
312+
313+
We welcome contributions! Please read our [Contributing Guide](CONTRIBUTING.md) to learn about:
314+
315+
- Setting up your development environment
316+
- Our development workflow
317+
- Code conventions and standards
318+
- How to submit pull requests
319+
320+
## Support
321+
322+
- 📚 Check our [documentation](https://ark-ui.com)
323+
- 💬 Ask questions on [Discord](https://discord.gg/ww6HE5xaZ2)
324+
- 🐛 Report bugs via [GitHub Issues](https://github.com/chakra-ui/ark/issues)
325+
- 💡 Request features on our [Roadmap](https://ark-ui.canny.io/)
326+
327+
## Sponsors
328+
329+
Ark UI is maintained by [Christian Schröter](https://github.com/cschroeter), [Segun Adebayo](https://github.com/segunadebayo), and the Chakra UI team.
330+
Development is supported by our amazing sponsors:
331+
332+
[Become a sponsor →](https://opencollective.com/chakra-ui)
27333

28334
## License
29335

30-
This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/ark/blob/main/LICENSE).
336+
MIT © [Chakra Systems Inc.](https://github.com/chakra-ui)
337+
338+
---
339+
340+
<p align="center">
341+
Made with ❤️ by the <a href="https://github.com/chakra-ui/ark/graphs/contributors">Ark UI Community</a>
342+
</p>

0 commit comments

Comments
 (0)