shadcn-glass-ui 2.0.5 โ 2.0.8
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 +162 -793
- package/dist/shadcn-glass-ui.css +1 -1
- package/docs/ADVANCED_PATTERNS.md +408 -0
- package/docs/AI_USAGE.md +31 -0
- package/docs/BREAKING_CHANGES.md +213 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,147 +1,43 @@
|
|
|
1
1
|
# shadcn-glass-ui
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/shadcn-glass-ui)
|
|
5
|
-
[](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/main/LICENSE)
|
|
6
|
-
[](https://github.com/Yhooi2/shadcn-glass-ui-library/actions)
|
|
7
|
-
[](https://bundlephobia.com/package/shadcn-glass-ui)
|
|
8
|
-
[](https://www.typescriptlang.org/)
|
|
9
|
-
[](https://reactjs.org/)
|
|
10
|
-
[](https://tailwindcss.com/)
|
|
11
|
-
[](docs/AI_USAGE.md)
|
|
12
|
-
[](docs/AI_USAGE.md)
|
|
13
|
-
[](docs/AI_USAGE.md)
|
|
14
|
-
[](https://context7.com/yhooi2/shadcn-glass-ui-library)
|
|
15
|
-
|
|
16
|
-
Glassmorphism UI library for React - AI-friendly with 58 components, strict TypeScript, and
|
|
17
|
-
comprehensive docs.
|
|
18
|
-
|
|
19
|
-
## โจ Highlights
|
|
20
|
-
|
|
21
|
-
- ๐จ **58 Components** - Core UI (18) + Atomic (7) + Composite (13) + Sections (7) + Specialized
|
|
22
|
-
(10) + Primitives (3)
|
|
23
|
-
- ๐ช **StepperGlass** - NEW compound stepper component with 3 variants (numbered, icon, dots)
|
|
24
|
-
- ๐ **3 Themes** - Glass (dark glassmorphism), Light (clean minimal), Aurora (gradient glow)
|
|
25
|
-
- ๐จ **3-Layer Token System** - 207 primitive tokens, zero hardcoded colors, 15-minute theme
|
|
26
|
-
creation
|
|
27
|
-
- ๐ค **AI-Friendly** - Optimized for Claude Code, Copilot, GPT with comprehensive docs
|
|
28
|
-
- ๐ฎ **Advanced Patterns** - asChild polymorphic rendering, Compound components (Modal, Tabs,
|
|
29
|
-
Stepper)
|
|
30
|
-
- โฟ **WCAG 2.1 AA** - Full accessibility compliance with automated testing
|
|
31
|
-
- ๐ฑ **Touch Optimized** - 44ร44px minimum touch targets (Apple HIG)
|
|
32
|
-
- โก **Modern Stack** - React 19, Tailwind v4, Vitest 4, Storybook 10, Vite 7
|
|
33
|
-
- ๐งช **~1570+ Tests** - 650+ compliance + 802 visual regression + 125 unit tests
|
|
34
|
-
- ๐ฆ **shadcn Compatible** - Works seamlessly with existing shadcn/ui projects
|
|
35
|
-
- ๐ฏ **Design System** - Comprehensive [UI_DESIGN.md](docs/design-system/UI_DESIGN.md)
|
|
36
|
-
specifications
|
|
37
|
-
- ๐ฆ **Bundle Size** - ~110KB gzipped (production build)
|
|
38
|
-
- ๐ **Data Visualization** - SparklineGlass for compact time series, InsightCardGlass for analytics
|
|
39
|
-
|
|
40
|
-
## Tech Stack
|
|
41
|
-
|
|
42
|
-
- **React 19.2** - Server Components, React Compiler, automatic batching
|
|
43
|
-
- **TypeScript 5.9** - Strict type checking
|
|
44
|
-
- **Tailwind CSS 4.1** - CSS-first configuration with CSS variables
|
|
45
|
-
- **Vite 7** (rolldown-vite) - Rust-powered bundler
|
|
46
|
-
- **Storybook 10.1** - Component workshop with ESM-only architecture
|
|
47
|
-
- **Vitest 4.0** - Browser mode testing with visual regression
|
|
48
|
-
|
|
49
|
-
See [DEPENDENCIES.md](DEPENDENCIES.md) for detailed dependency documentation.
|
|
50
|
-
|
|
51
|
-
## ๐จ Design System
|
|
52
|
-
|
|
53
|
-
- **Token Architecture** - [3-layer CSS token system](docs/TOKEN_ARCHITECTURE.md) with 207 OKLCH
|
|
54
|
-
primitives
|
|
55
|
-
- **Theme Creation** - Create production-ready themes in [15 minutes](docs/THEME_CREATION_GUIDE.md)
|
|
56
|
-
- **Zero Hardcoded Colors** - 100% CSS variable coverage across all components
|
|
57
|
-
- **Rapid Theming** - 90% faster theme creation (2-3 hours โ 10-15 minutes)
|
|
58
|
-
- **Complete Documentation** - [CSS Variables Audit](docs/CSS_VARIABLES_AUDIT.md) with 296+
|
|
59
|
-
variables per theme
|
|
60
|
-
- **Migration Support** - [Automated migration tools](docs/migration/CSS_VARIABLES_MIGRATION_2.0.md)
|
|
61
|
-
for v2.0.0
|
|
62
|
-
|
|
63
|
-
## ๐ค AI Assistant Support
|
|
64
|
-
|
|
65
|
-
This library is **optimized for AI coding assistants** including Claude Code, GitHub Copilot, and
|
|
66
|
-
ChatGPT:
|
|
67
|
-
|
|
68
|
-
- ๐ **Dedicated AI Guide** - [AI_USAGE.md](docs/AI_USAGE.md) with decision trees and workflows
|
|
69
|
-
- ๐ฏ **TypeScript Strict Mode** - Full type inference for autocomplete
|
|
70
|
-
- ๐ **Rich JSDoc** - Every component documented with @example, @accessibility
|
|
71
|
-
- ๐๏ธ **Component Catalog** - [COMPONENTS_CATALOG.md](docs/COMPONENTS_CATALOG.md) with searchable
|
|
72
|
-
index
|
|
73
|
-
- ๐ **Exports Map** - Machine-readable [EXPORTS_MAP.json](docs/EXPORTS_MAP.json)
|
|
74
|
-
- ๐งช **Real-World Examples** - Use-case based Storybook stories
|
|
75
|
-
- ๐ฆ **shadcn CLI Compatible** - Install components via
|
|
76
|
-
`npx shadcn add @shadcn-glass-ui/button-glass`
|
|
77
|
-
- ๐ **Context7 Indexed** - Discoverable via
|
|
78
|
-
[Context7 MCP](https://context7.com/yhooi2/shadcn-glass-ui-library) for AI assistants
|
|
79
|
-
|
|
80
|
-
[**โ Read AI Usage Guide**](docs/AI_USAGE.md) |
|
|
81
|
-
[**โ Component Catalog**](docs/COMPONENTS_CATALOG.md)
|
|
82
|
-
|
|
83
|
-
## ๐ค AI Tools Integration
|
|
84
|
-
|
|
85
|
-
This library is indexed and optimized for multiple AI development tools:
|
|
86
|
-
|
|
87
|
-
- **[Context7](https://context7.com/yhooi2/shadcn-glass-ui-library)** - MCP server integration with
|
|
88
|
-
59 AI-specific rules
|
|
89
|
-
- **Claude Code** - Optimized with [CLAUDE.md](CLAUDE.md) and project-specific instructions
|
|
90
|
-
- **GitHub Copilot** - TypeScript strict mode + comprehensive JSDoc annotations
|
|
91
|
-
- **ChatGPT/GPT-4** - Machine-readable [EXPORTS_MAP.json](docs/EXPORTS_MAP.json) with component
|
|
92
|
-
metadata
|
|
93
|
-
|
|
94
|
-
**Features for AI assistants:**
|
|
95
|
-
|
|
96
|
-
- ๐ฏ Decision trees for installation methods ([AI_USAGE.md](docs/AI_USAGE.md))
|
|
97
|
-
- ๐ 59 Context7 rules covering breaking changes, compound APIs, token system
|
|
98
|
-
- ๐ Searchable component catalog with fuzzy matching support
|
|
99
|
-
- ๐ฆ Machine-readable exports with props, variants, and keywords
|
|
100
|
-
- ๐งช Test coverage metadata for quality assurance
|
|
101
|
-
|
|
102
|
-
## ๐ฅ๏ธ CLI
|
|
103
|
-
|
|
104
|
-
Explore components directly from the command line:
|
|
3
|
+
<div align="center">
|
|
105
4
|
|
|
106
|
-
|
|
107
|
-
# Get component info (fuzzy search supported)
|
|
108
|
-
npx shadcn-glass-ui info ButtonGlass
|
|
109
|
-
npx shadcn-glass-ui info button
|
|
110
|
-
npx shadcn-glass-ui info modal
|
|
5
|
+
**Glassmorphism UI components for React** โ drop-in shadcn/ui compatible, AI-optimized
|
|
111
6
|
|
|
112
|
-
|
|
113
|
-
|
|
7
|
+
**[๐จ View Live Demo](https://yhooi2.github.io/shadcn-glass-ui-library/)** |
|
|
8
|
+
**[๐ Interactive Storybook](https://yhooi2.github.io/shadcn-glass-ui-library/)** |
|
|
9
|
+
**[๐ฆ npm Package](https://www.npmjs.com/package/shadcn-glass-ui)**
|
|
114
10
|
|
|
115
|
-
|
|
116
|
-
npx shadcn-glass-ui list --category=core
|
|
117
|
-
npx shadcn-glass-ui list --category=composite
|
|
11
|
+
</div>
|
|
118
12
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
13
|
+
[](https://www.npmjs.com/package/shadcn-glass-ui)
|
|
14
|
+
[](https://www.npmjs.com/package/shadcn-glass-ui)
|
|
15
|
+
[](https://www.typescriptlang.org/)
|
|
16
|
+
[](docs/AI_USAGE.md)
|
|
122
17
|
|
|
123
|
-
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## At a Glance
|
|
124
21
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
- [Migration Guides](docs/migration/) - Upgrade and API changes
|
|
22
|
+
| Feature | Details |
|
|
23
|
+
| ----------------- | --------------------------------------------------------------------------------------- |
|
|
24
|
+
| **Components** | 58 total: 18 Core + 7 Atomic + 13 Composite + 7 Section + 10 Specialized + 3 Primitives |
|
|
25
|
+
| **Themes** | Glass (dark), Light (clean), Aurora (gradient) |
|
|
26
|
+
| **Stack** | React 19, TypeScript 5.9, Tailwind 4.1, Vite 7 |
|
|
27
|
+
| **Testing** | 1,570+ tests (802 visual + 650 compliance + 125 unit) |
|
|
28
|
+
| **AI Support** | Optimized for Claude, Copilot, GPT โ [AI Guide](docs/AI_USAGE.md) |
|
|
29
|
+
| **Accessibility** | WCAG 2.1 AA, 44px touch targets, keyboard navigation |
|
|
30
|
+
| **Bundle Size** | ~110KB gzipped |
|
|
135
31
|
|
|
136
|
-
|
|
32
|
+
---
|
|
137
33
|
|
|
138
|
-
|
|
34
|
+
## Quick Start
|
|
139
35
|
|
|
140
|
-
### Option 1:
|
|
36
|
+
### Option 1: shadcn CLI (Recommended)
|
|
141
37
|
|
|
142
|
-
**Listed on [registry.directory](https://registry.directory)
|
|
38
|
+
**For existing shadcn/ui projects.** Listed on [registry.directory](https://registry.directory).
|
|
143
39
|
|
|
144
|
-
|
|
40
|
+
1. Add registry to `components.json`:
|
|
145
41
|
|
|
146
42
|
```json
|
|
147
43
|
{
|
|
@@ -153,769 +49,242 @@ Configure your `components.json`:
|
|
|
153
49
|
}
|
|
154
50
|
```
|
|
155
51
|
|
|
156
|
-
Install components
|
|
52
|
+
2. Install components:
|
|
157
53
|
|
|
158
54
|
```bash
|
|
159
|
-
|
|
160
|
-
npx shadcn@latest add @shadcn-glass-ui/button-glass
|
|
161
|
-
|
|
162
|
-
# Multiple components
|
|
163
|
-
npx shadcn@latest add @shadcn-glass-ui/button-glass @shadcn-glass-ui/input-glass @shadcn-glass-ui/modal-glass
|
|
164
|
-
|
|
165
|
-
# With automatic dependencies
|
|
166
|
-
npx shadcn@latest add @shadcn-glass-ui/button-glass --deps
|
|
55
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass @shadcn-glass-ui/input-glass
|
|
167
56
|
```
|
|
168
57
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
- โ
Automatic dependency installation
|
|
172
|
-
- โ
Type-safe CLI workflow
|
|
173
|
-
- โ
Compatible with existing shadcn/ui projects
|
|
174
|
-
- โ
58 components available
|
|
175
|
-
|
|
176
|
-
**[โ Full Registry Documentation](docs/REGISTRY_USAGE.md)**
|
|
58
|
+
[Full Registry Guide](docs/REGISTRY_USAGE.md)
|
|
177
59
|
|
|
178
60
|
### Option 2: npm Package
|
|
179
61
|
|
|
180
|
-
|
|
62
|
+
**For new projects.**
|
|
181
63
|
|
|
182
64
|
```bash
|
|
183
65
|
npm install shadcn-glass-ui
|
|
184
66
|
```
|
|
185
67
|
|
|
186
|
-
**[โ npm Installation Guide](docs/GETTING_STARTED.md)**
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## ๐ Quick Start
|
|
191
|
-
|
|
192
|
-
**Requirements:**
|
|
193
|
-
|
|
194
|
-
- React 18.0+ or 19.0+
|
|
195
|
-
- React-DOM 18.0+ or 19.0+
|
|
196
|
-
- Tailwind CSS 4.0+
|
|
197
|
-
|
|
198
|
-
### Basic Usage
|
|
199
|
-
|
|
200
68
|
```tsx
|
|
201
|
-
import { ButtonGlass,
|
|
69
|
+
import { ButtonGlass, ThemeProvider } from 'shadcn-glass-ui';
|
|
202
70
|
import 'shadcn-glass-ui/dist/styles.css';
|
|
203
71
|
|
|
204
72
|
function App() {
|
|
205
73
|
return (
|
|
206
74
|
<ThemeProvider defaultTheme="glass">
|
|
207
|
-
<
|
|
208
|
-
<ButtonGlass variant="primary" size="lg">
|
|
209
|
-
Click me
|
|
210
|
-
</ButtonGlass>
|
|
211
|
-
<InputGlass placeholder="Enter text..." />
|
|
212
|
-
</div>
|
|
75
|
+
<ButtonGlass variant="primary">Click me</ButtonGlass>
|
|
213
76
|
</ThemeProvider>
|
|
214
77
|
);
|
|
215
78
|
}
|
|
216
|
-
|
|
217
|
-
export default App;
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
## ๐ Advanced Features (Phase 3)
|
|
221
|
-
|
|
222
|
-
### asChild Pattern
|
|
223
|
-
|
|
224
|
-
Polymorphic rendering with Radix UI Slot - render components as any element:
|
|
225
|
-
|
|
226
|
-
```tsx
|
|
227
|
-
import { ButtonGlass } from 'shadcn-glass-ui';
|
|
228
|
-
import { Link } from 'react-router-dom';
|
|
229
|
-
|
|
230
|
-
// Render button as Link
|
|
231
|
-
<ButtonGlass asChild>
|
|
232
|
-
<Link to="/profile">View Profile</Link>
|
|
233
|
-
</ButtonGlass>
|
|
234
|
-
|
|
235
|
-
// Render button as anchor
|
|
236
|
-
<ButtonGlass asChild variant="primary">
|
|
237
|
-
<a href="https://example.com" target="_blank">
|
|
238
|
-
External Link
|
|
239
|
-
</a>
|
|
240
|
-
</ButtonGlass>
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
**Supported components:** `ButtonGlass`, `AvatarGlass`, `GlassCard`
|
|
244
|
-
|
|
245
|
-
### Compound Components
|
|
246
|
-
|
|
247
|
-
Fine-grained composition for complex components:
|
|
248
|
-
|
|
249
|
-
```tsx
|
|
250
|
-
import { ModalGlass, TabsGlass } from 'shadcn-glass-ui';
|
|
251
|
-
|
|
252
|
-
// ModalGlass Compound API
|
|
253
|
-
<ModalGlass.Root open={open} onOpenChange={setOpen}>
|
|
254
|
-
<ModalGlass.Overlay />
|
|
255
|
-
<ModalGlass.Content>
|
|
256
|
-
<ModalGlass.Header>
|
|
257
|
-
<ModalGlass.Title>Confirm Action</ModalGlass.Title>
|
|
258
|
-
<ModalGlass.Description>
|
|
259
|
-
This action cannot be undone
|
|
260
|
-
</ModalGlass.Description>
|
|
261
|
-
<ModalGlass.Close />
|
|
262
|
-
</ModalGlass.Header>
|
|
263
|
-
<ModalGlass.Body>
|
|
264
|
-
<p>Content here...</p>
|
|
265
|
-
</ModalGlass.Body>
|
|
266
|
-
<ModalGlass.Footer>
|
|
267
|
-
<ButtonGlass onClick={() => setOpen(false)}>Cancel</ButtonGlass>
|
|
268
|
-
<ButtonGlass variant="primary">Confirm</ButtonGlass>
|
|
269
|
-
</ModalGlass.Footer>
|
|
270
|
-
</ModalGlass.Content>
|
|
271
|
-
</ModalGlass.Root>
|
|
272
|
-
|
|
273
|
-
// TabsGlass Compound API
|
|
274
|
-
<TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
|
|
275
|
-
<TabsGlass.List>
|
|
276
|
-
<TabsGlass.Trigger value="tab1">Overview</TabsGlass.Trigger>
|
|
277
|
-
<TabsGlass.Trigger value="tab2">Analytics</TabsGlass.Trigger>
|
|
278
|
-
</TabsGlass.List>
|
|
279
|
-
<TabsGlass.Content value="tab1">
|
|
280
|
-
<p>Overview content</p>
|
|
281
|
-
</TabsGlass.Content>
|
|
282
|
-
<TabsGlass.Content value="tab2">
|
|
283
|
-
<p>Analytics content</p>
|
|
284
|
-
</TabsGlass.Content>
|
|
285
|
-
</TabsGlass.Root>
|
|
286
79
|
```
|
|
287
80
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
**v2.0.0 removes deprecated CSS variables.** This is a major version bump due to breaking changes in
|
|
291
|
-
theming.
|
|
292
|
-
|
|
293
|
-
### Removed CSS Variables
|
|
294
|
-
|
|
295
|
-
The following CSS variable names have been **REMOVED** in v2.0.0:
|
|
296
|
-
|
|
297
|
-
| Removed (v1.x) | Replacement (v2.0+) | Semantic Meaning |
|
|
298
|
-
| -------------------- | ------------------------ | --------------------------------- |
|
|
299
|
-
| `--metric-emerald-*` | `--metric-success-*` | Success states (positive metrics) |
|
|
300
|
-
| `--metric-amber-*` | `--metric-warning-*` | Warning states (attention needed) |
|
|
301
|
-
| `--metric-blue-*` | `--metric-default-*` | Neutral/default states |
|
|
302
|
-
| `--metric-red-*` | `--metric-destructive-*` | Error/danger states (critical) |
|
|
303
|
-
|
|
304
|
-
**Total removed:** 16 variables (4 color families ร 4 properties each: bg, text, border, glow)
|
|
305
|
-
|
|
306
|
-
### Why This Change?
|
|
307
|
-
|
|
308
|
-
- **Semantic Clarity**: Color names (emerald, amber, blue, red) โ semantic roles (success, warning,
|
|
309
|
-
default, destructive)
|
|
310
|
-
- **shadcn/ui Compatibility**: Aligns with shadcn/ui variant naming conventions
|
|
311
|
-
- **Consistency**: Matches AlertGlass/BadgeGlass/ButtonGlass variant prop values
|
|
312
|
-
- **Token Architecture**: Part of the 3-layer token system migration
|
|
313
|
-
|
|
314
|
-
### Migration Guide
|
|
315
|
-
|
|
316
|
-
**Automated Migration (Recommended):**
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
# macOS/BSD
|
|
320
|
-
find src/ -type f \( -name "*.tsx" -o -name "*.ts" -o -name "*.css" \) -exec sed -i '' \
|
|
321
|
-
-e 's/--metric-emerald-/--metric-success-/g' \
|
|
322
|
-
-e 's/--metric-amber-/--metric-warning-/g' \
|
|
323
|
-
-e 's/--metric-blue-/--metric-default-/g' \
|
|
324
|
-
-e 's/--metric-red-/--metric-destructive-/g' \
|
|
325
|
-
{} +
|
|
326
|
-
|
|
327
|
-
# Linux
|
|
328
|
-
find src/ -type f \( -name "*.tsx" -o -name "*.ts" -o -name "*.css" \) -exec sed -i \
|
|
329
|
-
-e 's/--metric-emerald-/--metric-success-/g' \
|
|
330
|
-
-e 's/--metric-amber-/--metric-warning-/g' \
|
|
331
|
-
-e 's/--metric-blue-/--metric-default-/g' \
|
|
332
|
-
-e 's/--metric-red-/--metric-destructive-/g' \
|
|
333
|
-
{} +
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
**Example:**
|
|
337
|
-
|
|
338
|
-
```css
|
|
339
|
-
/* โ v1.x (REMOVED in v2.0) */
|
|
340
|
-
.metric-card-success {
|
|
341
|
-
background: var(--metric-emerald-bg);
|
|
342
|
-
color: var(--metric-emerald-text);
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/* โ
v2.0+ */
|
|
346
|
-
.metric-card-success {
|
|
347
|
-
background: var(--metric-success-bg);
|
|
348
|
-
color: var(--metric-success-text);
|
|
349
|
-
}
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
**[โ Complete Migration Guide](docs/migration/CSS_VARIABLES_MIGRATION_2.0.md)** - Includes manual
|
|
353
|
-
examples, troubleshooting, and affected components.
|
|
354
|
-
|
|
355
|
-
### New in v2.0.0
|
|
356
|
-
|
|
357
|
-
**Token Architecture:**
|
|
358
|
-
|
|
359
|
-
- **3-Layer System**: Primitive โ Semantic โ Component tokens
|
|
360
|
-
- **207 Primitive Tokens**: Complete OKLCH color palette in `oklch-primitives.css`
|
|
361
|
-
- **Zero Hardcoded Colors**: 100% migration to CSS variables (98โ0 in glass.css)
|
|
362
|
-
- **Theme Creation**: 90% faster (2-3 hours โ 10-15 minutes)
|
|
363
|
-
|
|
364
|
-
**New Components:**
|
|
365
|
-
|
|
366
|
-
- **StepperGlass** - Compound stepper with 3 variants (numbered, icon, dots), 2 orientations, linear
|
|
367
|
-
mode
|
|
368
|
-
|
|
369
|
-
**Custom Hooks (Exported):**
|
|
370
|
-
|
|
371
|
-
- `useFocus`, `useHover`, `useResponsive`, `useWallpaperTint`
|
|
372
|
-
|
|
373
|
-
**Documentation:**
|
|
374
|
-
|
|
375
|
-
- [TOKEN_ARCHITECTURE.md](docs/TOKEN_ARCHITECTURE.md) - Complete token system guide (365 lines)
|
|
376
|
-
- [THEME_CREATION_GUIDE.md](docs/THEME_CREATION_GUIDE.md) - Create themes in 15 minutes (455 lines)
|
|
377
|
-
- [CSS_VARIABLES_AUDIT.md](docs/CSS_VARIABLES_AUDIT.md) - Complete audit of 296+ variables per theme
|
|
81
|
+
[Getting Started Guide](docs/GETTING_STARTED.md)
|
|
378
82
|
|
|
379
83
|
---
|
|
380
84
|
|
|
381
|
-
##
|
|
382
|
-
|
|
383
|
-
**v1.0.0 removes all legacy/deprecated APIs.** This is a clean slate release with only Compound API
|
|
384
|
-
support.
|
|
385
|
-
|
|
386
|
-
### Removed Components
|
|
387
|
-
|
|
388
|
-
#### SelectGlass (Removed in v1.0.0)
|
|
389
|
-
|
|
390
|
-
**SelectGlass has been removed.** Use **ComboBoxGlass** instead.
|
|
391
|
-
|
|
392
|
-
```tsx
|
|
393
|
-
// โ Removed in v1.0.0
|
|
394
|
-
<SelectGlass
|
|
395
|
-
options={options}
|
|
396
|
-
value={value}
|
|
397
|
-
onChange={setValue}
|
|
398
|
-
placeholder="Select option"
|
|
399
|
-
/>
|
|
400
|
-
|
|
401
|
-
// โ
Use ComboBoxGlass
|
|
402
|
-
<ComboBoxGlass
|
|
403
|
-
options={options}
|
|
404
|
-
value={value}
|
|
405
|
-
onChange={setValue}
|
|
406
|
-
placeholder="Select option"
|
|
407
|
-
/>
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
### Removed Legacy APIs
|
|
411
|
-
|
|
412
|
-
#### ModalGlass: Legacy Props API Removed
|
|
413
|
-
|
|
414
|
-
**The old props-based API has been removed.** Use Compound API instead.
|
|
415
|
-
|
|
416
|
-
```tsx
|
|
417
|
-
// โ Removed in v1.0.0
|
|
418
|
-
<ModalGlass isOpen={true} onClose={() => {}} title="Test">
|
|
419
|
-
Content
|
|
420
|
-
</ModalGlass>
|
|
421
|
-
|
|
422
|
-
// โ
Use Compound API
|
|
423
|
-
<ModalGlass.Root open={true} onOpenChange={() => {}}>
|
|
424
|
-
<ModalGlass.Overlay />
|
|
425
|
-
<ModalGlass.Content>
|
|
426
|
-
<ModalGlass.Header>
|
|
427
|
-
<ModalGlass.Title>Test</ModalGlass.Title>
|
|
428
|
-
<ModalGlass.Close />
|
|
429
|
-
</ModalGlass.Header>
|
|
430
|
-
<ModalGlass.Body>Content</ModalGlass.Body>
|
|
431
|
-
</ModalGlass.Content>
|
|
432
|
-
</ModalGlass.Root>
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
**Key Changes:**
|
|
436
|
-
|
|
437
|
-
- `isOpen` โ `open` (on ModalGlass.Root)
|
|
438
|
-
- `onClose` โ `onOpenChange` (callback signature changed from `() => void` to
|
|
439
|
-
`(open: boolean) => void`)
|
|
440
|
-
- `title` prop removed โ use `<ModalGlass.Title>` component
|
|
441
|
-
- Manual structure required (Overlay, Content, Header, Body, Footer)
|
|
442
|
-
|
|
443
|
-
#### TabsGlass: Legacy Props API Removed
|
|
444
|
-
|
|
445
|
-
**The old props-based API has been removed.** Use Compound API instead.
|
|
446
|
-
|
|
447
|
-
```tsx
|
|
448
|
-
// โ Removed in v1.0.0
|
|
449
|
-
<TabsGlass
|
|
450
|
-
tabs={[
|
|
451
|
-
{ id: 'tab1', label: 'Tab 1' },
|
|
452
|
-
{ id: 'tab2', label: 'Tab 2' }
|
|
453
|
-
]}
|
|
454
|
-
activeTab="tab1"
|
|
455
|
-
onChange={setActiveTab}
|
|
456
|
-
/>
|
|
457
|
-
|
|
458
|
-
// โ
Use Compound API
|
|
459
|
-
<TabsGlass.Root value="tab1" onValueChange={setActiveTab}>
|
|
460
|
-
<TabsGlass.List>
|
|
461
|
-
<TabsGlass.Trigger value="tab1">Tab 1</TabsGlass.Trigger>
|
|
462
|
-
<TabsGlass.Trigger value="tab2">Tab 2</TabsGlass.Trigger>
|
|
463
|
-
</TabsGlass.List>
|
|
464
|
-
<TabsGlass.Content value="tab1">Content 1</TabsGlass.Content>
|
|
465
|
-
<TabsGlass.Content value="tab2">Content 2</TabsGlass.Content>
|
|
466
|
-
</TabsGlass.Root>
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
**Key Changes:**
|
|
470
|
-
|
|
471
|
-
- `tabs` array prop removed โ use individual `<TabsGlass.Trigger>` components
|
|
472
|
-
- `activeTab` โ `value` (on TabsGlass.Root)
|
|
473
|
-
- `onChange` โ `onValueChange`
|
|
474
|
-
- Content must be explicitly defined with `<TabsGlass.Content>` for each tab
|
|
85
|
+
## Components
|
|
475
86
|
|
|
476
|
-
###
|
|
87
|
+
### 58 Components Across 5 Categories
|
|
477
88
|
|
|
478
|
-
|
|
89
|
+
**Core UI (18):** ButtonGlass, InputGlass, ModalGlass, TabsGlass, CheckboxGlass, ToggleGlass,
|
|
90
|
+
SliderGlass, DropdownGlass, TooltipGlass, AlertGlass, NotificationGlass, BadgeGlass, AvatarGlass,
|
|
91
|
+
GlassCard, ProgressGlass, CircularProgressGlass, SkeletonGlass, ComboBoxGlass
|
|
479
92
|
|
|
480
|
-
|
|
481
|
-
|
|
93
|
+
**Composite (13):** MetricCardGlass, YearCardGlass, AICardGlass, RepositoryCardGlass,
|
|
94
|
+
TrustScoreDisplayGlass, CircularMetricGlass, UserStatsLineGlass, UserInfoGlass,
|
|
95
|
+
CareerStatsHeaderGlass, ContributionMetricsGlass, MetricsGridGlass, RepositoryHeaderGlass,
|
|
96
|
+
RepositoryMetadataGlass
|
|
482
97
|
|
|
483
|
-
|
|
98
|
+
**Specialized (10):** StatusIndicatorGlass, SegmentedControlGlass, RainbowProgressGlass,
|
|
99
|
+
LanguageBarGlass, ProfileAvatarGlass, FlagAlertGlass, BaseProgressGlass, SparklineGlass,
|
|
100
|
+
StepperGlass (compound API with 3 variants)
|
|
484
101
|
|
|
485
|
-
|
|
102
|
+
**[View All 58 Components โ](docs/COMPONENTS_CATALOG.md)** |
|
|
103
|
+
**[Try in Interactive Storybook โ](https://yhooi2.github.io/shadcn-glass-ui-library/)**
|
|
486
104
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
- **[Getting Started Guide](docs/GETTING_STARTED.md)** - Comprehensive setup tutorial
|
|
490
|
-
- **[AI Usage Guide](docs/AI_USAGE.md)** - Using library with AI assistants (Copilot, Claude, GPT)
|
|
491
|
-
- **[Publishing Guide](docs/PUBLISHING.md)** - Build and publish with TypeScript declarations
|
|
492
|
-
- **[Storybook](https://yhooi2.github.io/shadcn-glass-ui-library/)** - Live component demos
|
|
493
|
-
- **[UI Design System](docs/design-system/UI_DESIGN.md)** - Complete design specifications
|
|
494
|
-
- **[Visual Testing Guide](docs/visual-testing-guide.md)** - Screenshot update workflow
|
|
495
|
-
- **[Migration Guide](MIGRATION_GUIDE.md)** - Upgrading from v1
|
|
496
|
-
- **[Breaking Changes](BREAKING_CHANGES.md)** - API changes log
|
|
497
|
-
- **[Dependencies](DEPENDENCIES.md)** - Detailed dependency docs
|
|
498
|
-
- **[Contributing](CONTRIBUTING.md)** - Development guidelines
|
|
499
|
-
|
|
500
|
-
## ๐ฏ Component Categories
|
|
501
|
-
|
|
502
|
-
### Level 1: Core UI (18 components)
|
|
503
|
-
|
|
504
|
-
Essential building blocks for any application:
|
|
505
|
-
|
|
506
|
-
- **Buttons & Actions**: ButtonGlass
|
|
507
|
-
- **Inputs**: InputGlass, CheckboxGlass, ToggleGlass, SliderGlass, ComboBoxGlass, PopoverGlass
|
|
508
|
-
- **Containers**: GlassCard, ModalGlass
|
|
509
|
-
- **Navigation**: TabsGlass, DropdownGlass
|
|
510
|
-
- **Feedback**: BadgeGlass, AlertGlass, NotificationGlass, TooltipGlass, SkeletonGlass,
|
|
511
|
-
ProgressGlass, CircularProgressGlass
|
|
512
|
-
- **Media**: AvatarGlass
|
|
513
|
-
|
|
514
|
-
[View all Core UI components โ](src/components/glass/ui/)
|
|
515
|
-
|
|
516
|
-
### Level 2: Atomic (7 components)
|
|
517
|
-
|
|
518
|
-
Small, specialized components for specific use cases:
|
|
519
|
-
|
|
520
|
-
- **SearchBoxGlass** - Search input with icon
|
|
521
|
-
- **ThemeToggleGlass** - Theme switcher button
|
|
522
|
-
- **ExpandableHeaderGlass** - Collapsible header section
|
|
523
|
-
- **SortDropdownGlass** - Sorting dropdown menu
|
|
524
|
-
- **StatItemGlass** - Individual stat display
|
|
525
|
-
- **IconButtonGlass** - Icon-only button variant
|
|
526
|
-
- **InsightCardGlass** - Insight display with 7 semantic variants (default, tip, highlight, warning,
|
|
527
|
-
stat, growth, decline)
|
|
528
|
-
|
|
529
|
-
[View all Atomic components โ](src/components/glass/atomic/)
|
|
530
|
-
|
|
531
|
-
### Level 3: Composite (13 components)
|
|
532
|
-
|
|
533
|
-
Pre-built complex components combining multiple elements:
|
|
534
|
-
|
|
535
|
-
- **AICardGlass** - AI summary card with feature list
|
|
536
|
-
- **MetricCardGlass** - Metric display card with progress indicator
|
|
537
|
-
- **YearCardGlass** - Year card for career timeline
|
|
538
|
-
- **CircularMetricGlass** - Circular progress metric display
|
|
539
|
-
- **RepositoryCardGlass** - Repository card with expandable details
|
|
540
|
-
- **RepositoryHeaderGlass** - Repository header with metadata
|
|
541
|
-
- **RepositoryMetadataGlass** - Repository metadata display
|
|
542
|
-
- **TrustScoreDisplayGlass** - Trust score with visual indicator
|
|
543
|
-
- **UserStatsLineGlass** - User statistics horizontal display
|
|
544
|
-
- **UserInfoGlass** - User information card
|
|
545
|
-
- **CareerStatsHeaderGlass** - Career statistics header
|
|
546
|
-
- **ContributionMetricsGlass** - Contribution metrics display
|
|
547
|
-
- **MetricsGridGlass** - Grid layout for metrics
|
|
548
|
-
|
|
549
|
-
[View all Composite components โ](src/components/glass/composite/)
|
|
550
|
-
|
|
551
|
-
### Specialized Components (10 components)
|
|
552
|
-
|
|
553
|
-
Advanced specialized components for specific use cases:
|
|
554
|
-
|
|
555
|
-
- **StatusIndicatorGlass** - Status dots with glow effect
|
|
556
|
-
- **SegmentedControlGlass** - Segmented button group
|
|
557
|
-
- **RainbowProgressGlass** - Rainbow gradient progress bar
|
|
558
|
-
- **LanguageBarGlass** - Language proficiency bar with legend
|
|
559
|
-
- **ProfileAvatarGlass** - Large avatar with glow animation
|
|
560
|
-
- **FlagAlertGlass** - Warning/danger flag alert with icon
|
|
561
|
-
- **ProgressGlass** - Enhanced progress bar
|
|
562
|
-
- **BaseProgressGlass** - Base progress component
|
|
563
|
-
- **SparklineGlass** - Compact bar chart for time series visualization with height/gap variants
|
|
564
|
-
- **StepperGlass** - Compound stepper for multi-step workflows (numbered, icon, dots variants)
|
|
565
|
-
|
|
566
|
-
[View all Specialized components โ](src/components/glass/specialized/)
|
|
567
|
-
|
|
568
|
-
### Level 4: Sections (7 components)
|
|
569
|
-
|
|
570
|
-
Full-page sections ready to use in your application:
|
|
571
|
-
|
|
572
|
-
- **HeaderNavGlass** - Navigation header with search and theme toggle
|
|
573
|
-
- **ProfileHeaderGlass** - User profile header with avatar, stats, and languages
|
|
574
|
-
- **CareerStatsGlass** - Career statistics with expandable year cards
|
|
575
|
-
- **FlagsSectionGlass** - Expandable flags/warnings section
|
|
576
|
-
- **TrustScoreCardGlass** - Trust score display with detailed metrics
|
|
577
|
-
- **ProjectsListGlass** - Projects list with filtering and sorting
|
|
578
|
-
- **HeaderBrandingGlass** - Branded header with logo and navigation
|
|
579
|
-
|
|
580
|
-
[View all Section components โ](src/components/glass/sections/)
|
|
581
|
-
|
|
582
|
-
### Blocks (6 ready-to-use demo sections)
|
|
583
|
-
|
|
584
|
-
Complete component showcases following shadcn/ui pattern - these are demo/documentation components,
|
|
585
|
-
not production-ready blocks:
|
|
105
|
+
---
|
|
586
106
|
|
|
587
|
-
|
|
588
|
-
- **FormElementsBlock** - Input, Slider, Toggle, Checkbox demos
|
|
589
|
-
- **ProgressBlock** - Progress bars, RainbowProgress, Skeletons demo
|
|
590
|
-
- **AvatarGalleryBlock** - Avatar sizes and status indicators demo
|
|
591
|
-
- **BadgesBlock** - Badge variants with tooltips demo
|
|
592
|
-
- **NotificationsBlock** - Notifications and alerts demo
|
|
107
|
+
## Why shadcn-glass-ui?
|
|
593
108
|
|
|
594
|
-
|
|
595
|
-
|
|
109
|
+
| Standard shadcn/ui | shadcn-glass-ui |
|
|
110
|
+
| ------------------ | ------------------------------------------------ |
|
|
111
|
+
| Flat design | Glassmorphism effects (blur, glow, transparency) |
|
|
112
|
+
| Manual theming | 3 built-in themes with token system |
|
|
113
|
+
| Basic components | 58 components including analytics widgets |
|
|
114
|
+
| DIY accessibility | WCAG 2.1 AA + touch targets out of the box |
|
|
115
|
+
| Generic docs | AI-optimized documentation |
|
|
596
116
|
|
|
597
|
-
|
|
117
|
+
**Seamless Integration:** Works alongside existing shadcn/ui components. Same patterns, same CLI.
|
|
598
118
|
|
|
599
|
-
|
|
119
|
+
---
|
|
600
120
|
|
|
601
|
-
|
|
121
|
+
## Component Categories
|
|
602
122
|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
- **MobileShowcase** - Mobile-optimized GitHub profile view with responsive layout
|
|
123
|
+
<details>
|
|
124
|
+
<summary><strong>Core UI (18)</strong> โ Essential building blocks</summary>
|
|
606
125
|
|
|
607
|
-
|
|
126
|
+
ButtonGlass, InputGlass, CheckboxGlass, ToggleGlass, SliderGlass, ModalGlass, TabsGlass,
|
|
127
|
+
DropdownGlass, TooltipGlass, AlertGlass, NotificationGlass, BadgeGlass, AvatarGlass, GlassCard,
|
|
128
|
+
ProgressGlass, CircularProgressGlass, SkeletonGlass, ComboBoxGlass
|
|
608
129
|
|
|
609
|
-
|
|
130
|
+
</details>
|
|
610
131
|
|
|
611
|
-
|
|
132
|
+
<details>
|
|
133
|
+
<summary><strong>Atomic (7)</strong> โ Single-purpose components</summary>
|
|
612
134
|
|
|
613
|
-
|
|
135
|
+
IconButtonGlass, ThemeToggleGlass, SearchBoxGlass, SortDropdownGlass, StatItemGlass,
|
|
136
|
+
ExpandableHeaderGlass, InsightCardGlass
|
|
614
137
|
|
|
615
|
-
|
|
138
|
+
</details>
|
|
616
139
|
|
|
617
|
-
|
|
618
|
-
<
|
|
619
|
-
<ButtonGlass>Glassmorphic Button</ButtonGlass>
|
|
620
|
-
</div>
|
|
621
|
-
```
|
|
140
|
+
<details>
|
|
141
|
+
<summary><strong>Composite (13)</strong> โ Pre-built complex widgets</summary>
|
|
622
142
|
|
|
623
|
-
|
|
143
|
+
MetricCardGlass, YearCardGlass, AICardGlass, RepositoryCardGlass, TrustScoreDisplayGlass,
|
|
144
|
+
CircularMetricGlass, UserStatsLineGlass, UserInfoGlass, CareerStatsHeaderGlass,
|
|
145
|
+
ContributionMetricsGlass, MetricsGridGlass, RepositoryHeaderGlass, RepositoryMetadataGlass
|
|
624
146
|
|
|
625
|
-
|
|
626
|
-
- Dark background with glass overlays
|
|
627
|
-
- Purple gradient accents
|
|
628
|
-
- Glow effects on hover/focus
|
|
147
|
+
</details>
|
|
629
148
|
|
|
630
|
-
|
|
149
|
+
<details>
|
|
150
|
+
<summary><strong>Section (7)</strong> โ Full page sections</summary>
|
|
631
151
|
|
|
632
|
-
|
|
152
|
+
HeaderNavGlass, ProfileHeaderGlass, CareerStatsGlass, FlagsSectionGlass, TrustScoreCardGlass,
|
|
153
|
+
ProjectsListGlass, HeaderBrandingGlass
|
|
633
154
|
|
|
634
|
-
|
|
635
|
-
<div className="theme-light">
|
|
636
|
-
<ButtonGlass>Light Theme Button</ButtonGlass>
|
|
637
|
-
</div>
|
|
638
|
-
```
|
|
155
|
+
</details>
|
|
639
156
|
|
|
640
|
-
|
|
157
|
+
<details>
|
|
158
|
+
<summary><strong>Specialized (10)</strong> โ Advanced components</summary>
|
|
641
159
|
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
- Crisp, modern aesthetic
|
|
160
|
+
StatusIndicatorGlass, SegmentedControlGlass, RainbowProgressGlass, LanguageBarGlass,
|
|
161
|
+
ProfileAvatarGlass, FlagAlertGlass, BaseProgressGlass, SparklineGlass, StepperGlass (compound API
|
|
162
|
+
with 3 variants)
|
|
646
163
|
|
|
647
|
-
|
|
164
|
+
</details>
|
|
648
165
|
|
|
649
|
-
|
|
166
|
+
[Full Component Catalog](docs/COMPONENTS_CATALOG.md)
|
|
650
167
|
|
|
651
|
-
|
|
652
|
-
<div className="theme-aurora">
|
|
653
|
-
<ButtonGlass>Aurora Gradient Button</ButtonGlass>
|
|
654
|
-
</div>
|
|
655
|
-
```
|
|
168
|
+
---
|
|
656
169
|
|
|
657
|
-
|
|
170
|
+
## Themes
|
|
658
171
|
|
|
659
|
-
|
|
660
|
-
- Enhanced glow effects
|
|
661
|
-
- Dynamic backgrounds
|
|
662
|
-
- Eye-catching visuals
|
|
172
|
+
Three built-in themes with seamless switching:
|
|
663
173
|
|
|
664
|
-
|
|
174
|
+
- **Glass (Dark)** โ Frosted glass effects with purple accents, blur + glow, perfect for dashboards
|
|
175
|
+
- **Light** โ Clean minimal design with subtle glass effects for landing pages
|
|
176
|
+
- **Aurora** โ Gradient glow with aurora borealis-inspired colors for creative projects
|
|
665
177
|
|
|
666
178
|
```tsx
|
|
667
|
-
import {
|
|
668
|
-
import { ThemeProvider, useTheme } from '@/lib/theme-context';
|
|
669
|
-
|
|
670
|
-
function App() {
|
|
671
|
-
return (
|
|
672
|
-
<ThemeProvider defaultTheme="glass">
|
|
673
|
-
<YourApp />
|
|
674
|
-
</ThemeProvider>
|
|
675
|
-
);
|
|
676
|
-
}
|
|
179
|
+
import { ThemeProvider, useTheme } from 'shadcn-glass-ui';
|
|
677
180
|
|
|
678
181
|
function ThemeSwitcher() {
|
|
679
|
-
const { theme, setTheme } = useTheme();
|
|
680
|
-
|
|
681
|
-
return (
|
|
682
|
-
<select value={theme} onChange={(e) => setTheme(e.target.value)}>
|
|
683
|
-
<option value="glass">Glass (Dark)</option>
|
|
684
|
-
<option value="light">Light</option>
|
|
685
|
-
<option value="aurora">Aurora</option>
|
|
686
|
-
</select>
|
|
687
|
-
);
|
|
182
|
+
const { theme, cycleTheme, setTheme } = useTheme();
|
|
183
|
+
return <button onClick={cycleTheme}>Current: {theme}</button>;
|
|
688
184
|
}
|
|
689
185
|
```
|
|
690
186
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
GlassCard supports 3 intensity levels for customizable blur effects:
|
|
187
|
+
**[Theme Creation Guide โ](docs/THEME_CREATION_GUIDE.md)** โ Create custom themes in 15 minutes
|
|
188
|
+
**[View All Themes in Storybook โ](https://yhooi2.github.io/shadcn-glass-ui-library/)**
|
|
694
189
|
|
|
695
|
-
|
|
696
|
-
// Subtle glass effect (8px blur)
|
|
697
|
-
<GlassCard intensity="subtle">
|
|
698
|
-
Subtle Effect
|
|
699
|
-
</GlassCard>
|
|
700
|
-
|
|
701
|
-
// Standard glassmorphism (16px blur - default)
|
|
702
|
-
<GlassCard intensity="medium">
|
|
703
|
-
Standard Glass
|
|
704
|
-
</GlassCard>
|
|
705
|
-
|
|
706
|
-
// Strong glass effect (24px blur)
|
|
707
|
-
<GlassCard intensity="strong">
|
|
708
|
-
Strong Effect
|
|
709
|
-
</GlassCard>
|
|
710
|
-
```
|
|
711
|
-
|
|
712
|
-
**Intensity Levels:**
|
|
713
|
-
|
|
714
|
-
- `subtle` - 8px blur (--blur-sm) - Light glass effect
|
|
715
|
-
- `medium` - 16px blur (--blur-md) - Standard cards (default)
|
|
716
|
-
- `strong` - 24px blur (--blur-lg) - Featured cards
|
|
717
|
-
|
|
718
|
-
**Performance Note:** Use sparingly - limit to 2-3 glass elements per view for optimal performance.
|
|
719
|
-
|
|
720
|
-
## โฟ Accessibility
|
|
721
|
-
|
|
722
|
-
All components are WCAG 2.1 AA compliant:
|
|
723
|
-
|
|
724
|
-
- โ
**Keyboard Navigation** - Full Tab/Enter/Arrow key support
|
|
725
|
-
- โ
**Screen Readers** - Proper ARIA labels and roles
|
|
726
|
-
- โ
**Focus Indicators** - Visible focus rings (2px inner + 4px outer)
|
|
727
|
-
- โ
**Color Contrast** - Minimum 4.5:1 for text, 3:1 for UI
|
|
728
|
-
- โ
**Touch Targets** - 44ร44px minimum (Apple HIG)
|
|
729
|
-
- โ
**Reduced Motion** - Respects `prefers-reduced-motion`
|
|
730
|
-
|
|
731
|
-
### Automated Testing
|
|
732
|
-
|
|
733
|
-
```bash
|
|
734
|
-
npm run test:compliance # Design system compliance (650+ tests)
|
|
735
|
-
npm run test:compliance:browser # Browser-based a11y tests
|
|
736
|
-
```
|
|
737
|
-
|
|
738
|
-
## ๐ Performance
|
|
739
|
-
|
|
740
|
-
Thanks to the modern stack:
|
|
741
|
-
|
|
742
|
-
### Build Performance
|
|
743
|
-
|
|
744
|
-
- **Production Builds**: 3-16x faster (Rolldown bundler)
|
|
745
|
-
- **Memory Usage**: 100x reduction vs Webpack/Rollup
|
|
746
|
-
- **Dev Server**: Near-instant start with Vite HMR
|
|
747
|
-
- **CSS Builds**: 100x faster incremental builds (Tailwind v4)
|
|
190
|
+
---
|
|
748
191
|
|
|
749
|
-
|
|
192
|
+
## FAQ
|
|
750
193
|
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
- **Code Splitting**: Automatic route-based splitting
|
|
754
|
-
- **CSS Output**: Optimized purged CSS (~10KB gzipped)
|
|
194
|
+
<details>
|
|
195
|
+
<summary><strong>How do I migrate from v1.x to v2.0?</strong></summary>
|
|
755
196
|
|
|
756
|
-
|
|
197
|
+
v2.0 renames CSS variables to semantic names. Run the automated migration:
|
|
757
198
|
|
|
758
199
|
```bash
|
|
759
|
-
|
|
200
|
+
find src/ -type f \( -name "*.tsx" -o -name "*.css" \) -exec sed -i '' \
|
|
201
|
+
-e 's/--metric-emerald-/--metric-success-/g' \
|
|
202
|
+
-e 's/--metric-amber-/--metric-warning-/g' \
|
|
203
|
+
-e 's/--metric-blue-/--metric-default-/g' \
|
|
204
|
+
-e 's/--metric-red-/--metric-destructive-/g' {} +
|
|
760
205
|
```
|
|
761
206
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
- ButtonGlass initial render: < 1ms
|
|
765
|
-
- 100 component renders: < 50ms
|
|
766
|
-
- Theme switching: < 100ms
|
|
767
|
-
|
|
768
|
-
## ๐งช Testing
|
|
207
|
+
[Full Migration Guide](docs/BREAKING_CHANGES.md)
|
|
769
208
|
|
|
770
|
-
|
|
209
|
+
</details>
|
|
771
210
|
|
|
772
|
-
|
|
211
|
+
<details>
|
|
212
|
+
<summary><strong>Does it work with existing shadcn/ui components?</strong></summary>
|
|
773
213
|
|
|
774
|
-
|
|
775
|
-
# All tests (~1,570+ total)
|
|
776
|
-
npm test
|
|
777
|
-
|
|
778
|
-
# Design system compliance (650+ tests)
|
|
779
|
-
npm run test:compliance:run # jsdom tests
|
|
780
|
-
npm run test:compliance:browser:run # browser tests
|
|
214
|
+
Yes! Glass components use the same patterns and can coexist with standard shadcn/ui components.
|
|
781
215
|
|
|
782
|
-
|
|
783
|
-
npm run test:visual:ci # Run visual tests
|
|
784
|
-
npm run test:visual:update # Update baselines
|
|
216
|
+
</details>
|
|
785
217
|
|
|
786
|
-
|
|
787
|
-
|
|
218
|
+
<details>
|
|
219
|
+
<summary><strong>What are the requirements?</strong></summary>
|
|
788
220
|
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
### Test Categories
|
|
794
|
-
|
|
795
|
-
| Category | Tests | Coverage |
|
|
796
|
-
| ---------------------------- | ----------- | ----------------- |
|
|
797
|
-
| **Design System Compliance** | 650+ | 100% |
|
|
798
|
-
| **Visual Regression** | 802 | All components |
|
|
799
|
-
| **Unit Tests** | 125 | Core utilities |
|
|
800
|
-
| **Total** | **~1,570+** | **Comprehensive** |
|
|
221
|
+
- React 18.0+ or 19.0+
|
|
222
|
+
- Tailwind CSS 4.0+
|
|
223
|
+
- Node.js 20.16+
|
|
801
224
|
|
|
802
|
-
|
|
225
|
+
</details>
|
|
803
226
|
|
|
804
|
-
|
|
227
|
+
<details>
|
|
228
|
+
<summary><strong>How do I use with AI assistants?</strong></summary>
|
|
805
229
|
|
|
806
|
-
|
|
807
|
-
|
|
230
|
+
See our [AI Usage Guide](docs/AI_USAGE.md) with decision trees for Claude, Copilot, and GPT. The
|
|
231
|
+
library is indexed on [Context7](https://context7.com/yhooi2/shadcn-glass-ui-library).
|
|
808
232
|
|
|
809
|
-
|
|
233
|
+
</details>
|
|
810
234
|
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
git clone https://github.com/Yhooi2/shadcn-glass-ui-library.git
|
|
814
|
-
cd shadcn-glass-ui-library
|
|
235
|
+
<details>
|
|
236
|
+
<summary><strong>Where are the breaking changes documented?</strong></summary>
|
|
815
237
|
|
|
816
|
-
|
|
817
|
-
|
|
238
|
+
- [BREAKING_CHANGES.md](docs/BREAKING_CHANGES.md) โ Consolidated v1.0 and v2.0 changes
|
|
239
|
+
- [CHANGELOG.md](CHANGELOG.md) โ Complete version history
|
|
240
|
+
- [Migration Guides](docs/migration/) โ Step-by-step migration
|
|
818
241
|
|
|
819
|
-
|
|
820
|
-
./scripts/setup-git-hooks.sh
|
|
242
|
+
</details>
|
|
821
243
|
|
|
822
|
-
|
|
823
|
-
npm run dev # Vite dev server (port 5173)
|
|
824
|
-
npm run storybook # Storybook (port 6006)
|
|
825
|
-
```
|
|
244
|
+
---
|
|
826
245
|
|
|
827
|
-
|
|
246
|
+
## Documentation
|
|
828
247
|
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
248
|
+
| Resource | Description |
|
|
249
|
+
| -------------------------------------------------------------- | --------------------------- |
|
|
250
|
+
| [Storybook](https://yhooi2.github.io/shadcn-glass-ui-library/) | Interactive component demos |
|
|
251
|
+
| [Getting Started](docs/GETTING_STARTED.md) | Setup tutorial |
|
|
252
|
+
| [Component Catalog](docs/COMPONENTS_CATALOG.md) | All 58 components |
|
|
253
|
+
| [AI Usage Guide](docs/AI_USAGE.md) | For Claude, Copilot, GPT |
|
|
254
|
+
| [Theme Guide](docs/THEME_CREATION_GUIDE.md) | Create custom themes |
|
|
255
|
+
| [Token Architecture](docs/TOKEN_ARCHITECTURE.md) | 3-layer CSS token system |
|
|
256
|
+
| [Advanced Patterns](docs/ADVANCED_PATTERNS.md) | asChild, Compound APIs |
|
|
257
|
+
| [Breaking Changes](docs/BREAKING_CHANGES.md) | Migration guides |
|
|
833
258
|
|
|
834
|
-
|
|
259
|
+
## CLI
|
|
835
260
|
|
|
836
261
|
```bash
|
|
837
|
-
|
|
838
|
-
|
|
262
|
+
npx shadcn-glass-ui info button # Component info (fuzzy search)
|
|
263
|
+
npx shadcn-glass-ui list # List all components
|
|
264
|
+
npx shadcn-glass-ui list --category=core # Filter by category
|
|
839
265
|
```
|
|
840
266
|
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
```
|
|
844
|
-
shadcn-glass-ui/
|
|
845
|
-
โโโ src/
|
|
846
|
-
โ โโโ components/
|
|
847
|
-
โ โ โโโ glass/
|
|
848
|
-
โ โ โ โโโ ui/ # Core UI components (17)
|
|
849
|
-
โ โ โ โโโ atomic/ # Atomic components (6)
|
|
850
|
-
โ โ โ โโโ composite/ # Composite components (13)
|
|
851
|
-
โ โ โ โโโ sections/ # Section components (7)
|
|
852
|
-
โ โ โโโ blocks/ # Ready-to-use blocks (6)
|
|
853
|
-
โ โ โโโ __visual__/ # Visual regression tests
|
|
854
|
-
โ โ โโโ ComponentShowcase.tsx
|
|
855
|
-
โ โ โโโ DesktopShowcase.tsx
|
|
856
|
-
โ โโโ lib/
|
|
857
|
-
โ โ โโโ utils.ts # cn() utility
|
|
858
|
-
โ โ โโโ theme-context.tsx # Theme provider
|
|
859
|
-
โ โ โโโ themeStyles.ts # Theme definitions
|
|
860
|
-
โ โ โโโ variants/ # CVA variants
|
|
861
|
-
โ โโโ styles/
|
|
862
|
-
โ โ โโโ tokens/ # Design tokens
|
|
863
|
-
โ โ โโโ themes/ # Theme CSS
|
|
864
|
-
โ โโโ test/
|
|
865
|
-
โ โโโ compliance/ # Compliance tests
|
|
866
|
-
โ โโโ utils/ # Test utilities
|
|
867
|
-
โโโ .storybook/ # Storybook config
|
|
868
|
-
โโโ docs/ # Documentation
|
|
869
|
-
โโโ docs/design-system/UI_DESIGN.md # Design system spec
|
|
870
|
-
โโโ package.json
|
|
871
|
-
```
|
|
872
|
-
|
|
873
|
-
## ๐ค Contributing
|
|
874
|
-
|
|
875
|
-
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
876
|
-
|
|
877
|
-
### Quick Contribution Guide
|
|
878
|
-
|
|
879
|
-
1. Fork the repository
|
|
880
|
-
2. Create a feature branch: `git checkout -b feat/amazing-component`
|
|
881
|
-
3. Make your changes following our code standards
|
|
882
|
-
4. Run tests: `npm run test:compliance:run`
|
|
883
|
-
5. Commit with conventional commits: `feat(ui): add DatePickerGlass component`
|
|
884
|
-
6. Push and create a Pull Request
|
|
885
|
-
|
|
886
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
|
|
887
|
-
|
|
888
|
-
## ๐ License
|
|
267
|
+
---
|
|
889
268
|
|
|
890
|
-
|
|
269
|
+
## Contributing
|
|
891
270
|
|
|
892
|
-
|
|
271
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
893
272
|
|
|
894
|
-
##
|
|
273
|
+
## License
|
|
895
274
|
|
|
896
|
-
|
|
275
|
+
MIT โ See [LICENSE](LICENSE)
|
|
897
276
|
|
|
898
|
-
|
|
899
|
-
- [Radix UI](https://www.radix-ui.com/) - Unstyled accessible primitives
|
|
900
|
-
- [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
|
|
901
|
-
- [Vite](https://vitejs.dev/) - Next generation frontend tooling
|
|
902
|
-
- [Storybook](https://storybook.js.org/) - Component workshop
|
|
903
|
-
- [Vitest](https://vitest.dev/) - Blazing fast unit test framework
|
|
277
|
+
## Credits
|
|
904
278
|
|
|
905
|
-
|
|
279
|
+
Built with [shadcn/ui](https://ui.shadcn.com/), [Radix UI](https://www.radix-ui.com/),
|
|
280
|
+
[Tailwind CSS](https://tailwindcss.com/), [Vite](https://vitejs.dev/)
|
|
906
281
|
|
|
907
|
-
|
|
908
|
-
- **Documentation**: [Storybook](https://yhooi2.github.io/shadcn-glass-ui-library/)
|
|
909
|
-
- **GitHub**: [shadcn-glass-ui-library](https://github.com/Yhooi2/shadcn-glass-ui-library)
|
|
910
|
-
- **Issues**: [Report a bug](https://github.com/Yhooi2/shadcn-glass-ui-library/issues)
|
|
911
|
-
- **Discussions**: [Community](https://github.com/Yhooi2/shadcn-glass-ui-library/discussions)
|
|
282
|
+
---
|
|
912
283
|
|
|
913
|
-
|
|
284
|
+
<div align="center">
|
|
914
285
|
|
|
915
|
-
|
|
286
|
+
**[Star on GitHub](https://github.com/Yhooi2/shadcn-glass-ui-library)** if you find this useful!
|
|
916
287
|
|
|
917
|
-
[](https://star-history.com/#Yhooi2/shadcn-glass-ui-library
|
|
288
|
+
[](https://star-history.com/#Yhooi2/shadcn-glass-ui-library)
|
|
918
289
|
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
**Made with โค๏ธ and glassmorphism**
|
|
290
|
+
</div>
|