create-neon-flux 1.0.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.
@@ -0,0 +1,273 @@
1
+ /* Glitch Effect */
2
+ .glitch {
3
+ position: relative;
4
+ font-family: 'Orbitron', sans-serif;
5
+ font-weight: 700;
6
+ }
7
+
8
+ .glitch::before,
9
+ .glitch::after {
10
+ content: attr(data-text);
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ }
17
+
18
+ .glitch::before {
19
+ left: 2px;
20
+ text-shadow: -2px 0 var(--neon-pink);
21
+ clip: rect(44px, 450px, 56px, 0);
22
+ animation: glitch-anim-1 2s infinite linear alternate-reverse;
23
+ }
24
+
25
+ .glitch::after {
26
+ left: -2px;
27
+ text-shadow: -2px 0 var(--neon-cyan);
28
+ clip: rect(44px, 450px, 56px, 0);
29
+ animation: glitch-anim-2 2s infinite linear alternate-reverse;
30
+ }
31
+
32
+ @keyframes glitch-anim-1 {
33
+ 0% {
34
+ clip: rect(10px, 9999px, 31px, 0);
35
+ transform: skew(0.3deg);
36
+ }
37
+ 5% {
38
+ clip: rect(70px, 9999px, 71px, 0);
39
+ transform: skew(0.5deg);
40
+ }
41
+ 10% {
42
+ clip: rect(60px, 9999px, 68px, 0);
43
+ transform: skew(0.2deg);
44
+ }
45
+ 15% {
46
+ clip: rect(80px, 9999px, 10px, 0);
47
+ transform: skew(0.4deg);
48
+ }
49
+ 20% {
50
+ clip: rect(40px, 9999px, 71px, 0);
51
+ transform: skew(0.1deg);
52
+ }
53
+ 25% {
54
+ clip: rect(10px, 9999px, 85px, 0);
55
+ transform: skew(0.3deg);
56
+ }
57
+ 30% {
58
+ clip: rect(65px, 9999px, 25px, 0);
59
+ transform: skew(0.6deg);
60
+ }
61
+ 35% {
62
+ clip: rect(40px, 9999px, 60px, 0);
63
+ transform: skew(0.2deg);
64
+ }
65
+ 40% {
66
+ clip: rect(20px, 9999px, 80px, 0);
67
+ transform: skew(0.4deg);
68
+ }
69
+ 45% {
70
+ clip: rect(90px, 9999px, 15px, 0);
71
+ transform: skew(0.1deg);
72
+ }
73
+ 50% {
74
+ clip: rect(30px, 9999px, 55px, 0);
75
+ transform: skew(0.5deg);
76
+ }
77
+ 55% {
78
+ clip: rect(70px, 9999px, 45px, 0);
79
+ transform: skew(0.3deg);
80
+ }
81
+ 60% {
82
+ clip: rect(15px, 9999px, 75px, 0);
83
+ transform: skew(0.2deg);
84
+ }
85
+ 65% {
86
+ clip: rect(85px, 9999px, 20px, 0);
87
+ transform: skew(0.4deg);
88
+ }
89
+ 70% {
90
+ clip: rect(35px, 9999px, 65px, 0);
91
+ transform: skew(0.6deg);
92
+ }
93
+ 75% {
94
+ clip: rect(55px, 9999px, 35px, 0);
95
+ transform: skew(0.1deg);
96
+ }
97
+ 80% {
98
+ clip: rect(25px, 9999px, 90px, 0);
99
+ transform: skew(0.3deg);
100
+ }
101
+ 85% {
102
+ clip: rect(75px, 9999px, 30px, 0);
103
+ transform: skew(0.5deg);
104
+ }
105
+ 90% {
106
+ clip: rect(45px, 9999px, 50px, 0);
107
+ transform: skew(0.2deg);
108
+ }
109
+ 95% {
110
+ clip: rect(95px, 9999px, 5px, 0);
111
+ transform: skew(0.4deg);
112
+ }
113
+ 100% {
114
+ clip: rect(5px, 9999px, 95px, 0);
115
+ transform: skew(0.6deg);
116
+ }
117
+ }
118
+
119
+ @keyframes glitch-anim-2 {
120
+ 0% {
121
+ clip: rect(65px, 9999px, 100px, 0);
122
+ transform: skew(0.5deg);
123
+ }
124
+ 5% {
125
+ clip: rect(30px, 9999px, 25px, 0);
126
+ transform: skew(0.3deg);
127
+ }
128
+ 10% {
129
+ clip: rect(90px, 9999px, 35px, 0);
130
+ transform: skew(0.6deg);
131
+ }
132
+ 15% {
133
+ clip: rect(20px, 9999px, 80px, 0);
134
+ transform: skew(0.2deg);
135
+ }
136
+ 20% {
137
+ clip: rect(70px, 9999px, 45px, 0);
138
+ transform: skew(0.4deg);
139
+ }
140
+ 25% {
141
+ clip: rect(40px, 9999px, 60px, 0);
142
+ transform: skew(0.1deg);
143
+ }
144
+ 30% {
145
+ clip: rect(85px, 9999px, 15px, 0);
146
+ transform: skew(0.3deg);
147
+ }
148
+ 35% {
149
+ clip: rect(10px, 9999px, 75px, 0);
150
+ transform: skew(0.5deg);
151
+ }
152
+ 40% {
153
+ clip: rect(55px, 9999px, 50px, 0);
154
+ transform: skew(0.2deg);
155
+ }
156
+ 45% {
157
+ clip: rect(25px, 9999px, 95px, 0);
158
+ transform: skew(0.4deg);
159
+ }
160
+ 50% {
161
+ clip: rect(80px, 9999px, 20px, 0);
162
+ transform: skew(0.6deg);
163
+ }
164
+ 55% {
165
+ clip: rect(35px, 9999px, 70px, 0);
166
+ transform: skew(0.1deg);
167
+ }
168
+ 60% {
169
+ clip: rect(95px, 9999px, 30px, 0);
170
+ transform: skew(0.3deg);
171
+ }
172
+ 65% {
173
+ clip: rect(15px, 9999px, 85px, 0);
174
+ transform: skew(0.5deg);
175
+ }
176
+ 70% {
177
+ clip: rect(60px, 9999px, 40px, 0);
178
+ transform: skew(0.2deg);
179
+ }
180
+ 75% {
181
+ clip: rect(45px, 9999px, 65px, 0);
182
+ transform: skew(0.4deg);
183
+ }
184
+ 80% {
185
+ clip: rect(75px, 9999px, 55px, 0);
186
+ transform: skew(0.6deg);
187
+ }
188
+ 85% {
189
+ clip: rect(5px, 9999px, 90px, 0);
190
+ transform: skew(0.1deg);
191
+ }
192
+ 90% {
193
+ clip: rect(50px, 9999px, 10px, 0);
194
+ transform: skew(0.3deg);
195
+ }
196
+ 95% {
197
+ clip: rect(100px, 9999px, 48px, 0);
198
+ transform: skew(0.5deg);
199
+ }
200
+ 100% {
201
+ clip: rect(22px, 9999px, 68px, 0);
202
+ transform: skew(0.2deg);
203
+ }
204
+ }
205
+
206
+ /* RGB Split Effect */
207
+ .rgb-split {
208
+ position: relative;
209
+ }
210
+
211
+ .rgb-split::before,
212
+ .rgb-split::after {
213
+ content: attr(data-text);
214
+ position: absolute;
215
+ top: 0;
216
+ left: 0;
217
+ width: 100%;
218
+ height: 100%;
219
+ mix-blend-mode: screen;
220
+ }
221
+
222
+ .rgb-split::before {
223
+ color: var(--neon-pink);
224
+ animation: rgb-shift-1 1.5s infinite;
225
+ }
226
+
227
+ .rgb-split::after {
228
+ color: var(--neon-cyan);
229
+ animation: rgb-shift-2 1.5s infinite;
230
+ }
231
+
232
+ @keyframes rgb-shift-1 {
233
+ 0%, 100% {
234
+ transform: translate(0, 0);
235
+ }
236
+ 33% {
237
+ transform: translate(2px, 0);
238
+ }
239
+ 66% {
240
+ transform: translate(-2px, 0);
241
+ }
242
+ }
243
+
244
+ @keyframes rgb-shift-2 {
245
+ 0%, 100% {
246
+ transform: translate(0, 0);
247
+ }
248
+ 33% {
249
+ transform: translate(-2px, 0);
250
+ }
251
+ 66% {
252
+ transform: translate(2px, 0);
253
+ }
254
+ }
255
+
256
+ /* Chromatic Aberration */
257
+ .chromatic-aberration {
258
+ position: relative;
259
+ animation: chromatic-pulse 3s ease-in-out infinite;
260
+ }
261
+
262
+ @keyframes chromatic-pulse {
263
+ 0%, 100% {
264
+ text-shadow:
265
+ -2px 0 var(--neon-pink),
266
+ 2px 0 var(--neon-cyan);
267
+ }
268
+ 50% {
269
+ text-shadow:
270
+ -4px 0 var(--neon-pink),
271
+ 4px 0 var(--neon-cyan);
272
+ }
273
+ }
@@ -0,0 +1,130 @@
1
+ /* Neon Text Effects */
2
+ .neon-text {
3
+ animation: flicker 3s linear infinite;
4
+ }
5
+
6
+ .neon-text-pink {
7
+ color: var(--neon-pink);
8
+ text-shadow:
9
+ 0 0 7px var(--neon-pink),
10
+ 0 0 10px var(--neon-pink),
11
+ 0 0 21px var(--neon-pink),
12
+ 0 0 42px var(--neon-pink),
13
+ 0 0 82px var(--neon-pink),
14
+ 0 0 92px var(--neon-pink),
15
+ 0 0 102px var(--neon-pink),
16
+ 0 0 151px var(--neon-pink);
17
+ }
18
+
19
+ .neon-text-cyan {
20
+ color: var(--neon-cyan);
21
+ text-shadow:
22
+ 0 0 7px var(--neon-cyan),
23
+ 0 0 10px var(--neon-cyan),
24
+ 0 0 21px var(--neon-cyan),
25
+ 0 0 42px var(--neon-cyan),
26
+ 0 0 82px var(--neon-cyan),
27
+ 0 0 92px var(--neon-cyan),
28
+ 0 0 102px var(--neon-cyan),
29
+ 0 0 151px var(--neon-cyan);
30
+ }
31
+
32
+ .neon-text-yellow {
33
+ color: var(--neon-yellow);
34
+ text-shadow:
35
+ 0 0 7px var(--neon-yellow),
36
+ 0 0 10px var(--neon-yellow),
37
+ 0 0 21px var(--neon-yellow),
38
+ 0 0 42px var(--neon-yellow),
39
+ 0 0 82px var(--neon-yellow),
40
+ 0 0 92px var(--neon-yellow),
41
+ 0 0 102px var(--neon-yellow),
42
+ 0 0 151px var(--neon-yellow);
43
+ }
44
+
45
+ /* Neon Borders */
46
+ .neon-border {
47
+ border: 2px solid var(--neon-cyan);
48
+ box-shadow:
49
+ 0 0 5px var(--neon-cyan),
50
+ 0 0 10px var(--neon-cyan),
51
+ inset 0 0 5px var(--neon-cyan),
52
+ inset 0 0 10px var(--neon-cyan);
53
+ }
54
+
55
+ .neon-border-pink {
56
+ border-color: var(--neon-pink);
57
+ box-shadow:
58
+ 0 0 5px var(--neon-pink),
59
+ 0 0 10px var(--neon-pink),
60
+ inset 0 0 5px var(--neon-pink),
61
+ inset 0 0 10px var(--neon-pink);
62
+ }
63
+
64
+ /* Neon Buttons */
65
+ .neon-button {
66
+ position: relative;
67
+ padding: 12px 32px;
68
+ font-family: 'Orbitron', sans-serif;
69
+ font-size: 16px;
70
+ font-weight: 700;
71
+ text-transform: uppercase;
72
+ letter-spacing: 2px;
73
+ color: var(--neon-cyan);
74
+ background: transparent;
75
+ border: 2px solid var(--neon-cyan);
76
+ cursor: pointer;
77
+ transition: all 0.3s ease;
78
+ overflow: hidden;
79
+ }
80
+
81
+ .neon-button::before {
82
+ content: '';
83
+ position: absolute;
84
+ top: 0;
85
+ left: -100%;
86
+ width: 100%;
87
+ height: 100%;
88
+ background: linear-gradient(90deg, transparent, var(--neon-cyan), transparent);
89
+ transition: left 0.5s;
90
+ }
91
+
92
+ .neon-button:hover::before {
93
+ left: 100%;
94
+ }
95
+
96
+ .neon-button:hover {
97
+ color: var(--cyber-black);
98
+ background: var(--neon-cyan);
99
+ box-shadow:
100
+ 0 0 10px var(--neon-cyan),
101
+ 0 0 20px var(--neon-cyan),
102
+ 0 0 40px var(--neon-cyan),
103
+ 0 0 80px var(--neon-cyan);
104
+ text-shadow: none;
105
+ }
106
+
107
+ /* Neon Pulse */
108
+ .neon-pulse {
109
+ animation: pulse-neon 2s ease-in-out infinite;
110
+ }
111
+
112
+ @keyframes pulse-neon {
113
+ 0%, 100% {
114
+ opacity: 1;
115
+ filter: brightness(1);
116
+ }
117
+ 50% {
118
+ opacity: 0.8;
119
+ filter: brightness(1.3);
120
+ }
121
+ }
122
+
123
+ /* Neon Glow on Hover */
124
+ .neon-glow-hover {
125
+ transition: all 0.3s ease;
126
+ }
127
+
128
+ .neon-glow-hover:hover {
129
+ filter: drop-shadow(0 0 10px currentColor) brightness(1.2);
130
+ }
@@ -0,0 +1,112 @@
1
+ import type { Config } from "tailwindcss";
2
+
3
+ const config: Config = {
4
+ content: [
5
+ "./pages/**/*.{js,ts,jsx,tsx,mdx}",
6
+ "./components/**/*.{js,ts,jsx,tsx,mdx}",
7
+ "./app/**/*.{js,ts,jsx,tsx,mdx}",
8
+ ],
9
+ theme: {
10
+ extend: {
11
+ colors: {
12
+ cyber: {
13
+ black: "#0A0A0A",
14
+ dark: "#0D0221",
15
+ grid: "#1A1A2E",
16
+ purple: "#B026FF",
17
+ },
18
+ neon: {
19
+ pink: "#FF10F0",
20
+ cyan: "#00FFF0",
21
+ yellow: "#FFFF00",
22
+ purple: "#B026FF",
23
+ blue: "#00D4FF",
24
+ green: "#39FF14",
25
+ },
26
+ },
27
+ fontFamily: {
28
+ orbitron: ["Orbitron", "sans-serif"],
29
+ "space-mono": ["Space Mono", "monospace"],
30
+ rajdhani: ["Rajdhani", "sans-serif"],
31
+ "share-tech": ["Share Tech Mono", "monospace"],
32
+ "exo-2": ["Exo 2", "sans-serif"],
33
+ },
34
+ boxShadow: {
35
+ "neon-pink": "0 0 20px #FF10F0, 0 0 40px #FF10F0",
36
+ "neon-cyan": "0 0 20px #00FFF0, 0 0 40px #00FFF0",
37
+ "neon-yellow": "0 0 20px #FFFF00, 0 0 40px #FFFF00",
38
+ "neon-purple": "0 0 20px #B026FF, 0 0 40px #B026FF",
39
+ "glow-sm": "0 0 10px currentColor",
40
+ "glow-md": "0 0 20px currentColor",
41
+ "glow-lg": "0 0 30px currentColor",
42
+ "glow-xl": "0 0 40px currentColor",
43
+ },
44
+ animation: {
45
+ "glitch-1": "glitch-1 0.3s infinite",
46
+ "glitch-2": "glitch-2 0.3s infinite",
47
+ "pulse-neon": "pulse-neon 2s ease-in-out infinite",
48
+ "scan-line": "scan-line 8s linear infinite",
49
+ flicker: "flicker 3s linear infinite",
50
+ float: "float 6s ease-in-out infinite",
51
+ shimmer: "shimmer 2s infinite",
52
+ },
53
+ keyframes: {
54
+ "glitch-1": {
55
+ "0%, 100%": { transform: "translate(0)" },
56
+ "33%": { transform: "translate(-2px, 2px)" },
57
+ "66%": { transform: "translate(2px, -2px)" },
58
+ },
59
+ "glitch-2": {
60
+ "0%, 100%": { transform: "translate(0)" },
61
+ "33%": { transform: "translate(2px, -2px)" },
62
+ "66%": { transform: "translate(-2px, 2px)" },
63
+ },
64
+ "pulse-neon": {
65
+ "0%, 100%": {
66
+ opacity: "1",
67
+ filter: "brightness(1) drop-shadow(0 0 10px currentColor)",
68
+ },
69
+ "50%": {
70
+ opacity: "0.8",
71
+ filter: "brightness(1.2) drop-shadow(0 0 20px currentColor)",
72
+ },
73
+ },
74
+ "scan-line": {
75
+ "0%": { transform: "translateY(-100%)" },
76
+ "100%": { transform: "translateY(100vh)" },
77
+ },
78
+ flicker: {
79
+ "0%, 100%": { opacity: "1" },
80
+ "41.99%": { opacity: "1" },
81
+ "42%": { opacity: "0" },
82
+ "43%": { opacity: "0" },
83
+ "43.01%": { opacity: "1" },
84
+ "47.99%": { opacity: "1" },
85
+ "48%": { opacity: "0" },
86
+ "49%": { opacity: "0" },
87
+ "49.01%": { opacity: "1" },
88
+ },
89
+ float: {
90
+ "0%, 100%": { transform: "translateY(0px)" },
91
+ "50%": { transform: "translateY(-20px)" },
92
+ },
93
+ shimmer: {
94
+ "0%": { transform: "translateX(-100%)" },
95
+ "100%": { transform: "translateX(100%)" },
96
+ },
97
+ },
98
+ backgroundImage: {
99
+ "cyber-gradient": "linear-gradient(45deg, #FF10F0, #00FFF0)",
100
+ hologram: "linear-gradient(90deg, #00FFF0, #FF10F0, #FFFF00)",
101
+ "grid-cyber":
102
+ "linear-gradient(to right, rgba(0, 255, 240, 0.1) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 255, 240, 0.1) 1px, transparent 1px)",
103
+ },
104
+ backgroundSize: {
105
+ "grid-pattern": "50px 50px",
106
+ },
107
+ },
108
+ },
109
+ plugins: [],
110
+ };
111
+
112
+ export default config;
package/tsconfig.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "esModuleInterop": true,
10
+ "module": "esnext",
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "jsx": "preserve",
15
+ "incremental": true,
16
+ "plugins": [
17
+ {
18
+ "name": "next"
19
+ }
20
+ ],
21
+ "paths": {
22
+ "@/*": ["./*"]
23
+ },
24
+ "forceConsistentCasingInFileNames": true,
25
+ "noUnusedLocals": true,
26
+ "noUnusedParameters": true,
27
+ "noFallthroughCasesInSwitch": true
28
+ },
29
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
30
+ "exclude": ["node_modules"]
31
+ }