@igorao79/uivix 0.1.0 → 0.1.2
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 +215 -0
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# @igorao79/uivix
|
|
2
|
+
|
|
3
|
+
A modern React + Tailwind CSS component library with 50+ animated components, text effects, and backgrounds.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @igorao79/uivix
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Peer dependencies:**
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install react react-dom tailwindcss
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { Button, Card, CardHeader, CardTitle, CardContent } from "@igorao79/uivix";
|
|
21
|
+
|
|
22
|
+
function App() {
|
|
23
|
+
return (
|
|
24
|
+
<Card variant="spotlight">
|
|
25
|
+
<CardHeader>
|
|
26
|
+
<CardTitle>Hello uivix</CardTitle>
|
|
27
|
+
</CardHeader>
|
|
28
|
+
<CardContent>
|
|
29
|
+
<Button variant="gradient">Click me</Button>
|
|
30
|
+
</CardContent>
|
|
31
|
+
</Card>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Components
|
|
37
|
+
|
|
38
|
+
### Form
|
|
39
|
+
|
|
40
|
+
| Component | Variants | Description |
|
|
41
|
+
|-----------|----------|-------------|
|
|
42
|
+
| `Button` | default, secondary, outline, ghost, destructive, link, gradient, glow, soft | Customizable button with loading state, icons |
|
|
43
|
+
| `Input` | default, filled, underline, floating, ghost, glow | Text input with label, error state, icons |
|
|
44
|
+
| `PasswordInput` | - | Password input with show/hide toggle |
|
|
45
|
+
| `SearchInput` | - | Search input with clear button |
|
|
46
|
+
| `OTPInput` | - | One-time password input with auto-advance |
|
|
47
|
+
| `Label` | - | Accessible form label |
|
|
48
|
+
| `Toggle` | default, ios, material, outline, glow, pill, slim, labeled | Toggle switch with multiple styles |
|
|
49
|
+
|
|
50
|
+
### Card
|
|
51
|
+
|
|
52
|
+
| Component | Variants | Description |
|
|
53
|
+
|-----------|----------|-------------|
|
|
54
|
+
| `Card` | default, bordered, elevated, ghost, gradient, glass, spotlight, neon, tilt, animated-border, noise, lifted | Card container with mouse-tracking effects |
|
|
55
|
+
| `CardHeader` | - | Card header section |
|
|
56
|
+
| `CardTitle` | - | Card heading |
|
|
57
|
+
| `CardDescription` | - | Card secondary text |
|
|
58
|
+
| `CardContent` | - | Card body |
|
|
59
|
+
| `CardFooter` | - | Card footer with flex layout |
|
|
60
|
+
|
|
61
|
+
### Text Animations
|
|
62
|
+
|
|
63
|
+
| Component | Description |
|
|
64
|
+
|-----------|-------------|
|
|
65
|
+
| `TypewriterText` | Typewriter effect with blinking cursor |
|
|
66
|
+
| `GradientText` | Animated gradient text colors |
|
|
67
|
+
| `GlitchText` | Periodic glitch/distortion effect |
|
|
68
|
+
| `ShimmerText` | Shimmer sweep across text |
|
|
69
|
+
| `WaveText` | Per-letter wave animation |
|
|
70
|
+
| `BlurText` | Blur-in reveal per word or letter |
|
|
71
|
+
| `CounterText` | Animated number counter |
|
|
72
|
+
| `MediaText` | Text with image/video fill |
|
|
73
|
+
| `SparklesText` | Floating sparkle particles around text |
|
|
74
|
+
| `HighlightText` | Animated marker highlight (7 styles: marker, underline, box, strikethrough, gradient, glow, bracket) |
|
|
75
|
+
|
|
76
|
+
### Backgrounds
|
|
77
|
+
|
|
78
|
+
| Component | Description |
|
|
79
|
+
|-----------|-------------|
|
|
80
|
+
| `ParticleBackground` | Floating text/emoji/image nodes with connecting lines |
|
|
81
|
+
| `AuroraBackground` | Northern lights color animation |
|
|
82
|
+
| `GridBackground` | Animated dot/line grid |
|
|
83
|
+
| `StarfieldBackground` | Flying through stars effect |
|
|
84
|
+
| `WaveBackground` | Layered wave animation |
|
|
85
|
+
| `GradientMeshBackground` | Animated gradient mesh blobs |
|
|
86
|
+
| `MatrixRainBackground` | Matrix-style falling characters |
|
|
87
|
+
| `BokehBackground` | Blurred floating shapes (circle, hexagon, diamond, triangle, star, ring, mixed) |
|
|
88
|
+
| `PixelBackground` | Pixel art backgrounds (rain, life, terrain, noise) |
|
|
89
|
+
| `RippleBackground` | Expanding ripple circles |
|
|
90
|
+
| `DotPatternBackground` | Animated dot pattern |
|
|
91
|
+
| `RetroGridBackground` | 80s-style perspective grid |
|
|
92
|
+
| `MeteorBackground` | Falling meteor streaks |
|
|
93
|
+
| `BeamsBackground` | Animated light beams |
|
|
94
|
+
|
|
95
|
+
### Other
|
|
96
|
+
|
|
97
|
+
| Component | Variants | Description |
|
|
98
|
+
|-----------|----------|-------------|
|
|
99
|
+
| `Badge` | 16 variants (default, success, warning, destructive, glow, gradient, glass, neon, shimmer, premium, etc.) | Status badges with dot indicator |
|
|
100
|
+
| `Tooltip` | 10 variants (default, dark, light, gradient, glass, neon, success, warning, error, outlined) | Hover tooltip with arrow |
|
|
101
|
+
| `Avatar` | circle, square | Avatar with status dot (online, offline, busy, away) |
|
|
102
|
+
| `Progress` | - | Animated progress bar |
|
|
103
|
+
| `Skeleton` | - | Loading skeleton placeholder |
|
|
104
|
+
| `Separator` | - | Horizontal/vertical divider |
|
|
105
|
+
| `Marquee` | - | Scrolling content ticker |
|
|
106
|
+
|
|
107
|
+
### Utilities
|
|
108
|
+
|
|
109
|
+
| Export | Description |
|
|
110
|
+
|--------|-------------|
|
|
111
|
+
| `cn()` | Utility function combining `clsx` + `tailwind-merge` |
|
|
112
|
+
|
|
113
|
+
## Usage Examples
|
|
114
|
+
|
|
115
|
+
### Button
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
import { Button } from "@igorao79/uivix";
|
|
119
|
+
|
|
120
|
+
<Button variant="gradient" size="lg" loading>
|
|
121
|
+
Submitting...
|
|
122
|
+
</Button>
|
|
123
|
+
|
|
124
|
+
<Button variant="glow" leftIcon={<StarIcon />}>
|
|
125
|
+
Glow Button
|
|
126
|
+
</Button>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Text Animations
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
import { TypewriterText, GlitchText, HighlightText } from "@igorao79/uivix";
|
|
133
|
+
|
|
134
|
+
<TypewriterText words={["Hello", "World", "uivix"]} speed={100} />
|
|
135
|
+
|
|
136
|
+
<GlitchText intensity={5}>GLITCH</GlitchText>
|
|
137
|
+
|
|
138
|
+
<p>
|
|
139
|
+
This is an <HighlightText variant="marker" color="rgba(139,92,246,0.4)">important concept</HighlightText> in design.
|
|
140
|
+
</p>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Backgrounds
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
import { AuroraBackground, BokehBackground, PixelBackground } from "@igorao79/uivix";
|
|
147
|
+
|
|
148
|
+
// Full-page aurora
|
|
149
|
+
<AuroraBackground />
|
|
150
|
+
|
|
151
|
+
// Bokeh with mixed shapes
|
|
152
|
+
<BokehBackground shape="mixed" count={20} />
|
|
153
|
+
|
|
154
|
+
// Pixel art Game of Life
|
|
155
|
+
<PixelBackground variant="life" pixelSize={6} />
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Card with Effects
|
|
159
|
+
|
|
160
|
+
```tsx
|
|
161
|
+
import { Card, CardHeader, CardTitle, CardContent, CardFooter, Button } from "@igorao79/uivix";
|
|
162
|
+
|
|
163
|
+
// 3D tilt card
|
|
164
|
+
<Card variant="tilt">
|
|
165
|
+
<CardHeader>
|
|
166
|
+
<CardTitle>3D Tilt</CardTitle>
|
|
167
|
+
</CardHeader>
|
|
168
|
+
<CardContent>
|
|
169
|
+
<p>Move your mouse over me!</p>
|
|
170
|
+
</CardContent>
|
|
171
|
+
<CardFooter>
|
|
172
|
+
<Button>Action</Button>
|
|
173
|
+
</CardFooter>
|
|
174
|
+
</Card>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Toggle & Tooltip
|
|
178
|
+
|
|
179
|
+
```tsx
|
|
180
|
+
import { Toggle, Tooltip, Badge } from "@igorao79/uivix";
|
|
181
|
+
|
|
182
|
+
<Toggle variant="ios" size="md" label="Dark Mode" />
|
|
183
|
+
|
|
184
|
+
<Tooltip content="Hello!" side="top" variant="gradient">
|
|
185
|
+
<button>Hover me</button>
|
|
186
|
+
</Tooltip>
|
|
187
|
+
|
|
188
|
+
<Badge variant="premium" dot>PRO</Badge>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Customization
|
|
192
|
+
|
|
193
|
+
All components accept `className` for Tailwind overrides:
|
|
194
|
+
|
|
195
|
+
```tsx
|
|
196
|
+
<Button className="bg-red-500 hover:bg-red-600 text-xl rounded-none">
|
|
197
|
+
Custom Button
|
|
198
|
+
</Button>
|
|
199
|
+
|
|
200
|
+
<Card className="bg-blue-950 border-blue-500">
|
|
201
|
+
Custom styled card
|
|
202
|
+
</Card>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## TypeScript
|
|
206
|
+
|
|
207
|
+
Full TypeScript support with exported types for all components:
|
|
208
|
+
|
|
209
|
+
```tsx
|
|
210
|
+
import type { ButtonProps, CardProps, TooltipVariant } from "@igorao79/uivix";
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## License
|
|
214
|
+
|
|
215
|
+
MIT
|
package/dist/index.js
CHANGED
|
@@ -1600,8 +1600,8 @@ var ParticleBackground = ({
|
|
|
1600
1600
|
const onMouseLeave = () => {
|
|
1601
1601
|
mouseRef.current = { x: -9999, y: -9999 };
|
|
1602
1602
|
};
|
|
1603
|
-
|
|
1604
|
-
|
|
1603
|
+
window.addEventListener("mousemove", onMouse);
|
|
1604
|
+
window.addEventListener("mouseleave", onMouseLeave);
|
|
1605
1605
|
const getColor = (shade, alpha) => {
|
|
1606
1606
|
const v = 40;
|
|
1607
1607
|
const r = Math.round(baseR + (shade - 0.5) * v);
|
|
@@ -1712,8 +1712,8 @@ var ParticleBackground = ({
|
|
|
1712
1712
|
return () => {
|
|
1713
1713
|
cancelAnimationFrame(rafRef.current);
|
|
1714
1714
|
window.removeEventListener("resize", resize);
|
|
1715
|
-
|
|
1716
|
-
|
|
1715
|
+
window.removeEventListener("mousemove", onMouse);
|
|
1716
|
+
window.removeEventListener("mouseleave", onMouseLeave);
|
|
1717
1717
|
};
|
|
1718
1718
|
}, [items, count, connectionDistance, arrows, mouseDistance, color, speed, fontSize, imageSize, lineWidth, maxOpacity, normalize]);
|
|
1719
1719
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|