@maxsteinwender/sort-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +136 -0
- package/dist/index.d.mts +2238 -0
- package/dist/index.d.ts +2238 -0
- package/dist/index.js +13871 -0
- package/dist/index.mjs +13505 -0
- package/dist/styles.css +21436 -0
- package/dist/tailwind-preset.d.mts +5 -0
- package/dist/tailwind-preset.d.ts +5 -0
- package/dist/tailwind-preset.js +498 -0
- package/dist/tailwind-preset.mjs +496 -0
- package/package.json +119 -0
package/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Sort UI Design System
|
|
2
|
+
|
|
3
|
+
A coded design system based on the [Sort UI Kit](https://sortui.company) — Figma components translated into production-ready Next.js components, documented in Storybook.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
| | |
|
|
8
|
+
|---|---|
|
|
9
|
+
| **Components** | 106 UI components across 26 categories |
|
|
10
|
+
| **Stories** | 93 interactive Storybook stories + 10 documentation pages |
|
|
11
|
+
| **Themes** | 4 themes (2 color schemes x light/dark) |
|
|
12
|
+
| **Source** | [Sort UI Kit 1.3](https://sortui.company) (Figma) |
|
|
13
|
+
| **Storybook** | [Live Documentation](http://localhost:6006) |
|
|
14
|
+
|
|
15
|
+
## Tech Stack
|
|
16
|
+
|
|
17
|
+
- **Framework:** Next.js 16 (App Router), TypeScript
|
|
18
|
+
- **Styling:** Tailwind CSS v3 + CSS custom properties (design tokens)
|
|
19
|
+
- **Components:** shadcn/ui (restyled with Sort UI tokens)
|
|
20
|
+
- **Icons:** Remix Icons
|
|
21
|
+
- **Documentation:** Storybook 10
|
|
22
|
+
- **Charts:** Recharts
|
|
23
|
+
- **Rich Text:** Lexical Editor
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Clone & install
|
|
29
|
+
git clone <repo-url> sort-ui-design-system
|
|
30
|
+
cd sort-ui-design-system
|
|
31
|
+
npm install
|
|
32
|
+
|
|
33
|
+
# Start Storybook (main entry point)
|
|
34
|
+
npm run storybook
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Open [http://localhost:6006](http://localhost:6006) to browse all components.
|
|
38
|
+
|
|
39
|
+
## Theme System
|
|
40
|
+
|
|
41
|
+
Sort UI supports 4 themes built on two color schemes:
|
|
42
|
+
|
|
43
|
+
| Theme | Base | Accent | Mode |
|
|
44
|
+
|-------|------|--------|------|
|
|
45
|
+
| Theme 1 Light | Zinc | Blue | `light` |
|
|
46
|
+
| Theme 1 Dark | Zinc | Blue | `dark` |
|
|
47
|
+
| Theme 2 Light | Neutral | Orange | `theme-2` |
|
|
48
|
+
| Theme 2 Dark | Neutral | Orange | `theme-2-dark` |
|
|
49
|
+
|
|
50
|
+
Themes are applied via CSS classes on the root element. Switch between them in Storybook using the theme toolbar.
|
|
51
|
+
|
|
52
|
+
## Component Categories
|
|
53
|
+
|
|
54
|
+
| Category | Components |
|
|
55
|
+
|----------|-----------|
|
|
56
|
+
| **Actions** | Button, ButtonGroup, LinkButton, ControlButton, FilterButton, SocialButton |
|
|
57
|
+
| **Avatar** | Avatar, AvatarGroup, AvatarButton, AvatarUpload |
|
|
58
|
+
| **Badge** | Badge, StatusBadge, Chip, Label |
|
|
59
|
+
| **Charts** | LineChart, BarChart, DonutChart, PieChart |
|
|
60
|
+
| **Checkbox** | Checkbox, CheckboxWithText, CheckboxList, CheckboxCard |
|
|
61
|
+
| **Date Picker** | DatePicker (Calendar, Range, Popover compositions) |
|
|
62
|
+
| **Feedback** | Tooltip, InlineTips, EmptyState, Divider |
|
|
63
|
+
| **File Upload** | FileUploadArea, FileUploadCard, FileUpload (composition) |
|
|
64
|
+
| **Forms** | InputField, InputButton, InputCaption, TextAreaField, SelectInput |
|
|
65
|
+
| **Grid Table** | GridTableHeaderItem, GridTableSlotItem, GridTableRow |
|
|
66
|
+
| **Navigation** | Breadcrumb, Paginator, DropdownMenu, Sidebar, SidebarCard |
|
|
67
|
+
| **Progress** | ProgressBar, RadialProgressBar |
|
|
68
|
+
| **Radio** | RadioButton, RadioButtonWithText, RadioButtonList, RadioButtonCard |
|
|
69
|
+
| **Selection** | ToggleGroup, SelectMenu, SelectMenuItem |
|
|
70
|
+
| **Slider** | Slider, SliderRange, DataRangeSlider, SliderInput, SliderRangeInput |
|
|
71
|
+
| **Stepper** | HorizontalStepper, VerticalStepper, StepperIcon, StepperNumber |
|
|
72
|
+
| **Switch** | Switch, SwitchWithText, SwitchList |
|
|
73
|
+
| **Table** | TableHeaderItem, TableItem, TableRowSort, TablePagination, TableSkeletonRow |
|
|
74
|
+
| **Tabs** | TabItem, TabList, UnderlineTabItem, UnderlineTabs |
|
|
75
|
+
| **Code** | CodeBlock, MarkdownEditor |
|
|
76
|
+
| **Layout** | Userbar, SidebarMenuItem, AccordionItem |
|
|
77
|
+
|
|
78
|
+
## Project Structure
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
sort-ui-design-system/
|
|
82
|
+
├── src/
|
|
83
|
+
│ ├── components/
|
|
84
|
+
│ │ └── ui/ # 106 restyled shadcn/ui components
|
|
85
|
+
│ ├── stories/ # 93 Storybook stories + 10 MDX docs
|
|
86
|
+
│ ├── tokens/ # Figma token exports (JSON)
|
|
87
|
+
│ └── app/ # Next.js app (redirects to Storybook)
|
|
88
|
+
├── .storybook/ # Storybook configuration
|
|
89
|
+
├── features/ # Component specs (PROJ-1 to PROJ-85)
|
|
90
|
+
├── docs/
|
|
91
|
+
│ ├── PRD.md # Product vision
|
|
92
|
+
│ └── COMPONENT-PATTERNS.md # Token & code patterns reference
|
|
93
|
+
└── public/
|
|
94
|
+
├── fonts/ # Redaction font files
|
|
95
|
+
├── icons/ # Brand & file type icons
|
|
96
|
+
└── userpics/ # Demo avatar images
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Scripts
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm run storybook # Start Storybook (port 6006)
|
|
103
|
+
npm run build-storybook # Build static Storybook
|
|
104
|
+
npm run dev # Next.js dev server
|
|
105
|
+
npm run build # Next.js production build
|
|
106
|
+
npm run lint # ESLint
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Design Tokens
|
|
110
|
+
|
|
111
|
+
Tokens are exported from Figma and converted to CSS custom properties. The token layer maps Sort UI's design decisions to Tailwind utility classes:
|
|
112
|
+
|
|
113
|
+
- **Colors:** Semantic tokens (background, foreground, primary, muted, etc.)
|
|
114
|
+
- **Shadows:** shadow-default, shadow-card, shadow-focus, shadow-popover
|
|
115
|
+
- **Typography:** Geist (sans) + Geist Mono + Redaction (display)
|
|
116
|
+
- **Spacing & Radius:** Consistent scale via Tailwind config
|
|
117
|
+
|
|
118
|
+
See `docs/COMPONENT-PATTERNS.md` for the complete token mapping reference.
|
|
119
|
+
|
|
120
|
+
## Sort UI Ecosystem
|
|
121
|
+
|
|
122
|
+
This coded design system is one part of the Sort UI ecosystem:
|
|
123
|
+
|
|
124
|
+
- **Figma UI Kit** — [Sort UI 1.3](https://sortui.company) — Design source of truth
|
|
125
|
+
- **Coded Design System** — This repo — Production-ready components
|
|
126
|
+
- **Framer Kit** — [Sort UI Framer](https://sortui.company/framer) — No-code website builder components
|
|
127
|
+
|
|
128
|
+
## Credits
|
|
129
|
+
|
|
130
|
+
- **Sort UI Kit** by [sortui.company](https://sortui.company) — The Figma design system this project is based on
|
|
131
|
+
- **shadcn/ui** — Component primitives
|
|
132
|
+
- **Remix Icons** — Icon library
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
|
|
136
|
+
Private project. Sort UI Kit license applies to design tokens and visual design.
|