Skip to content

Commit 4a058c4

Browse files
committed
Changed files over to jsx, hopefully it now works :p
1 parent 76e96f3 commit 4a058c4

File tree

7 files changed

+91
-68
lines changed

7 files changed

+91
-68
lines changed

package.json

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
{
22
"name": "react-twinkle-text",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"description": "React twinkle text effect using Tailwind-compatible styles.",
55
"main": "src/index.js",
6-
"files": ["src"],
7-
"keywords": ["react", "tailwind", "twinkle", "text", "component"],
6+
"files": [
7+
"src"
8+
],
9+
"keywords": [
10+
"react",
11+
"tailwind",
12+
"twinkle",
13+
"text",
14+
"component"
15+
],
816
"author": "itznao",
917
"license": "MIT",
1018
"peerDependencies": {
@@ -18,5 +26,9 @@
1826
"bugs": {
1927
"url": "https://github.com/itznao/react-twinkle-text/issues"
2028
},
21-
"homepage": "https://github.com/itznao/react-twinkle-text#readme"
22-
}
29+
"homepage": "https://github.com/itznao/react-twinkle-text#readme",
30+
"devDependencies": {
31+
"@types/node": "^22.15.30",
32+
"typescript": "^5.8.3"
33+
}
34+
}

src/TwinkleText.jsx renamed to src/TwinkleText.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ import { twinkleCSS } from "./twinkleStyles";
33

44
let cssInjected = false;
55

6-
export const twinkleText = ({
6+
interface TwinkleTextProps {
7+
children: React.ReactNode;
8+
className?: string;
9+
hover?: boolean;
10+
groupHover?: boolean;
11+
}
12+
13+
export const TwinkleText: React.FC<TwinkleTextProps> = ({
714
children,
815
className = "",
916
hover = false,
@@ -25,7 +32,10 @@ export const twinkleText = ({
2532
: "text-twinkle";
2633

2734
return (
28-
<span text-twinkle-data={children} className={`${twinkleClass} ${className}`}>
35+
<span
36+
data-text-twinkle={typeof children === "string" ? children : undefined}
37+
className={`${twinkleClass} ${className}`}
38+
>
2939
{children}
3040
</span>
3141
);

src/index.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { TwinkleText } from "./TwinkleText";
File renamed without changes.

tailwind-plugin.js

Lines changed: 0 additions & 60 deletions
This file was deleted.

tailwind-plugin.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import plugin from "tailwindcss/plugin";
2+
import type { PluginAPI } from "tailwindcss/types/config";
3+
4+
const shimmerBefore: Record<string, string> = {
5+
content: "attr(text-shimmer-data)",
6+
position: "absolute",
7+
inset: "0",
8+
"pointer-events": "none",
9+
color: "transparent",
10+
"background-clip": "text",
11+
"background-image":
12+
"linear-gradient(90deg, #0000, #0000, #0000, #fff, #0000, #0000, #0000)",
13+
"background-size": "200% 100%",
14+
"background-position": "150% 0",
15+
filter:
16+
"drop-shadow(0 0 1px #ffffff) drop-shadow(0 0 2px rgba(255,255,255,0.5))",
17+
};
18+
19+
export default plugin(function ({ addUtilities, addComponents }: PluginAPI) {
20+
addUtilities({
21+
"@keyframes text-shimmer": {
22+
"0%": { "background-position": "150% 0" },
23+
"100%": { "background-position": "-250% 0" },
24+
},
25+
});
26+
27+
addComponents({
28+
".text-shimmer": {
29+
position: "relative",
30+
display: "inline-block",
31+
},
32+
".text-shimmer::before": {
33+
...shimmerBefore,
34+
animation: "text-shimmer 5s linear infinite",
35+
},
36+
".hover-text-shimmer": {
37+
position: "relative",
38+
display: "inline-block",
39+
},
40+
".hover-text-shimmer::before": {
41+
...shimmerBefore,
42+
opacity: "0",
43+
},
44+
".hover-text-shimmer:hover::before": {
45+
animation: "text-shimmer 5s linear infinite",
46+
opacity: "1",
47+
},
48+
".group-hover-text-shimmer": {
49+
position: "relative",
50+
display: "inline-block",
51+
},
52+
".group-hover-text-shimmer::before": {
53+
...shimmerBefore,
54+
opacity: "0",
55+
},
56+
".group:hover .group-hover-text-shimmer::before": {
57+
animation: "text-shimmer 5s linear infinite",
58+
opacity: "1",
59+
},
60+
});
61+
});

0 commit comments

Comments
 (0)