|
1 | 1 | # slintcn |
2 | 2 |
|
| 3 | +[](https://github.com/stevekwon211/slintcn/actions/workflows/ci.yml) |
| 4 | +[](https://github.com/stevekwon211/slintcn/actions/workflows/pages.yml) |
| 5 | +[](LICENSE) |
| 6 | + |
3 | 7 | **Copy-paste Slint components that don't look like 2009 desktop widgets.** |
4 | 8 |
|
5 | | -🌐 **Live demo**: [stevekwon211.github.io/slintcn](https://stevekwon211.github.io/slintcn) — the full showcase running in your browser via Slint compiled to WebAssembly (~7 MB bundle, FemtoVG + WebGL2). Click around to verify every primitive interactively. |
| 9 | +**Live demo**: [stevekwon211.github.io/slintcn](https://stevekwon211.github.io/slintcn) - the full showcase running in your browser via Slint compiled to WebAssembly (~7 MB bundle, FemtoVG + WebGL2). Click around to verify every primitive interactively. |
| 10 | + |
| 11 | +<p align="center"> |
| 12 | + <img src="docs/img/snapshots/section-6-dashboard.png" alt="slintcn dashboard components" width="31%"> |
| 13 | + <img src="docs/img/snapshots/section-4-signin.png" alt="slintcn sign-in form" width="31%"> |
| 14 | + <img src="docs/img/snapshots/section-2-overlays.png" alt="slintcn overlay components" width="31%"> |
| 15 | +</p> |
| 16 | + |
| 17 | +## Why it exists |
6 | 18 |
|
7 | 19 | shadcn proved that developers want to *own* UI code, not fight a theme API. |
8 | 20 | Slint 1.16 is moving to Fluent as the default — fine for consistency, weak for |
9 | 21 | modern dark/glass product UI. **slintcn** is the missing layer: tokens + primitives |
10 | 22 | you copy into your repo and customize. |
11 | 23 |
|
| 24 | +## Quick start |
| 25 | + |
| 26 | +```bash |
| 27 | +# Run the visual showcase |
| 28 | +cd examples/showcase && cargo run |
| 29 | + |
| 30 | +# Install components into your Slint project |
| 31 | +cd your-app |
| 32 | +node /path/to/slintcn/bin/slintcn.mjs init |
| 33 | +node /path/to/slintcn/bin/slintcn.mjs add button card input dialog |
| 34 | +``` |
| 35 | + |
| 36 | +Files land in `ui/slintcn/` — **you own them**. Change colors in |
| 37 | +`ui/slintcn/theme/tokens.slint`, tweak `button.slint` for your product. |
| 38 | + |
12 | 39 | ## Philosophy |
13 | 40 |
|
14 | 41 | | Phase | Focus | Status | |
@@ -37,21 +64,6 @@ exist, a second registry (`registry/game/`) is just more `.slint` files. |
37 | 64 | - **Rust** with Slint 1.16 (for the showcase or your Slint app) |
38 | 65 | - **Node 20+** (the CLI runtime) |
39 | 66 |
|
40 | | -## Quick start |
41 | | - |
42 | | -```bash |
43 | | -# Run the visual showcase |
44 | | -cd examples/showcase && cargo run |
45 | | - |
46 | | -# Install components into your Slint project |
47 | | -cd your-app |
48 | | -node /path/to/slintcn/bin/slintcn.mjs init |
49 | | -node /path/to/slintcn/bin/slintcn.mjs add button card input dialog |
50 | | -``` |
51 | | - |
52 | | -Files land in `ui/slintcn/` — **you own them**. Change colors in |
53 | | -`ui/slintcn/theme/tokens.slint`, tweak `button.slint` for your product. |
54 | | - |
55 | 67 | ```slint |
56 | 68 | import { Button, ButtonVariant, ButtonSize } from "slintcn/components/button.slint"; |
57 | 69 | import { Dialog } from "slintcn/components/dialog.slint"; |
|
0 commit comments