@vacano/ui 0.0.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/LICENSE.md +21 -0
- package/README.md +182 -0
- package/dist/Minus-BxmZQPsb.js +1212 -0
- package/dist/Minus-BxmZQPsb.js.map +1 -0
- package/dist/Minus-C6HNRQfO.cjs +16 -0
- package/dist/Minus-C6HNRQfO.cjs.map +1 -0
- package/dist/icons.cjs +2 -0
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.d.ts +3805 -0
- package/dist/icons.js +47869 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.cjs +755 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +899 -0
- package/dist/index.js +6599 -0
- package/dist/index.js.map +1 -0
- package/package.json +145 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Iakov Salikov (Vacano House)
|
|
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,182 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./assets/logo-with-text.svg" alt="Vacano UI" width="300" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
Vacano React components library
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/@vacano/ui"><img src="https://img.shields.io/npm/v/@vacano/ui" alt="npm version" /></a>
|
|
11
|
+
<a href="https://github.com/vacano-house/vacano-ui/blob/master/LICENSE.md"><img src="https://img.shields.io/npm/l/@vacano/ui" alt="license" /></a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm add @vacano/ui @emotion/react
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @vacano/ui @emotion/react
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
yarn add @vacano/ui @emotion/react
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Requirements
|
|
31
|
+
|
|
32
|
+
- React 19+
|
|
33
|
+
- @emotion/react 11+
|
|
34
|
+
|
|
35
|
+
## Fonts
|
|
36
|
+
|
|
37
|
+
Vacano UI uses the Inter font family. You need to include it in your project:
|
|
38
|
+
|
|
39
|
+
**Option 1: Google Fonts (recommended)**
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
43
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
44
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Option 2: Fontsource**
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pnpm add @fontsource/inter
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
import '@fontsource/inter/400.css'
|
|
55
|
+
import '@fontsource/inter/500.css'
|
|
56
|
+
import '@fontsource/inter/600.css'
|
|
57
|
+
import '@fontsource/inter/700.css'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Usage
|
|
61
|
+
|
|
62
|
+
Wrap your app with `ThemeProvider`:
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
import { ThemeProvider } from '@vacano/ui'
|
|
66
|
+
|
|
67
|
+
function App() {
|
|
68
|
+
return (
|
|
69
|
+
<ThemeProvider defaultMode="light">
|
|
70
|
+
{/* Your app */}
|
|
71
|
+
</ThemeProvider>
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Import and use components:
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
import { Button, Input, Checkbox } from '@vacano/ui'
|
|
80
|
+
|
|
81
|
+
function MyComponent() {
|
|
82
|
+
return (
|
|
83
|
+
<>
|
|
84
|
+
<Button variant="primary">Click me</Button>
|
|
85
|
+
<Input placeholder="Enter text..." />
|
|
86
|
+
<Checkbox label="Accept terms" />
|
|
87
|
+
</>
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Theming
|
|
93
|
+
|
|
94
|
+
Switch between light and dark themes:
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
import { useTheme } from '@vacano/ui'
|
|
98
|
+
|
|
99
|
+
function ThemeToggle() {
|
|
100
|
+
const { mode, setMode } = useTheme()
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<button onClick={() => setMode(mode === 'light' ? 'dark' : 'light')}>
|
|
104
|
+
Toggle theme
|
|
105
|
+
</button>
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Icons
|
|
111
|
+
|
|
112
|
+
Vacano UI includes a complete icon set powered by [Lucide](https://lucide.dev/) — a beautiful, consistent, and open-source icon library with 1500+ icons.
|
|
113
|
+
|
|
114
|
+
Icons are exported from a separate entry point for optimal tree-shaking. Only icons you actually import will be included in your bundle.
|
|
115
|
+
|
|
116
|
+
```tsx
|
|
117
|
+
import { Search, Settings, User, Bell } from '@vacano/ui/icons'
|
|
118
|
+
|
|
119
|
+
function MyComponent() {
|
|
120
|
+
return (
|
|
121
|
+
<div>
|
|
122
|
+
<Search size={24} />
|
|
123
|
+
<Settings size={24} color="#666" />
|
|
124
|
+
</div>
|
|
125
|
+
)
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Use icons with components:
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
import { Button, Input } from '@vacano/ui'
|
|
133
|
+
import { Search, Download } from '@vacano/ui/icons'
|
|
134
|
+
|
|
135
|
+
function MyComponent() {
|
|
136
|
+
return (
|
|
137
|
+
<>
|
|
138
|
+
<Button icon={<Search size={18} />}>Search</Button>
|
|
139
|
+
<Input icon={<Search size={16} />} placeholder="Search..." />
|
|
140
|
+
</>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Icon Props
|
|
146
|
+
|
|
147
|
+
| Prop | Type | Default | Description |
|
|
148
|
+
|------|------|---------|-------------|
|
|
149
|
+
| `size` | `number` | `24` | Icon width and height in pixels |
|
|
150
|
+
| `color` | `string` | `currentColor` | Icon stroke color |
|
|
151
|
+
| `strokeWidth` | `number` | `2` | Stroke width |
|
|
152
|
+
|
|
153
|
+
Browse all available icons at [lucide.dev/icons](https://lucide.dev/icons).
|
|
154
|
+
|
|
155
|
+
> **License:** Lucide icons are licensed under the [ISC License](https://github.com/lucide-icons/lucide/blob/main/LICENSE) — free for personal and commercial use.
|
|
156
|
+
|
|
157
|
+
## Features
|
|
158
|
+
|
|
159
|
+
- **Atomic Design** - Components organized as atoms, molecules, and organisms
|
|
160
|
+
- **Theming** - Built-in light and dark themes with Emotion
|
|
161
|
+
- **TypeScript** - Full type definitions included
|
|
162
|
+
- **Tree Shakeable** - Import only what you need
|
|
163
|
+
- **1500+ Icons** - Lucide icon set included
|
|
164
|
+
|
|
165
|
+
## Development
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
pnpm install # Install dependencies
|
|
169
|
+
pnpm storybook # Start Storybook
|
|
170
|
+
pnpm test # Run tests
|
|
171
|
+
pnpm build # Build library
|
|
172
|
+
pnpm docs:dev # Start docs dev server
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Links
|
|
176
|
+
|
|
177
|
+
- [Documentation](https://ui.vacano.io)
|
|
178
|
+
- [Storybook](https://ui.vacano.io/storybook/)
|
|
179
|
+
|
|
180
|
+
## License
|
|
181
|
+
|
|
182
|
+
MIT
|