@windrun-huaiin/third-ui 6.0.0 → 6.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windrun-huaiin/third-ui",
3
- "version": "6.0.0",
3
+ "version": "6.1.0",
4
4
  "description": "Third-party integrated UI components for windrun-huaiin projects",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -5,11 +5,12 @@ export async function FumaBannerSuit({ locale, showBanner }: { locale: string, s
5
5
  const t = await getTranslations({ locale, namespace: 'home' });
6
6
  const heightValue = showBanner ? 3 : 0.5;
7
7
  const height= `${heightValue}rem`;
8
+ const bannerText = t('banner');
8
9
  return (
9
10
  <>
10
11
  {showBanner ? (
11
12
  <Banner variant="rainbow" changeLayout={true} height={heightValue}>
12
- <p className="text-xl">{t('banner')}</p>
13
+ <p className="text-xl">{bannerText}</p>
13
14
  </Banner>
14
15
  ) : (
15
16
  <div
@@ -26,6 +26,57 @@ const buttonVariants = cva(
26
26
  },
27
27
  );
28
28
 
29
+ const maskImage =
30
+ 'linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)';
31
+
32
+ const rainbowLayer = (
33
+ <>
34
+ <div
35
+ className="absolute inset-0 z-[-1]"
36
+ style={
37
+ {
38
+ maskImage,
39
+ maskComposite: 'intersect',
40
+ animation: 'fd-moving-banner 16s linear infinite',
41
+ '--start': 'rgba(0,87,255,0.5)',
42
+ '--mid': 'rgba(255,0,166,0.77)',
43
+ '--end': 'rgba(255,77,0,0.4)',
44
+ '--via': 'rgba(164,255,68,0.4)',
45
+ animationDirection: 'reverse',
46
+ backgroundImage:
47
+ 'repeating-linear-gradient(60deg, var(--end), var(--start) 2%, var(--start) 5%, transparent 8%, transparent 14%, var(--via) 18%, var(--via) 22%, var(--mid) 28%, var(--mid) 30%, var(--via) 34%, var(--via) 36%, transparent, var(--end) calc(50% - 12px))',
48
+ backgroundSize: '200% 100%',
49
+ mixBlendMode: 'difference',
50
+ } as object
51
+ }
52
+ />
53
+ <div
54
+ className="absolute inset-0 z-[-1]"
55
+ style={
56
+ {
57
+ maskImage,
58
+ maskComposite: 'intersect',
59
+ animation: 'fd-moving-banner 20s linear infinite',
60
+ '--start': 'rgba(255,120,120,0.5)',
61
+ '--mid': 'rgba(36,188,255,0.4)',
62
+ '--end': 'rgba(64,0,255,0.51)',
63
+ '--via': 'rgba(255,89,0,0.56)',
64
+ backgroundImage:
65
+ 'repeating-linear-gradient(45deg, var(--end), var(--start) 4%, var(--start) 8%, transparent 9%, transparent 14%, var(--mid) 16%, var(--mid) 20%, transparent, var(--via) 36%, var(--via) 40%, transparent 42%, var(--end) 46%, var(--end) calc(50% - 16.8px))',
66
+ backgroundSize: '200% 100%',
67
+ mixBlendMode: 'color-dodge',
68
+ } as object
69
+ }
70
+ />
71
+ <style>
72
+ {`@keyframes fd-moving-banner {
73
+ from { background-position: 0% 0; }
74
+ to { background-position: 100% 0; }
75
+ }`}
76
+ </style>
77
+ </>
78
+ );
79
+
29
80
  export function Banner({
30
81
  id,
31
82
  variant = 'rainbow',
@@ -121,54 +172,3 @@ export function Banner({
121
172
  </div>
122
173
  );
123
174
  }
124
-
125
- const maskImage =
126
- 'linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)';
127
-
128
- const rainbowLayer = (
129
- <>
130
- <div
131
- className="absolute inset-0 z-[-1]"
132
- style={
133
- {
134
- maskImage,
135
- maskComposite: 'intersect',
136
- animation: 'fd-moving-banner 16s linear infinite',
137
- '--start': 'rgba(0,87,255,0.5)',
138
- '--mid': 'rgba(255,0,166,0.77)',
139
- '--end': 'rgba(255,77,0,0.4)',
140
- '--via': 'rgba(164,255,68,0.4)',
141
- animationDirection: 'reverse',
142
- backgroundImage:
143
- 'repeating-linear-gradient(60deg, var(--end), var(--start) 2%, var(--start) 5%, transparent 8%, transparent 14%, var(--via) 18%, var(--via) 22%, var(--mid) 28%, var(--mid) 30%, var(--via) 34%, var(--via) 36%, transparent, var(--end) calc(50% - 12px))',
144
- backgroundSize: '200% 100%',
145
- mixBlendMode: 'difference',
146
- } as object
147
- }
148
- />
149
- <div
150
- className="absolute inset-0 z-[-1]"
151
- style={
152
- {
153
- maskImage,
154
- maskComposite: 'intersect',
155
- animation: 'fd-moving-banner 20s linear infinite',
156
- '--start': 'rgba(255,120,120,0.5)',
157
- '--mid': 'rgba(36,188,255,0.4)',
158
- '--end': 'rgba(64,0,255,0.51)',
159
- '--via': 'rgba(255,89,0,0.56)',
160
- backgroundImage:
161
- 'repeating-linear-gradient(45deg, var(--end), var(--start) 4%, var(--start) 8%, transparent 9%, transparent 14%, var(--mid) 16%, var(--mid) 20%, transparent, var(--via) 36%, var(--via) 40%, transparent 42%, var(--end) 46%, var(--end) calc(50% - 16.8px))',
162
- backgroundSize: '200% 100%',
163
- mixBlendMode: 'color-dodge',
164
- } as object
165
- }
166
- />
167
- <style>
168
- {`@keyframes fd-moving-banner {
169
- from { background-position: 0% 0; }
170
- to { background-position: 100% 0; }
171
- }`}
172
- </style>
173
- </>
174
- );