cyberui-2045 2.3.0 → 2.4.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/AGENT.md +25 -23
- package/README.md +31 -28
- package/bin/init.js +11 -5
- package/bin/markers.js +18 -0
- package/bin/usage-content.js +136 -210
- package/dist/component-manifest.json +1454 -0
- package/dist/components/Badge.js +49 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Button.js +62 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Card.js +31 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Carousel.js +585 -0
- package/dist/components/Carousel.js.map +1 -0
- package/dist/components/Checkbox.js +92 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/CircularProgress.js +87 -0
- package/dist/components/CircularProgress.js.map +1 -0
- package/dist/components/Divider.js +24 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/GradientText.js +27 -0
- package/dist/components/GradientText.js.map +1 -0
- package/dist/components/Image.js +369 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/Input.js +70 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/LinearProgress.js +39 -0
- package/dist/components/LinearProgress.js.map +1 -0
- package/dist/components/Modal.d.ts +19 -0
- package/dist/components/Modal.js +211 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/Notification.js +88 -0
- package/dist/components/Notification.js.map +1 -0
- package/dist/components/SectionTitle.js +33 -0
- package/dist/components/SectionTitle.js.map +1 -0
- package/dist/components/SegmentedProgress.js +82 -0
- package/dist/components/SegmentedProgress.js.map +1 -0
- package/dist/components/Select.js +93 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/Skeleton.js +106 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/Steps.js +88 -0
- package/dist/components/Steps.js.map +1 -0
- package/dist/components/TabNavigation.js +153 -0
- package/dist/components/TabNavigation.js.map +1 -0
- package/dist/components/Timeline.js +99 -0
- package/dist/components/Timeline.js.map +1 -0
- package/dist/components/Toggle.js +73 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/contexts/NotificationContext.js +100 -0
- package/dist/contexts/NotificationContext.js.map +1 -0
- package/dist/contexts/NotificationContextBase.js +6 -0
- package/dist/contexts/NotificationContextBase.js.map +1 -0
- package/dist/hooks/useAnimatedProgress.js +17 -0
- package/dist/hooks/useAnimatedProgress.js.map +1 -0
- package/dist/hooks/useCyberNotifications.js +14 -0
- package/dist/hooks/useCyberNotifications.js.map +1 -0
- package/dist/hooks/useCyberScrollbar.js +254 -0
- package/dist/hooks/useCyberScrollbar.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +63 -5954
- package/dist/index.js +13 -13
- package/dist/utils/cn.js +9 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/devWarn.d.ts +5 -0
- package/dist/utils/devWarn.js +8 -0
- package/dist/utils/devWarn.js.map +1 -0
- package/dist/utils/responsive.js +120 -0
- package/dist/utils/responsive.js.map +1 -0
- package/package.json +158 -125
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
import { j as e } from "../_virtual/jsx-runtime.js";
|
|
2
|
+
import { memo as V, useState as y, useMemo as q, useCallback as b, useEffect as E } from "react";
|
|
3
|
+
import w from "./Image.js";
|
|
4
|
+
import { getResponsiveClasses as H, RESPONSIVE_SIZE_MAPS as J } from "../utils/responsive.js";
|
|
5
|
+
import { cn as P } from "../utils/cn.js";
|
|
6
|
+
const T = ({
|
|
7
|
+
images: s,
|
|
8
|
+
currentIndex: r,
|
|
9
|
+
onChange: j,
|
|
10
|
+
size: N = "md",
|
|
11
|
+
autoPlay: g = !0,
|
|
12
|
+
interval: k = 3e3,
|
|
13
|
+
infinite: c = !0,
|
|
14
|
+
transition: o = "slide",
|
|
15
|
+
objectFit: A = "cover",
|
|
16
|
+
showArrows: B = !0,
|
|
17
|
+
showIndicators: F = !0,
|
|
18
|
+
className: C = "",
|
|
19
|
+
disableImagePreview: f = !1,
|
|
20
|
+
glitchRate: h = 1,
|
|
21
|
+
onBeforeChange: S,
|
|
22
|
+
onAfterChange: L
|
|
23
|
+
}) => {
|
|
24
|
+
const [l, _] = y(!1), [M, n] = y(g), [d, G] = y(!0), z = q(
|
|
25
|
+
() => H(N, J.carousel),
|
|
26
|
+
[N]
|
|
27
|
+
), m = "w-full h-full", p = b(
|
|
28
|
+
(t) => {
|
|
29
|
+
if (t === r || l) return;
|
|
30
|
+
const a = o === "signal-glitch" && (typeof h == "boolean" ? h : Math.random() < h);
|
|
31
|
+
G(a), _(!0), S?.(r, t), setTimeout(() => {
|
|
32
|
+
j(t), _(!1), L?.(t);
|
|
33
|
+
}, o === "slide" ? 0 : o === "signal-glitch" && a ? 600 : 250);
|
|
34
|
+
},
|
|
35
|
+
[
|
|
36
|
+
r,
|
|
37
|
+
l,
|
|
38
|
+
j,
|
|
39
|
+
S,
|
|
40
|
+
L,
|
|
41
|
+
o,
|
|
42
|
+
h
|
|
43
|
+
]
|
|
44
|
+
);
|
|
45
|
+
E(() => {
|
|
46
|
+
if (!M || s.length <= 1) return;
|
|
47
|
+
const t = setInterval(() => {
|
|
48
|
+
const a = c ? (r + 1) % s.length : Math.min(r + 1, s.length - 1);
|
|
49
|
+
if (!c && a === s.length - 1) {
|
|
50
|
+
n(!1);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
p(a);
|
|
54
|
+
}, k);
|
|
55
|
+
return () => clearInterval(t);
|
|
56
|
+
}, [
|
|
57
|
+
M,
|
|
58
|
+
r,
|
|
59
|
+
s.length,
|
|
60
|
+
c,
|
|
61
|
+
k,
|
|
62
|
+
p
|
|
63
|
+
]);
|
|
64
|
+
const v = b(() => {
|
|
65
|
+
if (s.length <= 1) return;
|
|
66
|
+
const t = c ? (r - 1 + s.length) % s.length : Math.max(r - 1, 0);
|
|
67
|
+
n(!1), p(t);
|
|
68
|
+
}, [r, s.length, c, p]), x = b(() => {
|
|
69
|
+
if (s.length <= 1) return;
|
|
70
|
+
const t = c ? (r + 1) % s.length : Math.min(r + 1, s.length - 1);
|
|
71
|
+
n(!1), p(t);
|
|
72
|
+
}, [r, s.length, c, p]), O = b(
|
|
73
|
+
(t) => {
|
|
74
|
+
n(!1), p(t);
|
|
75
|
+
},
|
|
76
|
+
[p]
|
|
77
|
+
);
|
|
78
|
+
E(() => {
|
|
79
|
+
const t = (a) => {
|
|
80
|
+
a.key === "ArrowLeft" && v(), a.key === "ArrowRight" && x();
|
|
81
|
+
};
|
|
82
|
+
return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
|
|
83
|
+
}, [v, x]);
|
|
84
|
+
const $ = () => /* @__PURE__ */ e.jsx(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
className: "flex h-full transition-transform duration-500 ease-in-out",
|
|
88
|
+
style: {
|
|
89
|
+
transform: `translateX(-${r * 100}%)`,
|
|
90
|
+
willChange: "transform"
|
|
91
|
+
},
|
|
92
|
+
children: s.map((t, a) => /* @__PURE__ */ e.jsx("div", { className: "w-full h-full flex-shrink-0", children: /* @__PURE__ */ e.jsx(
|
|
93
|
+
w,
|
|
94
|
+
{
|
|
95
|
+
src: t.src,
|
|
96
|
+
alt: t.alt,
|
|
97
|
+
fallback: t.fallbackSrc,
|
|
98
|
+
className: m,
|
|
99
|
+
size: "lg",
|
|
100
|
+
preview: !f,
|
|
101
|
+
loading: a <= 1 ? "eager" : "lazy",
|
|
102
|
+
onPreviewOpen: () => n(!1),
|
|
103
|
+
onPreviewClose: () => n(g)
|
|
104
|
+
}
|
|
105
|
+
) }, a))
|
|
106
|
+
}
|
|
107
|
+
), W = () => /* @__PURE__ */ e.jsx(e.Fragment, { children: s.map((t, a) => {
|
|
108
|
+
const i = a === r, u = o === "fade" ? {
|
|
109
|
+
opacity: i ? 1 : 0,
|
|
110
|
+
transition: "opacity 500ms ease-in-out",
|
|
111
|
+
willChange: "opacity"
|
|
112
|
+
} : o === "matrix" ? {
|
|
113
|
+
opacity: i ? 1 : 0,
|
|
114
|
+
transform: i ? "scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateZ(0) skew(0deg) perspective(1000px)" : l ? "scale(0.6) rotateX(35deg) rotateY(15deg) rotateZ(-3deg) translateZ(-80px) skew(5deg, 2deg) perspective(1000px)" : "scale(0.92) rotateX(8deg) rotateY(2deg) translateZ(-20px) skew(1deg) perspective(1000px)",
|
|
115
|
+
filter: i ? "brightness(1) contrast(1) hue-rotate(0deg) saturate(1) drop-shadow(0 0 10px rgba(0, 255, 136, 0.3))" : l ? "brightness(0.1) contrast(4) hue-rotate(270deg) saturate(3) blur(2px) drop-shadow(0 0 20px rgba(255, 0, 93, 0.8)) drop-shadow(0 0 30px rgba(0, 255, 249, 0.6))" : "brightness(0.7) contrast(1.5) hue-rotate(120deg) saturate(1.4) drop-shadow(0 0 8px rgba(0, 255, 136, 0.4))",
|
|
116
|
+
transition: "all 1200ms cubic-bezier(0.175, 0.885, 0.32, 1.275)",
|
|
117
|
+
willChange: "transform, opacity, filter",
|
|
118
|
+
boxShadow: i ? "0 0 30px rgba(0, 255, 136, 0.5), inset 0 0 30px rgba(0, 255, 136, 0.15), 0 0 60px rgba(0, 255, 136, 0.2)" : l ? "0 0 50px rgba(255, 0, 93, 1), 0 0 100px rgba(0, 255, 249, 0.8), 0 0 150px rgba(255, 251, 0, 0.6), inset 0 0 50px rgba(255, 0, 93, 0.3), inset 0 0 80px rgba(0, 255, 249, 0.2), 0 0 0 3px rgba(255, 0, 93, 0.8), 0 0 0 6px rgba(0, 255, 249, 0.6), 0 0 200px rgba(255, 251, 0, 0.3)" : "0 0 20px rgba(0, 255, 136, 0.4), inset 0 0 15px rgba(0, 255, 136, 0.1), 0 0 40px rgba(0, 255, 136, 0.2)"
|
|
119
|
+
} : {};
|
|
120
|
+
return /* @__PURE__ */ e.jsxs(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
className: "absolute inset-0 w-full h-full",
|
|
124
|
+
style: {
|
|
125
|
+
...u,
|
|
126
|
+
pointerEvents: i ? "auto" : "none"
|
|
127
|
+
},
|
|
128
|
+
children: [
|
|
129
|
+
/* @__PURE__ */ e.jsx(
|
|
130
|
+
w,
|
|
131
|
+
{
|
|
132
|
+
src: t.src,
|
|
133
|
+
alt: t.alt,
|
|
134
|
+
fallback: t.fallbackSrc,
|
|
135
|
+
className: m,
|
|
136
|
+
size: "lg",
|
|
137
|
+
preview: !f,
|
|
138
|
+
loading: a <= 1 ? "eager" : "lazy",
|
|
139
|
+
onPreviewOpen: () => n(!1),
|
|
140
|
+
onPreviewClose: () => n(g)
|
|
141
|
+
}
|
|
142
|
+
),
|
|
143
|
+
o === "matrix" && Y(i, l)
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
a
|
|
147
|
+
);
|
|
148
|
+
}) }), X = () => /* @__PURE__ */ e.jsx(e.Fragment, { children: s.map((t, a) => {
|
|
149
|
+
const i = a === r, u = a === (r - 1 + s.length) % s.length, K = l && o === "signal-glitch" && d ? {
|
|
150
|
+
opacity: i ? 1 : u ? 0.8 : 0,
|
|
151
|
+
animation: i ? "signal-image-flicker-in 1s ease-out forwards" : u ? "signal-image-flicker-out 1s ease-out forwards" : "none",
|
|
152
|
+
willChange: "opacity",
|
|
153
|
+
pointerEvents: l && !i ? "none" : "auto",
|
|
154
|
+
transform: l ? "translateZ(0)" : "none"
|
|
155
|
+
// Reduce jumping with hardware acceleration
|
|
156
|
+
} : {
|
|
157
|
+
opacity: i ? 1 : 0,
|
|
158
|
+
transition: "opacity 250ms ease-in-out",
|
|
159
|
+
willChange: "opacity",
|
|
160
|
+
pointerEvents: i ? "auto" : "none"
|
|
161
|
+
};
|
|
162
|
+
return /* @__PURE__ */ e.jsxs(
|
|
163
|
+
"div",
|
|
164
|
+
{
|
|
165
|
+
className: "absolute inset-0 w-full h-full",
|
|
166
|
+
style: K,
|
|
167
|
+
children: [
|
|
168
|
+
/* @__PURE__ */ e.jsx(
|
|
169
|
+
w,
|
|
170
|
+
{
|
|
171
|
+
src: t.src,
|
|
172
|
+
alt: t.alt,
|
|
173
|
+
fallback: t.fallbackSrc,
|
|
174
|
+
className: m,
|
|
175
|
+
size: "lg",
|
|
176
|
+
preview: !f && !(l && o === "signal-glitch" && d),
|
|
177
|
+
loading: a <= 1 ? "eager" : "lazy",
|
|
178
|
+
onPreviewOpen: () => n(!1),
|
|
179
|
+
onPreviewClose: () => n(g)
|
|
180
|
+
}
|
|
181
|
+
),
|
|
182
|
+
o === "signal-glitch" && l && d && R(i)
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
a
|
|
186
|
+
);
|
|
187
|
+
}) }), Y = (t, a) => /* @__PURE__ */ e.jsx(e.Fragment, { children: a && /* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: t ? (
|
|
188
|
+
// Active image gets subtle enhancement effects
|
|
189
|
+
/* @__PURE__ */ e.jsx("div", { className: "w-full h-full bg-gradient-to-b from-primary/5 to-transparent opacity-30" })
|
|
190
|
+
) : (
|
|
191
|
+
// Transitioning image gets more dramatic effects
|
|
192
|
+
/* @__PURE__ */ e.jsx("div", { className: "w-full h-full bg-gradient-to-b from-primary/10 via-secondary/5 to-accent/10 opacity-50" })
|
|
193
|
+
) }) }), R = (t) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
194
|
+
/* @__PURE__ */ e.jsx(
|
|
195
|
+
"div",
|
|
196
|
+
{
|
|
197
|
+
className: `absolute inset-0 pointer-events-none z-5 ${t ? "opacity-30" : "opacity-15"}`,
|
|
198
|
+
children: /* @__PURE__ */ e.jsx(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
className: "absolute inset-0",
|
|
202
|
+
style: {
|
|
203
|
+
backgroundImage: `
|
|
204
|
+
linear-gradient(rgba(0, 255, 136, 0.3) 1px, transparent 1px),
|
|
205
|
+
linear-gradient(90deg, rgba(0, 255, 136, 0.3) 1px, transparent 1px)
|
|
206
|
+
`,
|
|
207
|
+
backgroundSize: "40px 40px",
|
|
208
|
+
animation: "signal-glitch-blink 1s ease-in-out infinite"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
/* @__PURE__ */ e.jsxs("div", { className: "absolute inset-0 pointer-events-none z-10 overflow-hidden", children: [
|
|
215
|
+
/* @__PURE__ */ e.jsx(
|
|
216
|
+
"div",
|
|
217
|
+
{
|
|
218
|
+
className: "absolute w-full h-px bg-gradient-to-r from-transparent via-primary to-transparent opacity-80",
|
|
219
|
+
style: {
|
|
220
|
+
top: "20%",
|
|
221
|
+
animation: "signal-glitch-vertical-sweep 1s linear infinite",
|
|
222
|
+
boxShadow: "0 0 8px rgba(255, 0, 93, 1), 0 0 16px rgba(255, 0, 93, 0.5)"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
),
|
|
226
|
+
/* @__PURE__ */ e.jsx(
|
|
227
|
+
"div",
|
|
228
|
+
{
|
|
229
|
+
className: "absolute w-full h-px bg-gradient-to-r from-transparent via-secondary to-transparent opacity-60",
|
|
230
|
+
style: {
|
|
231
|
+
top: "60%",
|
|
232
|
+
animation: "signal-glitch-vertical-sweep 1.5s linear infinite 0.3s",
|
|
233
|
+
boxShadow: "0 0 6px rgba(0, 255, 249, 0.8)"
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
),
|
|
237
|
+
/* @__PURE__ */ e.jsx(
|
|
238
|
+
"div",
|
|
239
|
+
{
|
|
240
|
+
className: "absolute w-full h-px bg-gradient-to-r from-transparent via-accent to-transparent opacity-70",
|
|
241
|
+
style: {
|
|
242
|
+
top: "80%",
|
|
243
|
+
animation: "signal-glitch-vertical-sweep 0.8s linear infinite 0.7s",
|
|
244
|
+
boxShadow: "0 0 10px rgba(255, 251, 0, 0.9)"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
)
|
|
248
|
+
] }),
|
|
249
|
+
/* @__PURE__ */ e.jsxs("div", { className: "absolute inset-0 pointer-events-none z-30", children: [
|
|
250
|
+
/* @__PURE__ */ e.jsx(
|
|
251
|
+
"div",
|
|
252
|
+
{
|
|
253
|
+
className: "absolute inset-0 bg-gradient-to-b from-transparent via-primary/8 to-transparent",
|
|
254
|
+
style: {
|
|
255
|
+
animation: "signal-glitch-blink 1s ease-in-out infinite"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
),
|
|
259
|
+
/* @__PURE__ */ e.jsx(
|
|
260
|
+
"div",
|
|
261
|
+
{
|
|
262
|
+
className: "absolute w-full h-px bg-accent/80 top-1/3",
|
|
263
|
+
style: {
|
|
264
|
+
animation: "signal-scanline-jitter 1s linear infinite",
|
|
265
|
+
boxShadow: "0 0 4px rgba(255, 251, 0, 1)"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
),
|
|
269
|
+
/* @__PURE__ */ e.jsx(
|
|
270
|
+
"div",
|
|
271
|
+
{
|
|
272
|
+
className: "absolute w-full h-px bg-secondary/60 top-2/3",
|
|
273
|
+
style: {
|
|
274
|
+
animation: "signal-scanline-jitter 1s linear infinite 0.4s",
|
|
275
|
+
boxShadow: "0 0 4px rgba(0, 255, 249, 0.8)"
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
)
|
|
279
|
+
] }),
|
|
280
|
+
/* @__PURE__ */ e.jsx(
|
|
281
|
+
"div",
|
|
282
|
+
{
|
|
283
|
+
className: "absolute inset-0 pointer-events-none z-40",
|
|
284
|
+
style: {
|
|
285
|
+
animation: "signal-rgb-separation 1s ease-in-out infinite",
|
|
286
|
+
mixBlendMode: "screen"
|
|
287
|
+
},
|
|
288
|
+
children: /* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 bg-transparent" })
|
|
289
|
+
}
|
|
290
|
+
),
|
|
291
|
+
/* @__PURE__ */ e.jsxs("div", { className: "absolute inset-0 pointer-events-none z-50", children: [
|
|
292
|
+
/* @__PURE__ */ e.jsx(
|
|
293
|
+
"div",
|
|
294
|
+
{
|
|
295
|
+
className: "absolute top-1/4 left-1/2 w-24 h-2 bg-white/30",
|
|
296
|
+
style: {
|
|
297
|
+
animation: "signal-glitch-blink 1s ease-in-out infinite 0.1s",
|
|
298
|
+
transform: "translateX(-50%)",
|
|
299
|
+
filter: "blur(0.8px)"
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
),
|
|
303
|
+
/* @__PURE__ */ e.jsx(
|
|
304
|
+
"div",
|
|
305
|
+
{
|
|
306
|
+
className: "absolute top-3/4 right-1/4 w-20 h-1 bg-primary/40",
|
|
307
|
+
style: {
|
|
308
|
+
animation: "signal-glitch-blink 1s ease-in-out infinite 0.8s",
|
|
309
|
+
filter: "blur(0.4px)"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
),
|
|
313
|
+
/* @__PURE__ */ e.jsx(
|
|
314
|
+
"div",
|
|
315
|
+
{
|
|
316
|
+
className: "absolute top-1/2 left-1/4 w-3 h-12 bg-accent/60",
|
|
317
|
+
style: {
|
|
318
|
+
animation: "signal-glitch-blink 1s ease-in-out infinite 0.5s",
|
|
319
|
+
filter: "blur(1.5px)"
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
)
|
|
323
|
+
] })
|
|
324
|
+
] }), U = () => B && s.length > 1 && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
325
|
+
/* @__PURE__ */ e.jsx(
|
|
326
|
+
"button",
|
|
327
|
+
{
|
|
328
|
+
onClick: v,
|
|
329
|
+
disabled: !c && r === 0 || l && o === "signal-glitch" && d,
|
|
330
|
+
className: "group absolute left-2 top-1/2 -translate-y-1/2 w-16 h-16 text-primary hover:text-accent cursor-pointer disabled:cursor-not-allowed disabled:opacity-30 focus:outline-none transition-all duration-300 flex items-center justify-center hover:scale-110",
|
|
331
|
+
"aria-label": "Previous image",
|
|
332
|
+
children: /* @__PURE__ */ e.jsxs(
|
|
333
|
+
"svg",
|
|
334
|
+
{
|
|
335
|
+
width: "48",
|
|
336
|
+
height: "48",
|
|
337
|
+
viewBox: "0 0 100 100",
|
|
338
|
+
className: "transition-all duration-300 group-hover:scale-110 overflow-visible",
|
|
339
|
+
style: { overflow: "visible" },
|
|
340
|
+
children: [
|
|
341
|
+
/* @__PURE__ */ e.jsx("defs", { children: /* @__PURE__ */ e.jsxs(
|
|
342
|
+
"linearGradient",
|
|
343
|
+
{
|
|
344
|
+
id: "arrow-gradient-left",
|
|
345
|
+
x1: "100%",
|
|
346
|
+
y1: "0%",
|
|
347
|
+
x2: "0%",
|
|
348
|
+
y2: "0%",
|
|
349
|
+
children: [
|
|
350
|
+
/* @__PURE__ */ e.jsx(
|
|
351
|
+
"stop",
|
|
352
|
+
{
|
|
353
|
+
offset: "0%",
|
|
354
|
+
stopColor: "rgb(0, 255, 136)",
|
|
355
|
+
stopOpacity: "1",
|
|
356
|
+
className: "transition-all duration-500 opacity-0 group-hover:opacity-100"
|
|
357
|
+
}
|
|
358
|
+
),
|
|
359
|
+
/* @__PURE__ */ e.jsx(
|
|
360
|
+
"stop",
|
|
361
|
+
{
|
|
362
|
+
offset: "50%",
|
|
363
|
+
stopColor: "rgb(0, 255, 249)",
|
|
364
|
+
stopOpacity: "1",
|
|
365
|
+
className: "transition-all duration-500 opacity-0 group-hover:opacity-100"
|
|
366
|
+
}
|
|
367
|
+
),
|
|
368
|
+
/* @__PURE__ */ e.jsx(
|
|
369
|
+
"stop",
|
|
370
|
+
{
|
|
371
|
+
offset: "100%",
|
|
372
|
+
stopColor: "rgb(255, 0, 93)",
|
|
373
|
+
stopOpacity: "1",
|
|
374
|
+
className: "transition-all duration-500 opacity-0 group-hover:opacity-100"
|
|
375
|
+
}
|
|
376
|
+
)
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
) }),
|
|
380
|
+
/* @__PURE__ */ e.jsx(
|
|
381
|
+
"path",
|
|
382
|
+
{
|
|
383
|
+
d: "M70 20 L20 50 L70 80 L60 50 Z",
|
|
384
|
+
stroke: "currentColor",
|
|
385
|
+
strokeWidth: "3",
|
|
386
|
+
fill: "none",
|
|
387
|
+
className: "transition-all duration-300 group-hover:stroke-[4]"
|
|
388
|
+
}
|
|
389
|
+
),
|
|
390
|
+
/* @__PURE__ */ e.jsx(
|
|
391
|
+
"path",
|
|
392
|
+
{
|
|
393
|
+
d: "M70 20 L20 50 L70 80 L60 50 Z",
|
|
394
|
+
stroke: "rgb(255, 0, 93)",
|
|
395
|
+
strokeWidth: "4",
|
|
396
|
+
fill: "none",
|
|
397
|
+
className: "opacity-0 group-hover:opacity-100 group-hover:animate-[rgbStroke_1.5s_linear_infinite] group-active:opacity-0",
|
|
398
|
+
style: {
|
|
399
|
+
filter: "drop-shadow(0 0 6px currentColor) drop-shadow(0 0 12px currentColor) drop-shadow(0 0 18px currentColor)"
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
),
|
|
403
|
+
/* @__PURE__ */ e.jsx(
|
|
404
|
+
"path",
|
|
405
|
+
{
|
|
406
|
+
d: "M70 20 L20 50 L70 80 L60 50 Z",
|
|
407
|
+
stroke: "rgb(255, 0, 93)",
|
|
408
|
+
strokeWidth: "4",
|
|
409
|
+
fill: "none",
|
|
410
|
+
className: "opacity-0 group-active:opacity-100 group-active:animate-[rgbStroke_1.5s_linear_infinite]"
|
|
411
|
+
}
|
|
412
|
+
)
|
|
413
|
+
]
|
|
414
|
+
}
|
|
415
|
+
)
|
|
416
|
+
}
|
|
417
|
+
),
|
|
418
|
+
/* @__PURE__ */ e.jsx(
|
|
419
|
+
"button",
|
|
420
|
+
{
|
|
421
|
+
onClick: x,
|
|
422
|
+
disabled: !c && r === s.length - 1 || l && o === "signal-glitch" && d,
|
|
423
|
+
className: "group absolute right-2 top-1/2 -translate-y-1/2 w-16 h-16 text-primary hover:text-accent cursor-pointer disabled:cursor-not-allowed disabled:opacity-30 focus:outline-none transition-all duration-300 flex items-center justify-center hover:scale-110",
|
|
424
|
+
"aria-label": "Next image",
|
|
425
|
+
children: /* @__PURE__ */ e.jsxs(
|
|
426
|
+
"svg",
|
|
427
|
+
{
|
|
428
|
+
width: "48",
|
|
429
|
+
height: "48",
|
|
430
|
+
viewBox: "0 0 100 100",
|
|
431
|
+
className: "transition-all duration-300 group-hover:scale-110 overflow-visible",
|
|
432
|
+
style: { overflow: "visible" },
|
|
433
|
+
children: [
|
|
434
|
+
/* @__PURE__ */ e.jsx(
|
|
435
|
+
"path",
|
|
436
|
+
{
|
|
437
|
+
d: "M30 20 L80 50 L30 80 L40 50 Z",
|
|
438
|
+
stroke: "currentColor",
|
|
439
|
+
strokeWidth: "3",
|
|
440
|
+
fill: "none",
|
|
441
|
+
className: "transition-all duration-300 group-hover:stroke-[4]"
|
|
442
|
+
}
|
|
443
|
+
),
|
|
444
|
+
/* @__PURE__ */ e.jsx(
|
|
445
|
+
"path",
|
|
446
|
+
{
|
|
447
|
+
d: "M30 20 L80 50 L30 80 L40 50 Z",
|
|
448
|
+
stroke: "rgb(255, 0, 93)",
|
|
449
|
+
strokeWidth: "4",
|
|
450
|
+
fill: "none",
|
|
451
|
+
className: "opacity-0 group-hover:opacity-100 group-hover:animate-[rgbStroke_1.5s_linear_infinite] group-active:opacity-0",
|
|
452
|
+
style: {
|
|
453
|
+
filter: "drop-shadow(0 0 6px currentColor) drop-shadow(0 0 12px currentColor) drop-shadow(0 0 18px currentColor)"
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
),
|
|
457
|
+
/* @__PURE__ */ e.jsx(
|
|
458
|
+
"path",
|
|
459
|
+
{
|
|
460
|
+
d: "M30 20 L80 50 L30 80 L40 50 Z",
|
|
461
|
+
stroke: "rgb(255, 0, 93)",
|
|
462
|
+
strokeWidth: "4",
|
|
463
|
+
fill: "none",
|
|
464
|
+
className: "opacity-0 group-active:opacity-100 group-active:animate-[rgbStroke_1.5s_linear_infinite]"
|
|
465
|
+
}
|
|
466
|
+
)
|
|
467
|
+
]
|
|
468
|
+
}
|
|
469
|
+
)
|
|
470
|
+
}
|
|
471
|
+
)
|
|
472
|
+
] }), D = () => F && s.length > 1 && /* @__PURE__ */ e.jsx("div", { className: "flex justify-center mt-4 space-x-4", children: s.map((t, a) => /* @__PURE__ */ e.jsxs(
|
|
473
|
+
"button",
|
|
474
|
+
{
|
|
475
|
+
onClick: () => O(a),
|
|
476
|
+
disabled: l && o === "signal-glitch" && d,
|
|
477
|
+
className: "group relative transition-all duration-300 hover:scale-110 focus:outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-30",
|
|
478
|
+
style: {
|
|
479
|
+
width: "24px",
|
|
480
|
+
height: "24px"
|
|
481
|
+
},
|
|
482
|
+
"aria-label": `Go to slide ${a + 1}`,
|
|
483
|
+
children: [
|
|
484
|
+
a === r && /* @__PURE__ */ e.jsx(
|
|
485
|
+
"div",
|
|
486
|
+
{
|
|
487
|
+
className: "absolute inset-[-1px] border-2",
|
|
488
|
+
style: {
|
|
489
|
+
borderColor: "rgb(255, 0, 93)",
|
|
490
|
+
animation: "rotateFocusRing 0.8s ease-out forwards, rgbBorder 1.5s linear infinite 0.8s"
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
),
|
|
494
|
+
/* @__PURE__ */ e.jsx(
|
|
495
|
+
"div",
|
|
496
|
+
{
|
|
497
|
+
className: `absolute inset-0 border-2 transition-all duration-300 ${a === r ? "border-primary bg-primary/30 shadow-lg-primary animate-[rgbBorder_1.5s_linear_infinite]" : "border-accent bg-surface/50 group-hover:border-primary group-hover:bg-primary/20 group-hover:shadow-primary group-hover:animate-[rgbBorder_1.5s_linear_infinite]"}`,
|
|
498
|
+
style: {
|
|
499
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)"
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
),
|
|
503
|
+
a === r && /* @__PURE__ */ e.jsx(
|
|
504
|
+
"div",
|
|
505
|
+
{
|
|
506
|
+
className: "absolute inset-2 bg-primary/60 animate-pulse",
|
|
507
|
+
style: {
|
|
508
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
|
|
509
|
+
animation: "rgbBackground 1.5s linear infinite, pulse 2s ease-in-out infinite"
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
),
|
|
513
|
+
a === r && /* @__PURE__ */ e.jsxs("div", { className: "absolute inset-0 opacity-80", children: [
|
|
514
|
+
/* @__PURE__ */ e.jsx(
|
|
515
|
+
"div",
|
|
516
|
+
{
|
|
517
|
+
className: "absolute top-1/2 left-2 right-2 h-0.5 bg-primary/80 animate-pulse",
|
|
518
|
+
style: {
|
|
519
|
+
transform: "translateY(-50%)",
|
|
520
|
+
animation: "rgbBackground 1.5s linear infinite, pulse 2s ease-in-out infinite"
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
),
|
|
524
|
+
/* @__PURE__ */ e.jsx(
|
|
525
|
+
"div",
|
|
526
|
+
{
|
|
527
|
+
className: "absolute left-1/2 top-2 bottom-2 w-0.5 bg-primary/80 animate-pulse",
|
|
528
|
+
style: {
|
|
529
|
+
transform: "translateX(-50%)",
|
|
530
|
+
animation: "rgbBackground 1.5s linear infinite, pulse 2s ease-in-out infinite"
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
)
|
|
534
|
+
] })
|
|
535
|
+
]
|
|
536
|
+
},
|
|
537
|
+
a
|
|
538
|
+
)) });
|
|
539
|
+
if (s.length === 0)
|
|
540
|
+
return /* @__PURE__ */ e.jsx(
|
|
541
|
+
"div",
|
|
542
|
+
{
|
|
543
|
+
className: P(z, "w-full bg-surface border border-accent rounded-lg flex items-center justify-center", C),
|
|
544
|
+
children: /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No images to display" })
|
|
545
|
+
}
|
|
546
|
+
);
|
|
547
|
+
const Z = s[r];
|
|
548
|
+
return /* @__PURE__ */ e.jsxs("div", { className: P("relative w-full", C), children: [
|
|
549
|
+
/* @__PURE__ */ e.jsxs(
|
|
550
|
+
"div",
|
|
551
|
+
{
|
|
552
|
+
className: `relative w-full overflow-hidden rounded-lg border border-accent bg-surface ${z}`,
|
|
553
|
+
children: [
|
|
554
|
+
/* @__PURE__ */ e.jsxs("div", { className: "absolute inset-0 pointer-events-none", children: [
|
|
555
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute top-2 left-2 w-4 h-4 border-l-2 border-t-2 border-primary opacity-60" }),
|
|
556
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute top-2 right-2 w-4 h-4 border-r-2 border-t-2 border-primary opacity-60" }),
|
|
557
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute bottom-2 left-2 w-4 h-4 border-l-2 border-b-2 border-primary opacity-60" }),
|
|
558
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute bottom-2 right-2 w-4 h-4 border-r-2 border-b-2 border-primary opacity-60" }),
|
|
559
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 bg-gradient-to-b from-transparent via-primary/10 to-transparent h-1 animate-pulse" })
|
|
560
|
+
] }),
|
|
561
|
+
/* @__PURE__ */ e.jsxs(
|
|
562
|
+
"div",
|
|
563
|
+
{
|
|
564
|
+
className: `relative w-full h-full overflow-hidden carousel-${A}`,
|
|
565
|
+
children: [
|
|
566
|
+
o === "slide" && $(),
|
|
567
|
+
(o === "fade" || o === "matrix") && W(),
|
|
568
|
+
o === "signal-glitch" && X()
|
|
569
|
+
]
|
|
570
|
+
}
|
|
571
|
+
),
|
|
572
|
+
Z.caption && /* @__PURE__ */ e.jsx("div", { className: "absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4", children: /* @__PURE__ */ e.jsx("p", { className: "text-white text-sm font-medium", children: Z.caption }) }),
|
|
573
|
+
U()
|
|
574
|
+
]
|
|
575
|
+
}
|
|
576
|
+
),
|
|
577
|
+
D()
|
|
578
|
+
] });
|
|
579
|
+
};
|
|
580
|
+
T.displayName = "CyberUI.Carousel";
|
|
581
|
+
const se = V(T);
|
|
582
|
+
export {
|
|
583
|
+
se as default
|
|
584
|
+
};
|
|
585
|
+
//# sourceMappingURL=Carousel.js.map
|