@j3m-quantum/ui 0.4.0 → 0.7.1
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 +166 -0
- package/dist/index.cjs +230 -418
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -65
- package/dist/index.d.ts +29 -65
- package/dist/index.js +230 -417
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +813 -15
- package/package.json +1 -1
- package/dist/styles/animations.css +0 -370
- package/dist/styles/base.css +0 -130
- package/dist/styles/j3m-overrides.css +0 -132
- package/dist/styles/theme.css +0 -59
- package/dist/styles/tokens.css +0 -248
package/README.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# @j3m-quantum/ui
|
|
2
|
+
|
|
3
|
+
J3M Quantum UI - A themed component library based on shadcn/ui with J3M design tokens.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 🎨 **J3M Design Tokens** - Orange primary, neutral grays, pill-shaped buttons
|
|
8
|
+
- 🌙 **Dark Mode** - Full dark theme support via `.dark` class
|
|
9
|
+
- ✨ **Glass Mode** - Frosted glass effects via `.theme-glass` class
|
|
10
|
+
- 📦 **55+ Components** - All shadcn/ui components with J3M styling
|
|
11
|
+
- 🎯 **TweakCN Style** - Single CSS import for complete theming
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @j3m-quantum/ui
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Peer Dependencies
|
|
20
|
+
|
|
21
|
+
The package requires these peer dependencies:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install react react-dom tailwindcss lucide-react
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Plus Radix UI primitives for each component you use:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Example for Button, Dialog, Select
|
|
31
|
+
npm install @radix-ui/react-slot @radix-ui/react-dialog @radix-ui/react-select
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Quick Start
|
|
35
|
+
|
|
36
|
+
### 1. Setup Vite + Tailwind
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm create vite@latest my-app -- --template react-ts
|
|
40
|
+
cd my-app
|
|
41
|
+
npm install
|
|
42
|
+
npm add -D tailwindcss @tailwindcss/vite
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Configure Vite
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
// vite.config.ts
|
|
49
|
+
import { defineConfig } from 'vite'
|
|
50
|
+
import react from '@vitejs/plugin-react'
|
|
51
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
plugins: [react(), tailwindcss()],
|
|
55
|
+
})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3. Import Styles
|
|
59
|
+
|
|
60
|
+
```css
|
|
61
|
+
/* src/index.css */
|
|
62
|
+
@import "tailwindcss";
|
|
63
|
+
@import "@j3m-quantum/ui/styles";
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 4. Use Components
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
import { Button, Card, Input } from '@j3m-quantum/ui'
|
|
70
|
+
|
|
71
|
+
function App() {
|
|
72
|
+
return (
|
|
73
|
+
<Card>
|
|
74
|
+
<Input placeholder="Enter email" />
|
|
75
|
+
<Button>Submit</Button>
|
|
76
|
+
</Card>
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Theme Modes
|
|
82
|
+
|
|
83
|
+
### Dark Mode
|
|
84
|
+
|
|
85
|
+
Add the `dark` class to your root element:
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
<div className="dark">
|
|
89
|
+
{/* Dark themed content */}
|
|
90
|
+
</div>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Glass Mode
|
|
94
|
+
|
|
95
|
+
Add `theme-glass` class for frosted glass effects:
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
<div className="theme-glass">
|
|
99
|
+
{/* Glass themed content */}
|
|
100
|
+
</div>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Combine with dark mode:
|
|
104
|
+
|
|
105
|
+
```tsx
|
|
106
|
+
<div className="dark theme-glass">
|
|
107
|
+
{/* Dark glass themed content */}
|
|
108
|
+
</div>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Design Tokens
|
|
112
|
+
|
|
113
|
+
| Token | Light | Dark |
|
|
114
|
+
|-------|-------|------|
|
|
115
|
+
| `--primary` | #F58446 | #F58446 |
|
|
116
|
+
| `--background` | #FFFFFF | #333333 |
|
|
117
|
+
| `--foreground` | #333333 | #FFFFFF |
|
|
118
|
+
| `--muted` | #E8E8E8 | #4A4A4A |
|
|
119
|
+
| `--destructive` | #FB3748 | #D00416 |
|
|
120
|
+
| `--radius` | 12px | 12px |
|
|
121
|
+
|
|
122
|
+
## Optional Dependencies
|
|
123
|
+
|
|
124
|
+
Some components require additional dependencies:
|
|
125
|
+
|
|
126
|
+
| Component | Dependency | Install |
|
|
127
|
+
|-----------|------------|---------|
|
|
128
|
+
| Calendar | react-day-picker, date-fns | `npm add react-day-picker date-fns` |
|
|
129
|
+
| Carousel | embla-carousel-react | `npm add embla-carousel-react` |
|
|
130
|
+
| Chart | recharts | `npm add recharts` |
|
|
131
|
+
| Command | cmdk | `npm add cmdk` |
|
|
132
|
+
| Drawer | vaul | `npm add vaul` |
|
|
133
|
+
| Form | react-hook-form | `npm add react-hook-form` |
|
|
134
|
+
| InputOTP | input-otp | `npm add input-otp` |
|
|
135
|
+
| Resizable | react-resizable-panels | `npm add react-resizable-panels` |
|
|
136
|
+
| Sonner | sonner | `npm add sonner` |
|
|
137
|
+
|
|
138
|
+
## Exports
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
// Components
|
|
142
|
+
import { Button, Card, Dialog, ... } from '@j3m-quantum/ui'
|
|
143
|
+
|
|
144
|
+
// Styles (CSS)
|
|
145
|
+
import '@j3m-quantum/ui/styles'
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Customization
|
|
149
|
+
|
|
150
|
+
Override CSS variables after the import:
|
|
151
|
+
|
|
152
|
+
```css
|
|
153
|
+
@import "tailwindcss";
|
|
154
|
+
@import "@j3m-quantum/ui/styles";
|
|
155
|
+
|
|
156
|
+
/* Custom overrides */
|
|
157
|
+
:root {
|
|
158
|
+
--primary: #your-color;
|
|
159
|
+
--radius: 8px;
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
MIT
|
|
166
|
+
|