@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 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
- canvas.addEventListener("mousemove", onMouse);
1604
- canvas.addEventListener("mouseleave", onMouseLeave);
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
- canvas.removeEventListener("mousemove", onMouse);
1716
- canvas.removeEventListener("mouseleave", onMouseLeave);
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)(