virtual-ui-lib 1.0.64 → 1.0.66
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/dist/index.js +481 -0
- package/dist/index.mjs +479 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var index_exports = {};
|
|
|
31
31
|
__export(index_exports, {
|
|
32
32
|
Avatar: () => Avatar,
|
|
33
33
|
AvatarCard: () => AvatarCard,
|
|
34
|
+
BackgoundImageSlider: () => BackgoundImageSlider,
|
|
34
35
|
Charts: () => Charts,
|
|
35
36
|
CodeBlock: () => CodeBlock,
|
|
36
37
|
CustomInputField: () => CustomInputField,
|
|
@@ -38,6 +39,7 @@ __export(index_exports, {
|
|
|
38
39
|
FileUpload: () => FileUpload,
|
|
39
40
|
Footer: () => Footer,
|
|
40
41
|
ImageCard: () => ImageCard,
|
|
42
|
+
ImageSlider: () => ImageSlider,
|
|
41
43
|
Loader: () => Loader,
|
|
42
44
|
LoadingSpinner: () => LoadingSpinner,
|
|
43
45
|
Navbar: () => Navbar,
|
|
@@ -2050,10 +2052,488 @@ var ImageCard = ({
|
|
|
2050
2052
|
))
|
|
2051
2053
|
);
|
|
2052
2054
|
};
|
|
2055
|
+
|
|
2056
|
+
// src/components/ImageSlider/ImageSlider.jsx
|
|
2057
|
+
var import_react25 = __toESM(require("react"));
|
|
2058
|
+
var ImageSlider = ({
|
|
2059
|
+
images = [
|
|
2060
|
+
{
|
|
2061
|
+
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
2062
|
+
title: "Hidden Peaks of Himalayas",
|
|
2063
|
+
tag: "Travel"
|
|
2064
|
+
},
|
|
2065
|
+
{
|
|
2066
|
+
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80",
|
|
2067
|
+
title: "City Lights at Night",
|
|
2068
|
+
tag: "Urban"
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=600&q=80",
|
|
2072
|
+
title: "Tropical Beach Paradise",
|
|
2073
|
+
tag: "Nature"
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=600&q=80",
|
|
2077
|
+
title: "Starry Mountain Night",
|
|
2078
|
+
tag: "Adventure"
|
|
2079
|
+
}
|
|
2080
|
+
],
|
|
2081
|
+
accent = "#6366f1",
|
|
2082
|
+
bg = "#0f172a",
|
|
2083
|
+
radius = "20px",
|
|
2084
|
+
showDots = true,
|
|
2085
|
+
showCaption = true,
|
|
2086
|
+
autoPlay = false
|
|
2087
|
+
}) => {
|
|
2088
|
+
const [current, setCurrent] = (0, import_react25.useState)(0);
|
|
2089
|
+
const [dir, setDir] = (0, import_react25.useState)(null);
|
|
2090
|
+
const alpha = (hex, op) => {
|
|
2091
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
2092
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
2093
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
2094
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
2095
|
+
};
|
|
2096
|
+
const prev = () => {
|
|
2097
|
+
setDir("left");
|
|
2098
|
+
setCurrent((c) => (c - 1 + images.length) % images.length);
|
|
2099
|
+
};
|
|
2100
|
+
const next = () => {
|
|
2101
|
+
setDir("right");
|
|
2102
|
+
setCurrent((c) => (c + 1) % images.length);
|
|
2103
|
+
};
|
|
2104
|
+
const goTo = (i) => {
|
|
2105
|
+
setDir(i > current ? "right" : "left");
|
|
2106
|
+
setCurrent(i);
|
|
2107
|
+
};
|
|
2108
|
+
const img = images[current];
|
|
2109
|
+
return /* @__PURE__ */ import_react25.default.createElement("div", { style: {
|
|
2110
|
+
background: bg,
|
|
2111
|
+
borderRadius: radius,
|
|
2112
|
+
overflow: "hidden",
|
|
2113
|
+
width: "300px",
|
|
2114
|
+
border: "1px solid rgba(255,255,255,0.07)",
|
|
2115
|
+
fontFamily: "system-ui, sans-serif",
|
|
2116
|
+
boxShadow: "0 10px 40px rgba(0,0,0,0.4)"
|
|
2117
|
+
} }, /* @__PURE__ */ import_react25.default.createElement("div", { style: { position: "relative", width: "100%", height: "200px", overflow: "hidden", background: "#000" } }, /* @__PURE__ */ import_react25.default.createElement(
|
|
2118
|
+
"img",
|
|
2119
|
+
{
|
|
2120
|
+
key: current,
|
|
2121
|
+
src: img.src,
|
|
2122
|
+
alt: img.title,
|
|
2123
|
+
style: {
|
|
2124
|
+
width: "100%",
|
|
2125
|
+
height: "100%",
|
|
2126
|
+
objectFit: "cover",
|
|
2127
|
+
animation: `sliderFade 0.35s ease`
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
), /* @__PURE__ */ import_react25.default.createElement("style", null, `@keyframes sliderFade { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }`), /* @__PURE__ */ import_react25.default.createElement("div", { style: {
|
|
2131
|
+
position: "absolute",
|
|
2132
|
+
inset: 0,
|
|
2133
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%)"
|
|
2134
|
+
} }), img.tag && /* @__PURE__ */ import_react25.default.createElement("div", { style: {
|
|
2135
|
+
position: "absolute",
|
|
2136
|
+
top: "12px",
|
|
2137
|
+
left: "12px",
|
|
2138
|
+
padding: "4px 10px",
|
|
2139
|
+
borderRadius: "20px",
|
|
2140
|
+
background: alpha(accent, 0.85),
|
|
2141
|
+
fontSize: "10px",
|
|
2142
|
+
fontWeight: "700",
|
|
2143
|
+
color: "#fff",
|
|
2144
|
+
letterSpacing: "0.5px",
|
|
2145
|
+
textTransform: "uppercase"
|
|
2146
|
+
} }, img.tag), /* @__PURE__ */ import_react25.default.createElement("div", { style: {
|
|
2147
|
+
position: "absolute",
|
|
2148
|
+
top: "12px",
|
|
2149
|
+
right: "12px",
|
|
2150
|
+
padding: "4px 10px",
|
|
2151
|
+
borderRadius: "20px",
|
|
2152
|
+
background: "rgba(0,0,0,0.5)",
|
|
2153
|
+
fontSize: "10px",
|
|
2154
|
+
fontWeight: "600",
|
|
2155
|
+
color: "rgba(255,255,255,0.7)"
|
|
2156
|
+
} }, current + 1, " / ", images.length), /* @__PURE__ */ import_react25.default.createElement(
|
|
2157
|
+
"button",
|
|
2158
|
+
{
|
|
2159
|
+
onClick: prev,
|
|
2160
|
+
style: {
|
|
2161
|
+
position: "absolute",
|
|
2162
|
+
left: "10px",
|
|
2163
|
+
top: "50%",
|
|
2164
|
+
transform: "translateY(-50%)",
|
|
2165
|
+
width: "34px",
|
|
2166
|
+
height: "34px",
|
|
2167
|
+
borderRadius: "50%",
|
|
2168
|
+
background: "rgba(0,0,0,0.5)",
|
|
2169
|
+
border: "1px solid rgba(255,255,255,0.15)",
|
|
2170
|
+
color: "#fff",
|
|
2171
|
+
cursor: "pointer",
|
|
2172
|
+
display: "flex",
|
|
2173
|
+
alignItems: "center",
|
|
2174
|
+
justifyContent: "center",
|
|
2175
|
+
transition: "background 0.2s",
|
|
2176
|
+
padding: 0
|
|
2177
|
+
},
|
|
2178
|
+
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
2179
|
+
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
2180
|
+
},
|
|
2181
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
2182
|
+
"svg",
|
|
2183
|
+
{
|
|
2184
|
+
width: "14",
|
|
2185
|
+
height: "14",
|
|
2186
|
+
viewBox: "0 0 24 24",
|
|
2187
|
+
fill: "none",
|
|
2188
|
+
stroke: "currentColor",
|
|
2189
|
+
strokeWidth: "2.5",
|
|
2190
|
+
strokeLinecap: "round"
|
|
2191
|
+
},
|
|
2192
|
+
/* @__PURE__ */ import_react25.default.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
2193
|
+
)
|
|
2194
|
+
), /* @__PURE__ */ import_react25.default.createElement(
|
|
2195
|
+
"button",
|
|
2196
|
+
{
|
|
2197
|
+
onClick: next,
|
|
2198
|
+
style: {
|
|
2199
|
+
position: "absolute",
|
|
2200
|
+
right: "10px",
|
|
2201
|
+
top: "50%",
|
|
2202
|
+
transform: "translateY(-50%)",
|
|
2203
|
+
width: "34px",
|
|
2204
|
+
height: "34px",
|
|
2205
|
+
borderRadius: "50%",
|
|
2206
|
+
background: "rgba(0,0,0,0.5)",
|
|
2207
|
+
border: "1px solid rgba(255,255,255,0.15)",
|
|
2208
|
+
color: "#fff",
|
|
2209
|
+
cursor: "pointer",
|
|
2210
|
+
display: "flex",
|
|
2211
|
+
alignItems: "center",
|
|
2212
|
+
justifyContent: "center",
|
|
2213
|
+
transition: "background 0.2s",
|
|
2214
|
+
padding: 0
|
|
2215
|
+
},
|
|
2216
|
+
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
2217
|
+
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
2218
|
+
},
|
|
2219
|
+
/* @__PURE__ */ import_react25.default.createElement(
|
|
2220
|
+
"svg",
|
|
2221
|
+
{
|
|
2222
|
+
width: "14",
|
|
2223
|
+
height: "14",
|
|
2224
|
+
viewBox: "0 0 24 24",
|
|
2225
|
+
fill: "none",
|
|
2226
|
+
stroke: "currentColor",
|
|
2227
|
+
strokeWidth: "2.5",
|
|
2228
|
+
strokeLinecap: "round"
|
|
2229
|
+
},
|
|
2230
|
+
/* @__PURE__ */ import_react25.default.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
2231
|
+
)
|
|
2232
|
+
)), showCaption && /* @__PURE__ */ import_react25.default.createElement("div", { style: { padding: "14px 16px 4px" } }, /* @__PURE__ */ import_react25.default.createElement(
|
|
2233
|
+
"p",
|
|
2234
|
+
{
|
|
2235
|
+
style: {
|
|
2236
|
+
fontSize: "14px",
|
|
2237
|
+
fontWeight: "700",
|
|
2238
|
+
color: "#fff",
|
|
2239
|
+
margin: 0,
|
|
2240
|
+
lineHeight: 1.4,
|
|
2241
|
+
animation: "sliderFade 0.3s ease"
|
|
2242
|
+
},
|
|
2243
|
+
key: current + "-title"
|
|
2244
|
+
},
|
|
2245
|
+
img.title
|
|
2246
|
+
)), showDots && /* @__PURE__ */ import_react25.default.createElement("div", { style: {
|
|
2247
|
+
display: "flex",
|
|
2248
|
+
justifyContent: "center",
|
|
2249
|
+
gap: "6px",
|
|
2250
|
+
padding: "12px 16px 16px"
|
|
2251
|
+
} }, images.map((_, i) => /* @__PURE__ */ import_react25.default.createElement(
|
|
2252
|
+
"button",
|
|
2253
|
+
{
|
|
2254
|
+
key: i,
|
|
2255
|
+
onClick: () => goTo(i),
|
|
2256
|
+
style: {
|
|
2257
|
+
width: i === current ? "20px" : "6px",
|
|
2258
|
+
height: "6px",
|
|
2259
|
+
borderRadius: "3px",
|
|
2260
|
+
border: "none",
|
|
2261
|
+
cursor: "pointer",
|
|
2262
|
+
padding: 0,
|
|
2263
|
+
background: i === current ? accent : "rgba(255,255,255,0.2)",
|
|
2264
|
+
transition: "all 0.25s ease"
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
))));
|
|
2268
|
+
};
|
|
2269
|
+
|
|
2270
|
+
// src/components/BackgoundImageSlider/BackgoundImageSlider.jsx
|
|
2271
|
+
var import_react26 = __toESM(require("react"));
|
|
2272
|
+
var BackgoundImageSlider = ({
|
|
2273
|
+
images = [
|
|
2274
|
+
{
|
|
2275
|
+
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1400&q=80",
|
|
2276
|
+
tag: "Travel",
|
|
2277
|
+
title: "Hidden Peaks of the Himalayas",
|
|
2278
|
+
description: "A breathtaking journey through untouched landscapes and ancient monasteries."
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1400&q=80",
|
|
2282
|
+
tag: "Urban",
|
|
2283
|
+
title: "City Lights at Night",
|
|
2284
|
+
description: "Explore the vibrant energy of the world's most iconic skylines after dark."
|
|
2285
|
+
},
|
|
2286
|
+
{
|
|
2287
|
+
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=1400&q=80",
|
|
2288
|
+
tag: "Nature",
|
|
2289
|
+
title: "Tropical Beach Paradise",
|
|
2290
|
+
description: "Crystal clear waters and white sand beaches that feel like the edge of the world."
|
|
2291
|
+
},
|
|
2292
|
+
{
|
|
2293
|
+
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=1400&q=80",
|
|
2294
|
+
tag: "Adventure",
|
|
2295
|
+
title: "Starry Mountain Night",
|
|
2296
|
+
description: "Where silence meets the cosmos \u2014 a night sky like you've never seen before."
|
|
2297
|
+
}
|
|
2298
|
+
],
|
|
2299
|
+
width = "100%",
|
|
2300
|
+
height = "520px",
|
|
2301
|
+
accent = "#6366f1",
|
|
2302
|
+
radius = "0px",
|
|
2303
|
+
showDots = true,
|
|
2304
|
+
autoPlay = false,
|
|
2305
|
+
autoPlayInterval = 4e3
|
|
2306
|
+
}) => {
|
|
2307
|
+
const [current, setCurrent] = (0, import_react26.useState)(0);
|
|
2308
|
+
const [animating, setAnimating] = (0, import_react26.useState)(false);
|
|
2309
|
+
const alpha = (hex, op) => {
|
|
2310
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
2311
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
2312
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
2313
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
2314
|
+
};
|
|
2315
|
+
const go = (0, import_react26.useCallback)((index) => {
|
|
2316
|
+
if (animating) return;
|
|
2317
|
+
setAnimating(true);
|
|
2318
|
+
setCurrent((index + images.length) % images.length);
|
|
2319
|
+
setTimeout(() => setAnimating(false), 400);
|
|
2320
|
+
}, [animating, images.length]);
|
|
2321
|
+
const prev = () => go(current - 1);
|
|
2322
|
+
const next = () => go(current + 1);
|
|
2323
|
+
(0, import_react26.useEffect)(() => {
|
|
2324
|
+
if (!autoPlay) return;
|
|
2325
|
+
const t = setInterval(() => go(current + 1), autoPlayInterval);
|
|
2326
|
+
return () => clearInterval(t);
|
|
2327
|
+
}, [autoPlay, autoPlayInterval, current, go]);
|
|
2328
|
+
const img = images[current];
|
|
2329
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement("style", null, `
|
|
2330
|
+
@keyframes hs-fade { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
|
|
2331
|
+
@keyframes hs-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
|
|
2332
|
+
.hs-prev:hover, .hs-next:hover { background: rgba(0,0,0,0.65) !important; border-color: rgba(255,255,255,0.35) !important; }
|
|
2333
|
+
`), /* @__PURE__ */ import_react26.default.createElement("div", { style: {
|
|
2334
|
+
position: "relative",
|
|
2335
|
+
width,
|
|
2336
|
+
height,
|
|
2337
|
+
borderRadius: radius,
|
|
2338
|
+
overflow: "hidden",
|
|
2339
|
+
fontFamily: "system-ui, -apple-system, sans-serif",
|
|
2340
|
+
userSelect: "none"
|
|
2341
|
+
} }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2342
|
+
"img",
|
|
2343
|
+
{
|
|
2344
|
+
key: current,
|
|
2345
|
+
src: img.src,
|
|
2346
|
+
alt: img.title,
|
|
2347
|
+
style: {
|
|
2348
|
+
position: "absolute",
|
|
2349
|
+
inset: 0,
|
|
2350
|
+
width: "100%",
|
|
2351
|
+
height: "100%",
|
|
2352
|
+
objectFit: "cover",
|
|
2353
|
+
animation: "hs-fade 0.4s ease"
|
|
2354
|
+
}
|
|
2355
|
+
}
|
|
2356
|
+
), /* @__PURE__ */ import_react26.default.createElement("div", { style: {
|
|
2357
|
+
position: "absolute",
|
|
2358
|
+
inset: 0,
|
|
2359
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.1) 100%)"
|
|
2360
|
+
} }), img.tag && /* @__PURE__ */ import_react26.default.createElement(
|
|
2361
|
+
"div",
|
|
2362
|
+
{
|
|
2363
|
+
key: current + "-tag",
|
|
2364
|
+
style: {
|
|
2365
|
+
position: "absolute",
|
|
2366
|
+
top: "24px",
|
|
2367
|
+
left: "28px",
|
|
2368
|
+
padding: "5px 14px",
|
|
2369
|
+
borderRadius: "20px",
|
|
2370
|
+
background: alpha(accent, 0.85),
|
|
2371
|
+
fontSize: "11px",
|
|
2372
|
+
fontWeight: "700",
|
|
2373
|
+
color: "#fff",
|
|
2374
|
+
letterSpacing: "0.6px",
|
|
2375
|
+
textTransform: "uppercase",
|
|
2376
|
+
animation: "hs-up 0.4s ease"
|
|
2377
|
+
}
|
|
2378
|
+
},
|
|
2379
|
+
img.tag
|
|
2380
|
+
), /* @__PURE__ */ import_react26.default.createElement("div", { style: {
|
|
2381
|
+
position: "absolute",
|
|
2382
|
+
top: "24px",
|
|
2383
|
+
right: "28px",
|
|
2384
|
+
padding: "5px 12px",
|
|
2385
|
+
borderRadius: "20px",
|
|
2386
|
+
background: "rgba(0,0,0,0.45)",
|
|
2387
|
+
fontSize: "11px",
|
|
2388
|
+
fontWeight: "600",
|
|
2389
|
+
color: "rgba(255,255,255,0.7)"
|
|
2390
|
+
} }, current + 1, " / ", images.length), /* @__PURE__ */ import_react26.default.createElement(
|
|
2391
|
+
"button",
|
|
2392
|
+
{
|
|
2393
|
+
className: "hs-prev",
|
|
2394
|
+
onClick: prev,
|
|
2395
|
+
style: {
|
|
2396
|
+
position: "absolute",
|
|
2397
|
+
left: "20px",
|
|
2398
|
+
top: "50%",
|
|
2399
|
+
transform: "translateY(-50%)",
|
|
2400
|
+
width: "44px",
|
|
2401
|
+
height: "44px",
|
|
2402
|
+
borderRadius: "50%",
|
|
2403
|
+
background: "rgba(0,0,0,0.4)",
|
|
2404
|
+
border: "1px solid rgba(255,255,255,0.2)",
|
|
2405
|
+
color: "#fff",
|
|
2406
|
+
cursor: "pointer",
|
|
2407
|
+
display: "flex",
|
|
2408
|
+
alignItems: "center",
|
|
2409
|
+
justifyContent: "center",
|
|
2410
|
+
transition: "all 0.2s",
|
|
2411
|
+
padding: 0,
|
|
2412
|
+
zIndex: 10
|
|
2413
|
+
}
|
|
2414
|
+
},
|
|
2415
|
+
/* @__PURE__ */ import_react26.default.createElement(
|
|
2416
|
+
"svg",
|
|
2417
|
+
{
|
|
2418
|
+
width: "18",
|
|
2419
|
+
height: "18",
|
|
2420
|
+
viewBox: "0 0 24 24",
|
|
2421
|
+
fill: "none",
|
|
2422
|
+
stroke: "currentColor",
|
|
2423
|
+
strokeWidth: "2.5",
|
|
2424
|
+
strokeLinecap: "round",
|
|
2425
|
+
strokeLinejoin: "round"
|
|
2426
|
+
},
|
|
2427
|
+
/* @__PURE__ */ import_react26.default.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
2428
|
+
)
|
|
2429
|
+
), /* @__PURE__ */ import_react26.default.createElement(
|
|
2430
|
+
"button",
|
|
2431
|
+
{
|
|
2432
|
+
className: "hs-next",
|
|
2433
|
+
onClick: next,
|
|
2434
|
+
style: {
|
|
2435
|
+
position: "absolute",
|
|
2436
|
+
right: "20px",
|
|
2437
|
+
top: "50%",
|
|
2438
|
+
transform: "translateY(-50%)",
|
|
2439
|
+
width: "44px",
|
|
2440
|
+
height: "44px",
|
|
2441
|
+
borderRadius: "50%",
|
|
2442
|
+
background: "rgba(0,0,0,0.4)",
|
|
2443
|
+
border: "1px solid rgba(255,255,255,0.2)",
|
|
2444
|
+
color: "#fff",
|
|
2445
|
+
cursor: "pointer",
|
|
2446
|
+
display: "flex",
|
|
2447
|
+
alignItems: "center",
|
|
2448
|
+
justifyContent: "center",
|
|
2449
|
+
transition: "all 0.2s",
|
|
2450
|
+
padding: 0,
|
|
2451
|
+
zIndex: 10
|
|
2452
|
+
}
|
|
2453
|
+
},
|
|
2454
|
+
/* @__PURE__ */ import_react26.default.createElement(
|
|
2455
|
+
"svg",
|
|
2456
|
+
{
|
|
2457
|
+
width: "18",
|
|
2458
|
+
height: "18",
|
|
2459
|
+
viewBox: "0 0 24 24",
|
|
2460
|
+
fill: "none",
|
|
2461
|
+
stroke: "currentColor",
|
|
2462
|
+
strokeWidth: "2.5",
|
|
2463
|
+
strokeLinecap: "round",
|
|
2464
|
+
strokeLinejoin: "round"
|
|
2465
|
+
},
|
|
2466
|
+
/* @__PURE__ */ import_react26.default.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
2467
|
+
)
|
|
2468
|
+
), /* @__PURE__ */ import_react26.default.createElement("div", { style: {
|
|
2469
|
+
position: "absolute",
|
|
2470
|
+
bottom: showDots ? "56px" : "28px",
|
|
2471
|
+
left: "28px",
|
|
2472
|
+
right: "28px",
|
|
2473
|
+
zIndex: 5
|
|
2474
|
+
} }, /* @__PURE__ */ import_react26.default.createElement(
|
|
2475
|
+
"h2",
|
|
2476
|
+
{
|
|
2477
|
+
key: current + "-title",
|
|
2478
|
+
style: {
|
|
2479
|
+
fontSize: "clamp(20px, 4vw, 36px)",
|
|
2480
|
+
fontWeight: "800",
|
|
2481
|
+
color: "#fff",
|
|
2482
|
+
margin: "0 0 8px",
|
|
2483
|
+
lineHeight: 1.25,
|
|
2484
|
+
textShadow: "0 2px 12px rgba(0,0,0,0.4)",
|
|
2485
|
+
animation: "hs-up 0.45s ease",
|
|
2486
|
+
maxWidth: "600px"
|
|
2487
|
+
}
|
|
2488
|
+
},
|
|
2489
|
+
img.title
|
|
2490
|
+
), /* @__PURE__ */ import_react26.default.createElement(
|
|
2491
|
+
"p",
|
|
2492
|
+
{
|
|
2493
|
+
key: current + "-desc",
|
|
2494
|
+
style: {
|
|
2495
|
+
fontSize: "clamp(13px, 2vw, 15px)",
|
|
2496
|
+
color: "rgba(255,255,255,0.7)",
|
|
2497
|
+
margin: 0,
|
|
2498
|
+
lineHeight: 1.6,
|
|
2499
|
+
textShadow: "0 1px 6px rgba(0,0,0,0.5)",
|
|
2500
|
+
animation: "hs-up 0.5s ease",
|
|
2501
|
+
maxWidth: "500px"
|
|
2502
|
+
}
|
|
2503
|
+
},
|
|
2504
|
+
img.description
|
|
2505
|
+
)), showDots && /* @__PURE__ */ import_react26.default.createElement("div", { style: {
|
|
2506
|
+
position: "absolute",
|
|
2507
|
+
bottom: "20px",
|
|
2508
|
+
left: 0,
|
|
2509
|
+
right: 0,
|
|
2510
|
+
display: "flex",
|
|
2511
|
+
justifyContent: "center",
|
|
2512
|
+
gap: "6px",
|
|
2513
|
+
zIndex: 5
|
|
2514
|
+
} }, images.map((_, i) => /* @__PURE__ */ import_react26.default.createElement(
|
|
2515
|
+
"button",
|
|
2516
|
+
{
|
|
2517
|
+
key: i,
|
|
2518
|
+
onClick: () => go(i),
|
|
2519
|
+
style: {
|
|
2520
|
+
width: i === current ? "24px" : "7px",
|
|
2521
|
+
height: "7px",
|
|
2522
|
+
borderRadius: "4px",
|
|
2523
|
+
border: "none",
|
|
2524
|
+
padding: 0,
|
|
2525
|
+
cursor: "pointer",
|
|
2526
|
+
background: i === current ? accent : "rgba(255,255,255,0.4)",
|
|
2527
|
+
transition: "all 0.3s ease"
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
)))));
|
|
2531
|
+
};
|
|
2053
2532
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2054
2533
|
0 && (module.exports = {
|
|
2055
2534
|
Avatar,
|
|
2056
2535
|
AvatarCard,
|
|
2536
|
+
BackgoundImageSlider,
|
|
2057
2537
|
Charts,
|
|
2058
2538
|
CodeBlock,
|
|
2059
2539
|
CustomInputField,
|
|
@@ -2061,6 +2541,7 @@ var ImageCard = ({
|
|
|
2061
2541
|
FileUpload,
|
|
2062
2542
|
Footer,
|
|
2063
2543
|
ImageCard,
|
|
2544
|
+
ImageSlider,
|
|
2064
2545
|
Loader,
|
|
2065
2546
|
LoadingSpinner,
|
|
2066
2547
|
Navbar,
|
package/dist/index.mjs
CHANGED
|
@@ -1992,9 +1992,487 @@ var ImageCard = ({
|
|
|
1992
1992
|
))
|
|
1993
1993
|
);
|
|
1994
1994
|
};
|
|
1995
|
+
|
|
1996
|
+
// src/components/ImageSlider/ImageSlider.jsx
|
|
1997
|
+
import React25, { useState as useState18 } from "react";
|
|
1998
|
+
var ImageSlider = ({
|
|
1999
|
+
images = [
|
|
2000
|
+
{
|
|
2001
|
+
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
2002
|
+
title: "Hidden Peaks of Himalayas",
|
|
2003
|
+
tag: "Travel"
|
|
2004
|
+
},
|
|
2005
|
+
{
|
|
2006
|
+
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80",
|
|
2007
|
+
title: "City Lights at Night",
|
|
2008
|
+
tag: "Urban"
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=600&q=80",
|
|
2012
|
+
title: "Tropical Beach Paradise",
|
|
2013
|
+
tag: "Nature"
|
|
2014
|
+
},
|
|
2015
|
+
{
|
|
2016
|
+
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=600&q=80",
|
|
2017
|
+
title: "Starry Mountain Night",
|
|
2018
|
+
tag: "Adventure"
|
|
2019
|
+
}
|
|
2020
|
+
],
|
|
2021
|
+
accent = "#6366f1",
|
|
2022
|
+
bg = "#0f172a",
|
|
2023
|
+
radius = "20px",
|
|
2024
|
+
showDots = true,
|
|
2025
|
+
showCaption = true,
|
|
2026
|
+
autoPlay = false
|
|
2027
|
+
}) => {
|
|
2028
|
+
const [current, setCurrent] = useState18(0);
|
|
2029
|
+
const [dir, setDir] = useState18(null);
|
|
2030
|
+
const alpha = (hex, op) => {
|
|
2031
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
2032
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
2033
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
2034
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
2035
|
+
};
|
|
2036
|
+
const prev = () => {
|
|
2037
|
+
setDir("left");
|
|
2038
|
+
setCurrent((c) => (c - 1 + images.length) % images.length);
|
|
2039
|
+
};
|
|
2040
|
+
const next = () => {
|
|
2041
|
+
setDir("right");
|
|
2042
|
+
setCurrent((c) => (c + 1) % images.length);
|
|
2043
|
+
};
|
|
2044
|
+
const goTo = (i) => {
|
|
2045
|
+
setDir(i > current ? "right" : "left");
|
|
2046
|
+
setCurrent(i);
|
|
2047
|
+
};
|
|
2048
|
+
const img = images[current];
|
|
2049
|
+
return /* @__PURE__ */ React25.createElement("div", { style: {
|
|
2050
|
+
background: bg,
|
|
2051
|
+
borderRadius: radius,
|
|
2052
|
+
overflow: "hidden",
|
|
2053
|
+
width: "300px",
|
|
2054
|
+
border: "1px solid rgba(255,255,255,0.07)",
|
|
2055
|
+
fontFamily: "system-ui, sans-serif",
|
|
2056
|
+
boxShadow: "0 10px 40px rgba(0,0,0,0.4)"
|
|
2057
|
+
} }, /* @__PURE__ */ React25.createElement("div", { style: { position: "relative", width: "100%", height: "200px", overflow: "hidden", background: "#000" } }, /* @__PURE__ */ React25.createElement(
|
|
2058
|
+
"img",
|
|
2059
|
+
{
|
|
2060
|
+
key: current,
|
|
2061
|
+
src: img.src,
|
|
2062
|
+
alt: img.title,
|
|
2063
|
+
style: {
|
|
2064
|
+
width: "100%",
|
|
2065
|
+
height: "100%",
|
|
2066
|
+
objectFit: "cover",
|
|
2067
|
+
animation: `sliderFade 0.35s ease`
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
), /* @__PURE__ */ React25.createElement("style", null, `@keyframes sliderFade { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }`), /* @__PURE__ */ React25.createElement("div", { style: {
|
|
2071
|
+
position: "absolute",
|
|
2072
|
+
inset: 0,
|
|
2073
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%)"
|
|
2074
|
+
} }), img.tag && /* @__PURE__ */ React25.createElement("div", { style: {
|
|
2075
|
+
position: "absolute",
|
|
2076
|
+
top: "12px",
|
|
2077
|
+
left: "12px",
|
|
2078
|
+
padding: "4px 10px",
|
|
2079
|
+
borderRadius: "20px",
|
|
2080
|
+
background: alpha(accent, 0.85),
|
|
2081
|
+
fontSize: "10px",
|
|
2082
|
+
fontWeight: "700",
|
|
2083
|
+
color: "#fff",
|
|
2084
|
+
letterSpacing: "0.5px",
|
|
2085
|
+
textTransform: "uppercase"
|
|
2086
|
+
} }, img.tag), /* @__PURE__ */ React25.createElement("div", { style: {
|
|
2087
|
+
position: "absolute",
|
|
2088
|
+
top: "12px",
|
|
2089
|
+
right: "12px",
|
|
2090
|
+
padding: "4px 10px",
|
|
2091
|
+
borderRadius: "20px",
|
|
2092
|
+
background: "rgba(0,0,0,0.5)",
|
|
2093
|
+
fontSize: "10px",
|
|
2094
|
+
fontWeight: "600",
|
|
2095
|
+
color: "rgba(255,255,255,0.7)"
|
|
2096
|
+
} }, current + 1, " / ", images.length), /* @__PURE__ */ React25.createElement(
|
|
2097
|
+
"button",
|
|
2098
|
+
{
|
|
2099
|
+
onClick: prev,
|
|
2100
|
+
style: {
|
|
2101
|
+
position: "absolute",
|
|
2102
|
+
left: "10px",
|
|
2103
|
+
top: "50%",
|
|
2104
|
+
transform: "translateY(-50%)",
|
|
2105
|
+
width: "34px",
|
|
2106
|
+
height: "34px",
|
|
2107
|
+
borderRadius: "50%",
|
|
2108
|
+
background: "rgba(0,0,0,0.5)",
|
|
2109
|
+
border: "1px solid rgba(255,255,255,0.15)",
|
|
2110
|
+
color: "#fff",
|
|
2111
|
+
cursor: "pointer",
|
|
2112
|
+
display: "flex",
|
|
2113
|
+
alignItems: "center",
|
|
2114
|
+
justifyContent: "center",
|
|
2115
|
+
transition: "background 0.2s",
|
|
2116
|
+
padding: 0
|
|
2117
|
+
},
|
|
2118
|
+
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
2119
|
+
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
2120
|
+
},
|
|
2121
|
+
/* @__PURE__ */ React25.createElement(
|
|
2122
|
+
"svg",
|
|
2123
|
+
{
|
|
2124
|
+
width: "14",
|
|
2125
|
+
height: "14",
|
|
2126
|
+
viewBox: "0 0 24 24",
|
|
2127
|
+
fill: "none",
|
|
2128
|
+
stroke: "currentColor",
|
|
2129
|
+
strokeWidth: "2.5",
|
|
2130
|
+
strokeLinecap: "round"
|
|
2131
|
+
},
|
|
2132
|
+
/* @__PURE__ */ React25.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
2133
|
+
)
|
|
2134
|
+
), /* @__PURE__ */ React25.createElement(
|
|
2135
|
+
"button",
|
|
2136
|
+
{
|
|
2137
|
+
onClick: next,
|
|
2138
|
+
style: {
|
|
2139
|
+
position: "absolute",
|
|
2140
|
+
right: "10px",
|
|
2141
|
+
top: "50%",
|
|
2142
|
+
transform: "translateY(-50%)",
|
|
2143
|
+
width: "34px",
|
|
2144
|
+
height: "34px",
|
|
2145
|
+
borderRadius: "50%",
|
|
2146
|
+
background: "rgba(0,0,0,0.5)",
|
|
2147
|
+
border: "1px solid rgba(255,255,255,0.15)",
|
|
2148
|
+
color: "#fff",
|
|
2149
|
+
cursor: "pointer",
|
|
2150
|
+
display: "flex",
|
|
2151
|
+
alignItems: "center",
|
|
2152
|
+
justifyContent: "center",
|
|
2153
|
+
transition: "background 0.2s",
|
|
2154
|
+
padding: 0
|
|
2155
|
+
},
|
|
2156
|
+
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
2157
|
+
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
2158
|
+
},
|
|
2159
|
+
/* @__PURE__ */ React25.createElement(
|
|
2160
|
+
"svg",
|
|
2161
|
+
{
|
|
2162
|
+
width: "14",
|
|
2163
|
+
height: "14",
|
|
2164
|
+
viewBox: "0 0 24 24",
|
|
2165
|
+
fill: "none",
|
|
2166
|
+
stroke: "currentColor",
|
|
2167
|
+
strokeWidth: "2.5",
|
|
2168
|
+
strokeLinecap: "round"
|
|
2169
|
+
},
|
|
2170
|
+
/* @__PURE__ */ React25.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
2171
|
+
)
|
|
2172
|
+
)), showCaption && /* @__PURE__ */ React25.createElement("div", { style: { padding: "14px 16px 4px" } }, /* @__PURE__ */ React25.createElement(
|
|
2173
|
+
"p",
|
|
2174
|
+
{
|
|
2175
|
+
style: {
|
|
2176
|
+
fontSize: "14px",
|
|
2177
|
+
fontWeight: "700",
|
|
2178
|
+
color: "#fff",
|
|
2179
|
+
margin: 0,
|
|
2180
|
+
lineHeight: 1.4,
|
|
2181
|
+
animation: "sliderFade 0.3s ease"
|
|
2182
|
+
},
|
|
2183
|
+
key: current + "-title"
|
|
2184
|
+
},
|
|
2185
|
+
img.title
|
|
2186
|
+
)), showDots && /* @__PURE__ */ React25.createElement("div", { style: {
|
|
2187
|
+
display: "flex",
|
|
2188
|
+
justifyContent: "center",
|
|
2189
|
+
gap: "6px",
|
|
2190
|
+
padding: "12px 16px 16px"
|
|
2191
|
+
} }, images.map((_, i) => /* @__PURE__ */ React25.createElement(
|
|
2192
|
+
"button",
|
|
2193
|
+
{
|
|
2194
|
+
key: i,
|
|
2195
|
+
onClick: () => goTo(i),
|
|
2196
|
+
style: {
|
|
2197
|
+
width: i === current ? "20px" : "6px",
|
|
2198
|
+
height: "6px",
|
|
2199
|
+
borderRadius: "3px",
|
|
2200
|
+
border: "none",
|
|
2201
|
+
cursor: "pointer",
|
|
2202
|
+
padding: 0,
|
|
2203
|
+
background: i === current ? accent : "rgba(255,255,255,0.2)",
|
|
2204
|
+
transition: "all 0.25s ease"
|
|
2205
|
+
}
|
|
2206
|
+
}
|
|
2207
|
+
))));
|
|
2208
|
+
};
|
|
2209
|
+
|
|
2210
|
+
// src/components/BackgoundImageSlider/BackgoundImageSlider.jsx
|
|
2211
|
+
import React26, { useState as useState19, useEffect as useEffect7, useCallback } from "react";
|
|
2212
|
+
var BackgoundImageSlider = ({
|
|
2213
|
+
images = [
|
|
2214
|
+
{
|
|
2215
|
+
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1400&q=80",
|
|
2216
|
+
tag: "Travel",
|
|
2217
|
+
title: "Hidden Peaks of the Himalayas",
|
|
2218
|
+
description: "A breathtaking journey through untouched landscapes and ancient monasteries."
|
|
2219
|
+
},
|
|
2220
|
+
{
|
|
2221
|
+
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1400&q=80",
|
|
2222
|
+
tag: "Urban",
|
|
2223
|
+
title: "City Lights at Night",
|
|
2224
|
+
description: "Explore the vibrant energy of the world's most iconic skylines after dark."
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=1400&q=80",
|
|
2228
|
+
tag: "Nature",
|
|
2229
|
+
title: "Tropical Beach Paradise",
|
|
2230
|
+
description: "Crystal clear waters and white sand beaches that feel like the edge of the world."
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=1400&q=80",
|
|
2234
|
+
tag: "Adventure",
|
|
2235
|
+
title: "Starry Mountain Night",
|
|
2236
|
+
description: "Where silence meets the cosmos \u2014 a night sky like you've never seen before."
|
|
2237
|
+
}
|
|
2238
|
+
],
|
|
2239
|
+
width = "100%",
|
|
2240
|
+
height = "520px",
|
|
2241
|
+
accent = "#6366f1",
|
|
2242
|
+
radius = "0px",
|
|
2243
|
+
showDots = true,
|
|
2244
|
+
autoPlay = false,
|
|
2245
|
+
autoPlayInterval = 4e3
|
|
2246
|
+
}) => {
|
|
2247
|
+
const [current, setCurrent] = useState19(0);
|
|
2248
|
+
const [animating, setAnimating] = useState19(false);
|
|
2249
|
+
const alpha = (hex, op) => {
|
|
2250
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
2251
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
2252
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
2253
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
2254
|
+
};
|
|
2255
|
+
const go = useCallback((index) => {
|
|
2256
|
+
if (animating) return;
|
|
2257
|
+
setAnimating(true);
|
|
2258
|
+
setCurrent((index + images.length) % images.length);
|
|
2259
|
+
setTimeout(() => setAnimating(false), 400);
|
|
2260
|
+
}, [animating, images.length]);
|
|
2261
|
+
const prev = () => go(current - 1);
|
|
2262
|
+
const next = () => go(current + 1);
|
|
2263
|
+
useEffect7(() => {
|
|
2264
|
+
if (!autoPlay) return;
|
|
2265
|
+
const t = setInterval(() => go(current + 1), autoPlayInterval);
|
|
2266
|
+
return () => clearInterval(t);
|
|
2267
|
+
}, [autoPlay, autoPlayInterval, current, go]);
|
|
2268
|
+
const img = images[current];
|
|
2269
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement("style", null, `
|
|
2270
|
+
@keyframes hs-fade { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
|
|
2271
|
+
@keyframes hs-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
|
|
2272
|
+
.hs-prev:hover, .hs-next:hover { background: rgba(0,0,0,0.65) !important; border-color: rgba(255,255,255,0.35) !important; }
|
|
2273
|
+
`), /* @__PURE__ */ React26.createElement("div", { style: {
|
|
2274
|
+
position: "relative",
|
|
2275
|
+
width,
|
|
2276
|
+
height,
|
|
2277
|
+
borderRadius: radius,
|
|
2278
|
+
overflow: "hidden",
|
|
2279
|
+
fontFamily: "system-ui, -apple-system, sans-serif",
|
|
2280
|
+
userSelect: "none"
|
|
2281
|
+
} }, /* @__PURE__ */ React26.createElement(
|
|
2282
|
+
"img",
|
|
2283
|
+
{
|
|
2284
|
+
key: current,
|
|
2285
|
+
src: img.src,
|
|
2286
|
+
alt: img.title,
|
|
2287
|
+
style: {
|
|
2288
|
+
position: "absolute",
|
|
2289
|
+
inset: 0,
|
|
2290
|
+
width: "100%",
|
|
2291
|
+
height: "100%",
|
|
2292
|
+
objectFit: "cover",
|
|
2293
|
+
animation: "hs-fade 0.4s ease"
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2296
|
+
), /* @__PURE__ */ React26.createElement("div", { style: {
|
|
2297
|
+
position: "absolute",
|
|
2298
|
+
inset: 0,
|
|
2299
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.1) 100%)"
|
|
2300
|
+
} }), img.tag && /* @__PURE__ */ React26.createElement(
|
|
2301
|
+
"div",
|
|
2302
|
+
{
|
|
2303
|
+
key: current + "-tag",
|
|
2304
|
+
style: {
|
|
2305
|
+
position: "absolute",
|
|
2306
|
+
top: "24px",
|
|
2307
|
+
left: "28px",
|
|
2308
|
+
padding: "5px 14px",
|
|
2309
|
+
borderRadius: "20px",
|
|
2310
|
+
background: alpha(accent, 0.85),
|
|
2311
|
+
fontSize: "11px",
|
|
2312
|
+
fontWeight: "700",
|
|
2313
|
+
color: "#fff",
|
|
2314
|
+
letterSpacing: "0.6px",
|
|
2315
|
+
textTransform: "uppercase",
|
|
2316
|
+
animation: "hs-up 0.4s ease"
|
|
2317
|
+
}
|
|
2318
|
+
},
|
|
2319
|
+
img.tag
|
|
2320
|
+
), /* @__PURE__ */ React26.createElement("div", { style: {
|
|
2321
|
+
position: "absolute",
|
|
2322
|
+
top: "24px",
|
|
2323
|
+
right: "28px",
|
|
2324
|
+
padding: "5px 12px",
|
|
2325
|
+
borderRadius: "20px",
|
|
2326
|
+
background: "rgba(0,0,0,0.45)",
|
|
2327
|
+
fontSize: "11px",
|
|
2328
|
+
fontWeight: "600",
|
|
2329
|
+
color: "rgba(255,255,255,0.7)"
|
|
2330
|
+
} }, current + 1, " / ", images.length), /* @__PURE__ */ React26.createElement(
|
|
2331
|
+
"button",
|
|
2332
|
+
{
|
|
2333
|
+
className: "hs-prev",
|
|
2334
|
+
onClick: prev,
|
|
2335
|
+
style: {
|
|
2336
|
+
position: "absolute",
|
|
2337
|
+
left: "20px",
|
|
2338
|
+
top: "50%",
|
|
2339
|
+
transform: "translateY(-50%)",
|
|
2340
|
+
width: "44px",
|
|
2341
|
+
height: "44px",
|
|
2342
|
+
borderRadius: "50%",
|
|
2343
|
+
background: "rgba(0,0,0,0.4)",
|
|
2344
|
+
border: "1px solid rgba(255,255,255,0.2)",
|
|
2345
|
+
color: "#fff",
|
|
2346
|
+
cursor: "pointer",
|
|
2347
|
+
display: "flex",
|
|
2348
|
+
alignItems: "center",
|
|
2349
|
+
justifyContent: "center",
|
|
2350
|
+
transition: "all 0.2s",
|
|
2351
|
+
padding: 0,
|
|
2352
|
+
zIndex: 10
|
|
2353
|
+
}
|
|
2354
|
+
},
|
|
2355
|
+
/* @__PURE__ */ React26.createElement(
|
|
2356
|
+
"svg",
|
|
2357
|
+
{
|
|
2358
|
+
width: "18",
|
|
2359
|
+
height: "18",
|
|
2360
|
+
viewBox: "0 0 24 24",
|
|
2361
|
+
fill: "none",
|
|
2362
|
+
stroke: "currentColor",
|
|
2363
|
+
strokeWidth: "2.5",
|
|
2364
|
+
strokeLinecap: "round",
|
|
2365
|
+
strokeLinejoin: "round"
|
|
2366
|
+
},
|
|
2367
|
+
/* @__PURE__ */ React26.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
2368
|
+
)
|
|
2369
|
+
), /* @__PURE__ */ React26.createElement(
|
|
2370
|
+
"button",
|
|
2371
|
+
{
|
|
2372
|
+
className: "hs-next",
|
|
2373
|
+
onClick: next,
|
|
2374
|
+
style: {
|
|
2375
|
+
position: "absolute",
|
|
2376
|
+
right: "20px",
|
|
2377
|
+
top: "50%",
|
|
2378
|
+
transform: "translateY(-50%)",
|
|
2379
|
+
width: "44px",
|
|
2380
|
+
height: "44px",
|
|
2381
|
+
borderRadius: "50%",
|
|
2382
|
+
background: "rgba(0,0,0,0.4)",
|
|
2383
|
+
border: "1px solid rgba(255,255,255,0.2)",
|
|
2384
|
+
color: "#fff",
|
|
2385
|
+
cursor: "pointer",
|
|
2386
|
+
display: "flex",
|
|
2387
|
+
alignItems: "center",
|
|
2388
|
+
justifyContent: "center",
|
|
2389
|
+
transition: "all 0.2s",
|
|
2390
|
+
padding: 0,
|
|
2391
|
+
zIndex: 10
|
|
2392
|
+
}
|
|
2393
|
+
},
|
|
2394
|
+
/* @__PURE__ */ React26.createElement(
|
|
2395
|
+
"svg",
|
|
2396
|
+
{
|
|
2397
|
+
width: "18",
|
|
2398
|
+
height: "18",
|
|
2399
|
+
viewBox: "0 0 24 24",
|
|
2400
|
+
fill: "none",
|
|
2401
|
+
stroke: "currentColor",
|
|
2402
|
+
strokeWidth: "2.5",
|
|
2403
|
+
strokeLinecap: "round",
|
|
2404
|
+
strokeLinejoin: "round"
|
|
2405
|
+
},
|
|
2406
|
+
/* @__PURE__ */ React26.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
2407
|
+
)
|
|
2408
|
+
), /* @__PURE__ */ React26.createElement("div", { style: {
|
|
2409
|
+
position: "absolute",
|
|
2410
|
+
bottom: showDots ? "56px" : "28px",
|
|
2411
|
+
left: "28px",
|
|
2412
|
+
right: "28px",
|
|
2413
|
+
zIndex: 5
|
|
2414
|
+
} }, /* @__PURE__ */ React26.createElement(
|
|
2415
|
+
"h2",
|
|
2416
|
+
{
|
|
2417
|
+
key: current + "-title",
|
|
2418
|
+
style: {
|
|
2419
|
+
fontSize: "clamp(20px, 4vw, 36px)",
|
|
2420
|
+
fontWeight: "800",
|
|
2421
|
+
color: "#fff",
|
|
2422
|
+
margin: "0 0 8px",
|
|
2423
|
+
lineHeight: 1.25,
|
|
2424
|
+
textShadow: "0 2px 12px rgba(0,0,0,0.4)",
|
|
2425
|
+
animation: "hs-up 0.45s ease",
|
|
2426
|
+
maxWidth: "600px"
|
|
2427
|
+
}
|
|
2428
|
+
},
|
|
2429
|
+
img.title
|
|
2430
|
+
), /* @__PURE__ */ React26.createElement(
|
|
2431
|
+
"p",
|
|
2432
|
+
{
|
|
2433
|
+
key: current + "-desc",
|
|
2434
|
+
style: {
|
|
2435
|
+
fontSize: "clamp(13px, 2vw, 15px)",
|
|
2436
|
+
color: "rgba(255,255,255,0.7)",
|
|
2437
|
+
margin: 0,
|
|
2438
|
+
lineHeight: 1.6,
|
|
2439
|
+
textShadow: "0 1px 6px rgba(0,0,0,0.5)",
|
|
2440
|
+
animation: "hs-up 0.5s ease",
|
|
2441
|
+
maxWidth: "500px"
|
|
2442
|
+
}
|
|
2443
|
+
},
|
|
2444
|
+
img.description
|
|
2445
|
+
)), showDots && /* @__PURE__ */ React26.createElement("div", { style: {
|
|
2446
|
+
position: "absolute",
|
|
2447
|
+
bottom: "20px",
|
|
2448
|
+
left: 0,
|
|
2449
|
+
right: 0,
|
|
2450
|
+
display: "flex",
|
|
2451
|
+
justifyContent: "center",
|
|
2452
|
+
gap: "6px",
|
|
2453
|
+
zIndex: 5
|
|
2454
|
+
} }, images.map((_, i) => /* @__PURE__ */ React26.createElement(
|
|
2455
|
+
"button",
|
|
2456
|
+
{
|
|
2457
|
+
key: i,
|
|
2458
|
+
onClick: () => go(i),
|
|
2459
|
+
style: {
|
|
2460
|
+
width: i === current ? "24px" : "7px",
|
|
2461
|
+
height: "7px",
|
|
2462
|
+
borderRadius: "4px",
|
|
2463
|
+
border: "none",
|
|
2464
|
+
padding: 0,
|
|
2465
|
+
cursor: "pointer",
|
|
2466
|
+
background: i === current ? accent : "rgba(255,255,255,0.4)",
|
|
2467
|
+
transition: "all 0.3s ease"
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
)))));
|
|
2471
|
+
};
|
|
1995
2472
|
export {
|
|
1996
2473
|
Avatar,
|
|
1997
2474
|
AvatarCard,
|
|
2475
|
+
BackgoundImageSlider,
|
|
1998
2476
|
Charts,
|
|
1999
2477
|
CodeBlock,
|
|
2000
2478
|
CustomInputField,
|
|
@@ -2002,6 +2480,7 @@ export {
|
|
|
2002
2480
|
FileUpload,
|
|
2003
2481
|
Footer,
|
|
2004
2482
|
ImageCard,
|
|
2483
|
+
ImageSlider,
|
|
2005
2484
|
Loader,
|
|
2006
2485
|
LoadingSpinner,
|
|
2007
2486
|
Navbar,
|