@pibit.ai/cure-design-system 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/LICENSE +21 -0
- package/README.md +275 -0
- package/dist/components.css +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/node_modules/class-variance-authority/dist/index.js +35 -0
- package/dist/node_modules/clsx/dist/clsx.js +17 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2765 -0
- package/dist/primitives/avatar/avatar.d.ts +32 -0
- package/dist/primitives/avatar/avatar.d.ts.map +1 -0
- package/dist/primitives/avatar/avatar.js +43 -0
- package/dist/primitives/avatar/index.d.ts +2 -0
- package/dist/primitives/avatar/index.d.ts.map +1 -0
- package/dist/primitives/badge/badge.d.ts +28 -0
- package/dist/primitives/badge/badge.d.ts.map +1 -0
- package/dist/primitives/badge/badge.js +43 -0
- package/dist/primitives/badge/index.d.ts +2 -0
- package/dist/primitives/badge/index.d.ts.map +1 -0
- package/dist/primitives/button/button.d.ts +34 -0
- package/dist/primitives/button/button.d.ts.map +1 -0
- package/dist/primitives/button/button.js +74 -0
- package/dist/primitives/button/index.d.ts +2 -0
- package/dist/primitives/button/index.d.ts.map +1 -0
- package/dist/primitives/checkbox/checkbox.d.ts +30 -0
- package/dist/primitives/checkbox/checkbox.d.ts.map +1 -0
- package/dist/primitives/checkbox/checkbox.js +49 -0
- package/dist/primitives/checkbox/index.d.ts +2 -0
- package/dist/primitives/checkbox/index.d.ts.map +1 -0
- package/dist/primitives/colors/index.d.ts +2 -0
- package/dist/primitives/colors/index.d.ts.map +1 -0
- package/dist/primitives/heading/heading.d.ts +39 -0
- package/dist/primitives/heading/heading.d.ts.map +1 -0
- package/dist/primitives/heading/heading.js +64 -0
- package/dist/primitives/heading/index.d.ts +2 -0
- package/dist/primitives/heading/index.d.ts.map +1 -0
- package/dist/primitives/icon/icon.d.ts +32 -0
- package/dist/primitives/icon/icon.d.ts.map +1 -0
- package/dist/primitives/icon/icon.js +19 -0
- package/dist/primitives/icon/index.d.ts +2 -0
- package/dist/primitives/icon/index.d.ts.map +1 -0
- package/dist/primitives/input/index.d.ts +2 -0
- package/dist/primitives/input/index.d.ts.map +1 -0
- package/dist/primitives/input/input.d.ts +46 -0
- package/dist/primitives/input/input.d.ts.map +1 -0
- package/dist/primitives/input/input.js +80 -0
- package/dist/primitives/text/index.d.ts +2 -0
- package/dist/primitives/text/index.d.ts.map +1 -0
- package/dist/primitives/text/text.d.ts +42 -0
- package/dist/primitives/text/text.d.ts.map +1 -0
- package/dist/primitives/text/text.js +78 -0
- package/dist/primitives/toggle/index.d.ts +2 -0
- package/dist/primitives/toggle/index.d.ts.map +1 -0
- package/dist/primitives/toggle/toggle.d.ts +28 -0
- package/dist/primitives/toggle/toggle.d.ts.map +1 -0
- package/dist/primitives/toggle/toggle.js +57 -0
- package/dist/utils/cn.d.ts +10 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +8 -0
- package/package.json +104 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Pibit
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# @pibit/components
|
|
2
|
+
|
|
3
|
+
Component library for Pibit B2B SaaS platform.
|
|
4
|
+
|
|
5
|
+
## Phase 0 - Foundation (v0.1.0)
|
|
6
|
+
|
|
7
|
+
This is the initial release with core primitive components.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @pibit/components
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer Dependencies
|
|
16
|
+
|
|
17
|
+
You need to have these installed in your project:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install react react-dom tailwindcss
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
### 1. Add to Tailwind Config
|
|
26
|
+
|
|
27
|
+
Update your `tailwind.config.js`:
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
/** @type {import('tailwindcss').Config} */
|
|
31
|
+
export default {
|
|
32
|
+
content: [
|
|
33
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
34
|
+
'./node_modules/@pibit/components/**/*.{js,ts,jsx,tsx}', // Add this
|
|
35
|
+
],
|
|
36
|
+
// ... rest of your config
|
|
37
|
+
};
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Import Styles
|
|
41
|
+
|
|
42
|
+
In your main entry file (e.g., `main.tsx` or `App.tsx`):
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import '@pibit/components/styles';
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Components
|
|
49
|
+
|
|
50
|
+
### Phase 0 Primitives
|
|
51
|
+
|
|
52
|
+
- **Button** - Accessible button with multiple variants
|
|
53
|
+
- **Input** - Text input with label, error states, and icons
|
|
54
|
+
- **Checkbox** - Accessible checkbox with label support
|
|
55
|
+
- **Badge** - Labels and status indicators
|
|
56
|
+
- **Avatar** - User profile images with fallbacks
|
|
57
|
+
- **Icon** - Icon component (abstracts Untitled UI)
|
|
58
|
+
|
|
59
|
+
## Usage Examples
|
|
60
|
+
|
|
61
|
+
### Button
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import { Button } from '@pibit/components/primitives/button';
|
|
65
|
+
|
|
66
|
+
function App() {
|
|
67
|
+
return (
|
|
68
|
+
<>
|
|
69
|
+
<Button>Click me</Button>
|
|
70
|
+
<Button variant="secondary" size="lg">Large Secondary</Button>
|
|
71
|
+
<Button variant="destructive">Delete</Button>
|
|
72
|
+
<Button isDisabled>Disabled</Button>
|
|
73
|
+
</>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Input
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
import { Input } from '@pibit/components/primitives/input';
|
|
82
|
+
import { Icon } from '@pibit/components/primitives/icon';
|
|
83
|
+
|
|
84
|
+
function LoginForm() {
|
|
85
|
+
return (
|
|
86
|
+
<>
|
|
87
|
+
<Input
|
|
88
|
+
label="Email"
|
|
89
|
+
type="email"
|
|
90
|
+
placeholder="you@example.com"
|
|
91
|
+
isRequired
|
|
92
|
+
/>
|
|
93
|
+
<Input
|
|
94
|
+
label="Search"
|
|
95
|
+
type="search"
|
|
96
|
+
placeholder="Search..."
|
|
97
|
+
leftIcon={<Icon name="SearchMd" size={16} />}
|
|
98
|
+
/>
|
|
99
|
+
<Input
|
|
100
|
+
label="Password"
|
|
101
|
+
type="password"
|
|
102
|
+
errorMessage="Password is required"
|
|
103
|
+
/>
|
|
104
|
+
</>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Checkbox
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
import { Checkbox } from '@pibit/components/primitives/checkbox';
|
|
113
|
+
|
|
114
|
+
function TermsForm() {
|
|
115
|
+
const [accepted, setAccepted] = useState(false);
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<Checkbox
|
|
119
|
+
label="I accept the terms and conditions"
|
|
120
|
+
description="You must accept to continue"
|
|
121
|
+
checked={accepted}
|
|
122
|
+
onCheckedChange={(checked) => setAccepted(!!checked)}
|
|
123
|
+
/>
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Badge
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
import { Badge } from '@pibit/components/primitives/badge';
|
|
132
|
+
|
|
133
|
+
function StatusIndicator({ status }) {
|
|
134
|
+
return (
|
|
135
|
+
<>
|
|
136
|
+
<Badge variant="success">Active</Badge>
|
|
137
|
+
<Badge variant="warning">Pending</Badge>
|
|
138
|
+
<Badge variant="error">Failed</Badge>
|
|
139
|
+
<Badge variant="outline">Draft</Badge>
|
|
140
|
+
</>
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Avatar
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
import { Avatar } from '@pibit/components/primitives/avatar';
|
|
149
|
+
|
|
150
|
+
function UserProfile({ user }) {
|
|
151
|
+
return (
|
|
152
|
+
<Avatar
|
|
153
|
+
src={user.avatarUrl}
|
|
154
|
+
alt={user.name}
|
|
155
|
+
fallback={user.initials}
|
|
156
|
+
size="lg"
|
|
157
|
+
/>
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Icon
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
import { Icon } from '@pibit/components/primitives/icon';
|
|
166
|
+
|
|
167
|
+
function IconExamples() {
|
|
168
|
+
return (
|
|
169
|
+
<>
|
|
170
|
+
<Icon name="ChevronDown" size={16} />
|
|
171
|
+
<Icon name="SearchMd" size={20} className="text-gray-500" />
|
|
172
|
+
<Icon name="CheckCircle" size={24} className="text-success-600" />
|
|
173
|
+
</>
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Import Strategies
|
|
179
|
+
|
|
180
|
+
### ✅ Recommended: Direct Imports (Tree-shakeable)
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import { Button } from '@pibit/components/primitives/button';
|
|
184
|
+
import { Input } from '@pibit/components/primitives/input';
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### ✅ Also Good: Barrel Import for Primitives
|
|
188
|
+
|
|
189
|
+
```typescript
|
|
190
|
+
import { Button, Input, Badge } from '@pibit/components';
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Development
|
|
194
|
+
|
|
195
|
+
### Install Dependencies
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
npm install
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Run Storybook
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
npm run storybook
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Build Library
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
npm run build
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Run Tests
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
npm test
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Architecture
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
src/
|
|
223
|
+
├── primitives/ # Phase 0 - Basic UI components (Button, Input, etc.)
|
|
224
|
+
├── patterns/ # Phase 1 - Composable patterns (Select, Modal, etc.)
|
|
225
|
+
├── complex/ # Phase 2 - Heavy library abstractions (DataTable, etc.)
|
|
226
|
+
├── domain/ # Phase 3 - Business-aware components (FieldRenderer, etc.)
|
|
227
|
+
├── utils/ # Shared utilities
|
|
228
|
+
└── styles/ # Design tokens and global styles
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Bundle Size
|
|
232
|
+
|
|
233
|
+
Phase 0 primitives are designed to be lightweight:
|
|
234
|
+
|
|
235
|
+
- **Button**: ~5KB
|
|
236
|
+
- **Input**: ~8KB
|
|
237
|
+
- **Checkbox**: ~6KB
|
|
238
|
+
- **Badge**: ~3KB
|
|
239
|
+
- **Avatar**: ~5KB
|
|
240
|
+
- **Icon**: ~2KB (+ Untitled UI icons as needed)
|
|
241
|
+
|
|
242
|
+
**Total (all primitives)**: ~30KB (tree-shaken)
|
|
243
|
+
|
|
244
|
+
## Browser Support
|
|
245
|
+
|
|
246
|
+
- Chrome (latest)
|
|
247
|
+
- Firefox (latest)
|
|
248
|
+
- Safari (latest)
|
|
249
|
+
- Edge (latest)
|
|
250
|
+
|
|
251
|
+
## Accessibility
|
|
252
|
+
|
|
253
|
+
All components are built with accessibility in mind:
|
|
254
|
+
|
|
255
|
+
- ✅ WCAG 2.1 AA compliant
|
|
256
|
+
- ✅ Keyboard navigation
|
|
257
|
+
- ✅ Screen reader support
|
|
258
|
+
- ✅ Focus management
|
|
259
|
+
- ✅ Semantic HTML
|
|
260
|
+
|
|
261
|
+
## License
|
|
262
|
+
|
|
263
|
+
MIT
|
|
264
|
+
|
|
265
|
+
## Contributing
|
|
266
|
+
|
|
267
|
+
See `CONTRIBUTING.md` for development guidelines.
|
|
268
|
+
|
|
269
|
+
## Roadmap
|
|
270
|
+
|
|
271
|
+
- **v0.1.0** (Week 1) - Phase 0: Primitives ← YOU ARE HERE
|
|
272
|
+
- **v0.2.0** (Week 2) - Phase 1: Patterns (Select, Modal, DatePicker)
|
|
273
|
+
- **v0.3.0** (Week 3) - Phase 2: Complex (DataTable, RichTextEditor)
|
|
274
|
+
- **v0.4.0** (Week 4) - Phase 3: Domain (FieldRenderer, PermissionGate)
|
|
275
|
+
- **v1.0.0** (Week 4) - Stable release
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@theme{ --font-body: var(--font-inter, "Inter"), -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --font-display: var(--font-inter, "Inter"), -apple-system, "Segoe UI", Roboto, Arial, sans-serif; --font-mono: ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --text-xs: calc(var(--spacing) * 3); --text-xs--line-height: calc(var(--spacing) * 4.5); --text-sm: calc(var(--spacing) * 3.5); --text-sm--line-height: calc(var(--spacing) * 5); --text-md: calc(var(--spacing) * 4); --text-md--line-height: calc(var(--spacing) * 6); --text-lg: calc(var(--spacing) * 4.5); --text-lg--line-height: calc(var(--spacing) * 7); --text-xl: calc(var(--spacing) * 5); --text-xl--line-height: calc(var(--spacing) * 7.5); --text-display-xs: calc(var(--spacing) * 6); --text-display-xs--line-height: calc(var(--spacing) * 8); --text-display-sm: calc(var(--spacing) * 7.5); --text-display-sm--line-height: calc(var(--spacing) * 9.5); --text-display-md: calc(var(--spacing) * 9); --text-display-md--line-height: calc(var(--spacing) * 11); --text-display-md--letter-spacing: -.72px; --text-display-lg: calc(var(--spacing) * 12); --text-display-lg--line-height: calc(var(--spacing) * 15); --text-display-lg--letter-spacing: -.96px; --text-display-xl: calc(var(--spacing) * 15); --text-display-xl--line-height: calc(var(--spacing) * 18); --text-display-xl--letter-spacing: -1.2px; --text-display-2xl: calc(var(--spacing) * 18); --text-display-2xl--line-height: calc(var(--spacing) * 22.5); --text-display-2xl--letter-spacing: -1.44px; --max-width-container: 1280px; --breakpoint-xxs: 320px; --breakpoint-xs: 600px; --radius-none: 0px; --radius-xxs: 2px; --radius-xs: 4px; --radius-sm: 6px; --radius-DEFAULT: 8px; --radius-md: 8px; --radius-lg: 10px; --radius-xl: 12px; --radius-2xl: 16px; --radius-3xl: 20px; --radius-4xl: 24px; --radius-full: 9999px; --shadow-rightPanel: 0 0 4px -2px rgba(64, 73, 104, .1), 0 0 12px 0 rgba(64, 73, 104, .08); --shadow-xs: 0px 1px 2px rgba(10, 13, 18, .05); --shadow-sm: 0px 1px 3px rgba(10, 13, 18, .1), 0px 1px 2px -1px rgba(10, 13, 18, .1); --shadow-md: 0px 4px 6px -1px rgba(10, 13, 18, .1), 0px 2px 4px -2px rgba(10, 13, 18, .06); --shadow-lg: 0px 12px 16px -4px rgba(10, 13, 18, .08), 0px 4px 6px -2px rgba(10, 13, 18, .03), 0px 2px 2px -1px rgba(10, 13, 18, .04); --shadow-xl: 0px 20px 24px -4px rgba(10, 13, 18, .08), 0px 8px 8px -4px rgba(10, 13, 18, .03), 0px 3px 3px -1.5px rgba(10, 13, 18, .04); --shadow-2xl: 0px 24px 48px -12px rgba(10, 13, 18, .18), 0px 4px 4px -2px rgba(10, 13, 18, .04); --shadow-3xl: 0px 32px 64px -12px rgba(10, 13, 18, .14), 0px 5px 5px -2.5px rgba(10, 13, 18, .04); --color-transparent: rgb(0 0 0 / 0); --color-white: rgb(255 255 255); --color-black: rgb(0 0 0); --color-alpha-white: rgb(255 255 255); --color-alpha-black: rgb(0 0 0); --color-brand-25: #f1f8fe; --color-brand-50: #e2f1fd; --color-brand-100: #cee7fc; --color-brand-200: #add7fa; --color-brand-300: #83c3f8; --color-brand-400: #5aaff6; --color-brand-500: #319bf3; --color-brand-600: #0684f0; --color-brand-700: #0770c9; --color-brand-800: #055aa1; --color-brand-900: #044378; --color-brand-950: #032d50; --color-error-25: rgb(255 251 250); --color-error-50: rgb(254 243 242); --color-error-100: rgb(254 228 226); --color-error-200: rgb(254 205 202); --color-error-300: rgb(253 162 155); --color-error-400: rgb(249 112 102); --color-error-500: rgb(240 68 56); --color-error-600: rgb(217 45 32); --color-error-700: rgb(180 35 24); --color-error-800: rgb(145 32 24); --color-error-900: rgb(122 39 26); --color-error-950: rgb(85 22 12); --color-warning-25: rgb(255 252 245); --color-warning-50: rgb(255 250 235); --color-warning-100: rgb(254 240 199); --color-warning-200: rgb(254 223 137); --color-warning-300: rgb(254 200 75); --color-warning-400: rgb(253 176 34); --color-warning-500: rgb(247 144 9); --color-warning-600: rgb(220 104 3); --color-warning-700: rgb(181 71 8); --color-warning-800: rgb(147 55 13); --color-warning-900: rgb(122 46 14); --color-warning-950: rgb(78 29 9); --color-success-25: rgb(246 254 249); --color-success-50: rgb(236 253 243); --color-success-100: rgb(220 250 230); --color-success-200: rgb(171 239 198); --color-success-300: rgb(117 224 167); --color-success-400: rgb(71 205 137); --color-success-500: rgb(23 178 106); --color-success-600: rgb(7 148 85); --color-success-700: rgb(6 118 71); --color-success-800: rgb(8 93 58); --color-success-900: rgb(7 77 49); --color-success-950: rgb(5 51 33); --color-gray-25: #fafbff; --color-gray-50: #f5f8ff; --color-gray-100: #e3eafc; --color-gray-200: #c2cde5; --color-gray-300: #a2afcd; --color-gray-400: #7d89b0; --color-gray-500: #5d6b98; --color-gray-600: #4a5578; --color-gray-700: #404968; --color-gray-800: #30374f; --color-gray-900: #111322; --color-gray-950: #0e101b; --color-gray-blue-25: rgb(252 252 253); --color-gray-blue-50: rgb(248 249 252); --color-gray-blue-100: rgb(234 236 245); --color-gray-blue-200: rgb(213 217 235); --color-gray-blue-300: rgb(179 184 219); --color-gray-blue-400: rgb(113 123 188); --color-gray-blue-500: rgb(78 91 166); --color-gray-blue-600: rgb(62 71 132); --color-gray-blue-700: rgb(54 63 114); --color-gray-blue-800: rgb(41 48 86); --color-gray-blue-900: rgb(16 19 35); --color-gray-blue-950: rgb(13 15 28); --color-gray-cool-25: rgb(252 252 253); --color-gray-cool-50: rgb(249 249 251); --color-gray-cool-100: rgb(239 241 245); --color-gray-cool-200: rgb(220 223 234); --color-gray-cool-300: rgb(185 192 212); --color-gray-cool-400: rgb(125 137 176); --color-gray-cool-500: rgb(93 107 152); --color-gray-cool-600: rgb(74 85 120); --color-gray-cool-700: rgb(64 73 104); --color-gray-cool-800: rgb(48 55 79); --color-gray-cool-900: rgb(17 19 34); --color-gray-cool-950: rgb(14 16 27); --color-label-500: rgb(52 64 84); --color-gray-modern-25: rgb(252 252 253); --color-gray-modern-50: rgb(248 250 252); --color-gray-modern-100: rgb(238 242 246); --color-gray-modern-200: rgb(227 232 239); --color-gray-modern-300: rgb(205 213 223); --color-gray-modern-400: rgb(154 164 178); --color-gray-modern-500: rgb(105 117 134); --color-gray-modern-600: rgb(75 85 101); --color-gray-modern-700: rgb(54 65 82); --color-gray-modern-800: rgb(32 41 57); --color-gray-modern-900: rgb(18 25 38); --color-gray-modern-950: rgb(13 18 28); --color-gray-neutral-25: rgb(252 252 253); --color-gray-neutral-50: rgb(249 250 251); --color-gray-neutral-100: rgb(243 244 246); --color-gray-neutral-200: rgb(229 231 235); --color-gray-neutral-300: rgb(210 214 219); --color-gray-neutral-400: rgb(157 164 174); --color-gray-neutral-500: rgb(108 115 127); --color-gray-neutral-600: rgb(77 87 97); --color-gray-neutral-700: rgb(56 66 80); --color-gray-neutral-800: rgb(31 42 55); --color-gray-neutral-900: rgb(17 25 39); --color-gray-neutral-950: rgb(13 18 28); --color-gray-iron-25: rgb(252 252 252); --color-gray-iron-50: rgb(250 250 250); --color-gray-iron-100: rgb(244 244 245); --color-gray-iron-200: rgb(228 228 231); --color-gray-iron-300: rgb(209 209 214); --color-gray-iron-400: rgb(160 160 171); --color-gray-iron-500: rgb(112 112 123); --color-gray-iron-600: rgb(81 82 92); --color-gray-iron-700: rgb(63 63 70); --color-gray-iron-800: rgb(38 39 43); --color-gray-iron-900: rgb(26 26 30); --color-gray-iron-950: rgb(19 19 22); --color-gray-true-25: rgb(252 252 252); --color-gray-true-50: rgb(247 247 247); --color-gray-true-100: rgb(245 245 245); --color-gray-true-200: rgb(229 229 229); --color-gray-true-300: rgb(214 214 214); --color-gray-true-400: rgb(163 163 163); --color-gray-true-500: rgb(115 115 115); --color-gray-true-600: rgb(82 82 82); --color-gray-true-700: rgb(66 66 66); --color-gray-true-800: rgb(41 41 41); --color-gray-true-900: rgb(20 20 20); --color-gray-true-950: rgb(15 15 15); --color-gray-warm-25: rgb(253 253 252); --color-gray-warm-50: rgb(250 250 249); --color-gray-warm-100: rgb(245 245 244); --color-gray-warm-200: rgb(231 229 228); --color-gray-warm-300: rgb(215 211 208); --color-gray-warm-400: rgb(169 162 157); --color-gray-warm-500: rgb(121 113 107); --color-gray-warm-600: rgb(87 83 78); --color-gray-warm-700: rgb(68 64 60); --color-gray-warm-800: rgb(41 37 36); --color-gray-warm-900: rgb(28 25 23); --color-gray-warm-950: rgb(23 20 18); --color-moss-25: rgb(250 253 247); --color-moss-50: rgb(245 251 238); --color-moss-100: rgb(230 244 215); --color-moss-200: rgb(206 234 176); --color-moss-300: rgb(172 220 121); --color-moss-400: rgb(134 203 60); --color-moss-500: rgb(102 159 42); --color-moss-600: rgb(79 122 33); --color-moss-700: rgb(63 98 26); --color-moss-800: rgb(51 80 21); --color-moss-900: rgb(43 66 18); --color-moss-950: rgb(26 40 11); --color-green-light-25: rgb(250 254 245); --color-green-light-50: rgb(243 254 231); --color-green-light-100: rgb(227 251 204); --color-green-light-200: rgb(208 248 171); --color-green-light-300: rgb(166 239 103); --color-green-light-400: rgb(133 225 58); --color-green-light-500: rgb(102 198 28); --color-green-light-600: rgb(76 163 13); --color-green-light-700: rgb(59 124 15); --color-green-light-800: rgb(50 98 18); --color-green-light-900: rgb(43 83 20); --color-green-light-950: rgb(21 41 10); --color-green-25: rgb(246 254 249); --color-green-50: rgb(237 252 242); --color-green-100: rgb(211 248 223); --color-green-200: rgb(170 240 196); --color-green-300: rgb(115 226 163); --color-green-400: rgb(60 203 127); --color-green-500: rgb(22 179 100); --color-green-600: rgb(9 146 80); --color-green-700: rgb(8 116 67); --color-green-800: rgb(9 92 55); --color-green-900: rgb(8 76 46); --color-green-950: rgb(5 46 28); --color-teal-25: rgb(246 254 252); --color-teal-50: rgb(240 253 249); --color-teal-100: rgb(204 251 239); --color-teal-200: rgb(153 246 224); --color-teal-300: rgb(95 233 208); --color-teal-400: rgb(46 211 183); --color-teal-500: rgb(21 183 158); --color-teal-600: rgb(14 147 132); --color-teal-700: rgb(16 117 105); --color-teal-800: rgb(18 93 86); --color-teal-900: rgb(19 78 72); --color-teal-950: rgb(10 41 38); --color-cyan-25: rgb(245 254 255); --color-cyan-50: rgb(236 253 255); --color-cyan-100: rgb(207 249 254); --color-cyan-200: rgb(165 240 252); --color-cyan-300: rgb(103 227 249); --color-cyan-400: rgb(34 204 238); --color-cyan-500: rgb(6 174 212); --color-cyan-600: rgb(8 138 178); --color-cyan-700: rgb(14 112 144); --color-cyan-800: rgb(21 91 117); --color-cyan-900: rgb(22 76 99); --color-cyan-950: rgb(13 45 58); --color-blue-light-25: rgb(245 251 255); --color-blue-light-50: rgb(240 249 255); --color-blue-light-100: rgb(224 242 254); --color-blue-light-200: rgb(185 230 254); --color-blue-light-300: rgb(124 212 253); --color-blue-light-400: rgb(54 191 250); --color-blue-light-500: rgb(11 165 236); --color-blue-light-600: rgb(0 134 201); --color-blue-light-700: rgb(2 106 162); --color-blue-light-800: rgb(6 89 134); --color-blue-light-900: rgb(11 74 111); --color-blue-light-950: rgb(6 44 65); --color-blue-25: rgb(245 250 255); --color-blue-50: rgb(239 248 255); --color-blue-100: rgb(209 233 255); --color-blue-200: rgb(178 221 255); --color-blue-300: rgb(132 202 255); --color-blue-400: rgb(83 177 253); --color-blue-500: rgb(46 144 250); --color-blue-600: rgb(21 112 239); --color-blue-700: rgb(23 92 211); --color-blue-800: rgb(24 73 169); --color-blue-900: rgb(25 65 133); --color-blue-950: rgb(16 42 86); --color-blue-dark-25: rgb(245 248 255); --color-blue-dark-50: rgb(239 244 255); --color-blue-dark-100: rgb(209 224 255); --color-blue-dark-200: rgb(178 204 255); --color-blue-dark-300: rgb(132 173 255); --color-blue-dark-400: rgb(82 139 255); --color-blue-dark-500: rgb(41 112 255); --color-blue-dark-600: rgb(21 94 239); --color-blue-dark-700: rgb(0 78 235); --color-blue-dark-800: rgb(0 64 193); --color-blue-dark-900: rgb(0 53 158); --color-blue-dark-950: rgb(0 34 102); --color-indigo-25: rgb(245 248 255); --color-indigo-50: rgb(238 244 255); --color-indigo-100: rgb(224 234 255); --color-indigo-200: rgb(199 215 254); --color-indigo-300: rgb(164 188 253); --color-indigo-400: rgb(128 152 249); --color-indigo-500: rgb(97 114 243); --color-indigo-600: rgb(68 76 231); --color-indigo-700: rgb(53 56 205); --color-indigo-800: rgb(45 49 166); --color-indigo-900: rgb(45 50 130); --color-indigo-950: rgb(31 35 91); --color-violet-25: rgb(251 250 255); --color-violet-50: rgb(245 243 255); --color-violet-100: rgb(236 233 254); --color-violet-200: rgb(221 214 254); --color-violet-300: rgb(195 181 253); --color-violet-400: rgb(164 138 251); --color-violet-500: rgb(135 91 247); --color-violet-600: rgb(120 57 238); --color-violet-700: rgb(105 39 218); --color-violet-800: rgb(87 32 183); --color-violet-900: rgb(73 28 150); --color-violet-950: rgb(46 18 94); --color-purple-25: rgb(250 250 255); --color-purple-50: rgb(244 243 255); --color-purple-100: rgb(235 233 254); --color-purple-200: rgb(217 214 254); --color-purple-300: rgb(189 180 254); --color-purple-400: rgb(155 138 251); --color-purple-500: rgb(122 90 248); --color-purple-600: rgb(105 56 239); --color-purple-700: rgb(89 37 220); --color-purple-800: rgb(74 31 184); --color-purple-900: rgb(62 28 150); --color-purple-950: rgb(39 17 95); --color-fuchsia-25: rgb(254 250 255); --color-fuchsia-50: rgb(253 244 255); --color-fuchsia-100: rgb(251 232 255); --color-fuchsia-200: rgb(246 208 254); --color-fuchsia-300: rgb(238 170 253); --color-fuchsia-400: rgb(228 120 250); --color-fuchsia-500: rgb(212 68 241); --color-fuchsia-600: rgb(186 36 213); --color-fuchsia-700: rgb(159 26 177); --color-fuchsia-800: rgb(130 24 144); --color-fuchsia-900: rgb(111 24 119); --color-fuchsia-950: rgb(71 16 76); --color-pink-25: rgb(254 246 251); --color-pink-50: rgb(253 242 250); --color-pink-100: rgb(252 231 246); --color-pink-200: rgb(252 206 238); --color-pink-300: rgb(250 167 224); --color-pink-400: rgb(246 112 199); --color-pink-500: rgb(238 70 188); --color-pink-600: rgb(221 37 144); --color-pink-700: rgb(193 21 116); --color-pink-800: rgb(158 22 95); --color-pink-900: rgb(133 22 81); --color-pink-950: rgb(78 13 48); --color-rose-25: rgb(255 245 246); --color-rose-50: rgb(255 241 243); --color-rose-100: rgb(255 228 232); --color-rose-200: rgb(254 205 214); --color-rose-300: rgb(254 163 180); --color-rose-400: rgb(253 111 142); --color-rose-500: rgb(246 61 104); --color-rose-600: rgb(227 27 84); --color-rose-700: rgb(192 16 72); --color-rose-800: rgb(161 16 67); --color-rose-900: rgb(137 18 62); --color-rose-950: rgb(81 11 36); --color-orange-dark-25: rgb(255 249 245); --color-orange-dark-50: rgb(255 244 237); --color-orange-dark-100: rgb(255 230 213); --color-orange-dark-200: rgb(255 214 174); --color-orange-dark-300: rgb(255 156 102); --color-orange-dark-400: rgb(255 105 46); --color-orange-dark-500: rgb(255 68 5); --color-orange-dark-600: rgb(230 46 5); --color-orange-dark-700: rgb(188 27 6); --color-orange-dark-800: rgb(151 24 12); --color-orange-dark-900: rgb(119 26 13); --color-orange-dark-950: rgb(87 19 10); --color-orange-25: rgb(254 250 245); --color-orange-50: rgb(254 246 238); --color-orange-100: rgb(253 234 215); --color-orange-200: rgb(249 219 175); --color-orange-300: rgb(247 178 122); --color-orange-400: rgb(243 135 68); --color-orange-500: rgb(239 104 32); --color-orange-600: rgb(224 79 22); --color-orange-700: rgb(185 56 21); --color-orange-800: rgb(147 47 25); --color-orange-900: rgb(119 41 23); --color-orange-950: rgb(81 28 16); --color-yellow-25: rgb(254 253 240); --color-yellow-50: rgb(254 251 232); --color-yellow-100: rgb(254 247 195); --color-yellow-200: rgb(254 238 149); --color-yellow-300: rgb(253 226 114); --color-yellow-400: rgb(250 197 21); --color-yellow-500: rgb(234 170 8); --color-yellow-600: rgb(202 133 4); --color-yellow-700: rgb(161 92 7); --color-yellow-800: rgb(133 74 14); --color-yellow-900: rgb(113 59 18); --color-yellow-950: rgb(84 44 13); }@layer base{*{border-color:#e5e7eb}body{background-color:#fff;color:#111827;font-feature-settings:"rlig" 1,"calt" 1}button[data-rac]{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Button, type ButtonProps } from './primitives/button';
|
|
2
|
+
export { Input, type InputProps } from './primitives/input';
|
|
3
|
+
export { Checkbox, type CheckboxProps } from './primitives/checkbox';
|
|
4
|
+
export { Toggle, type ToggleProps } from './primitives/toggle';
|
|
5
|
+
export { Badge, type BadgeProps } from './primitives/badge';
|
|
6
|
+
export { Avatar, type AvatarProps } from './primitives/avatar';
|
|
7
|
+
export { Icon, type IconProps, type IconName } from './primitives/icon';
|
|
8
|
+
export { Text, type TextProps } from './primitives/text';
|
|
9
|
+
export { Heading, type HeadingProps } from './primitives/heading';
|
|
10
|
+
export { cn } from './utils/cn';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { cn as e } from "./utils/cn.js";
|
|
3
|
+
import { Button as x } from "./primitives/button/button.js";
|
|
4
|
+
import { Input as f } from "./primitives/input/input.js";
|
|
5
|
+
import { Checkbox as a } from "./primitives/checkbox/checkbox.js";
|
|
6
|
+
import { Toggle as c } from "./primitives/toggle/toggle.js";
|
|
7
|
+
import { Badge as i } from "./primitives/badge/badge.js";
|
|
8
|
+
import { Avatar as B } from "./primitives/avatar/avatar.js";
|
|
9
|
+
import { Icon as T } from "./primitives/icon/icon.js";
|
|
10
|
+
import { Text as h } from "./primitives/text/text.js";
|
|
11
|
+
import { Heading as l } from "./primitives/heading/heading.js";
|
|
12
|
+
export {
|
|
13
|
+
B as Avatar,
|
|
14
|
+
i as Badge,
|
|
15
|
+
x as Button,
|
|
16
|
+
a as Checkbox,
|
|
17
|
+
l as Heading,
|
|
18
|
+
T as Icon,
|
|
19
|
+
f as Input,
|
|
20
|
+
h as Text,
|
|
21
|
+
c as Toggle,
|
|
22
|
+
e as cn
|
|
23
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { clsx as O } from "../../clsx/dist/clsx.js";
|
|
2
|
+
const m = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, y = O, j = (e, l) => (n) => {
|
|
3
|
+
var s;
|
|
4
|
+
if ((l == null ? void 0 : l.variants) == null) return y(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
|
|
5
|
+
const { variants: r, defaultVariants: d } = l, V = Object.keys(r).map((t) => {
|
|
6
|
+
const a = n == null ? void 0 : n[t], u = d == null ? void 0 : d[t];
|
|
7
|
+
if (a === null) return null;
|
|
8
|
+
const i = m(a) || m(u);
|
|
9
|
+
return r[t][i];
|
|
10
|
+
}), v = n && Object.entries(n).reduce((t, a) => {
|
|
11
|
+
let [u, i] = a;
|
|
12
|
+
return i === void 0 || (t[u] = i), t;
|
|
13
|
+
}, {}), N = l == null || (s = l.compoundVariants) === null || s === void 0 ? void 0 : s.reduce((t, a) => {
|
|
14
|
+
let { class: u, className: i, ...f } = a;
|
|
15
|
+
return Object.entries(f).every((C) => {
|
|
16
|
+
let [c, o] = C;
|
|
17
|
+
return Array.isArray(o) ? o.includes({
|
|
18
|
+
...d,
|
|
19
|
+
...v
|
|
20
|
+
}[c]) : {
|
|
21
|
+
...d,
|
|
22
|
+
...v
|
|
23
|
+
}[c] === o;
|
|
24
|
+
}) ? [
|
|
25
|
+
...t,
|
|
26
|
+
u,
|
|
27
|
+
i
|
|
28
|
+
] : t;
|
|
29
|
+
}, []);
|
|
30
|
+
return y(e, V, N, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
j as cva,
|
|
34
|
+
y as cx
|
|
35
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
function a(r) {
|
|
2
|
+
var n, f, t = "";
|
|
3
|
+
if (typeof r == "string" || typeof r == "number") t += r;
|
|
4
|
+
else if (typeof r == "object") if (Array.isArray(r)) {
|
|
5
|
+
var o = r.length;
|
|
6
|
+
for (n = 0; n < o; n++) r[n] && (f = a(r[n])) && (t && (t += " "), t += f);
|
|
7
|
+
} else for (f in r) r[f] && (t && (t += " "), t += f);
|
|
8
|
+
return t;
|
|
9
|
+
}
|
|
10
|
+
function i() {
|
|
11
|
+
for (var r, n, f = 0, t = "", o = arguments.length; f < o; f++) (r = arguments[f]) && (n = a(r)) && (t && (t += " "), t += n);
|
|
12
|
+
return t;
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
i as clsx,
|
|
16
|
+
i as default
|
|
17
|
+
};
|