uiverseplus-lib 1.0.1 → 1.0.3
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 +76 -258
- package/dist/index.mjs +91 -273
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1411,215 +1411,25 @@ var ImageCard = ({
|
|
|
1411
1411
|
// src/components/ImageSlider/ImageSlider.jsx
|
|
1412
1412
|
var import_react10 = __toESM(require("react"));
|
|
1413
1413
|
var ImageSlider = ({
|
|
1414
|
-
images = [
|
|
1415
|
-
|
|
1416
|
-
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
1417
|
-
title: "Hidden Peaks of Himalayas",
|
|
1418
|
-
tag: "Travel"
|
|
1419
|
-
},
|
|
1420
|
-
{
|
|
1421
|
-
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80",
|
|
1422
|
-
title: "City Lights at Night",
|
|
1423
|
-
tag: "Urban"
|
|
1424
|
-
},
|
|
1425
|
-
{
|
|
1426
|
-
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=600&q=80",
|
|
1427
|
-
title: "Tropical Beach Paradise",
|
|
1428
|
-
tag: "Nature"
|
|
1429
|
-
},
|
|
1430
|
-
{
|
|
1431
|
-
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=600&q=80",
|
|
1432
|
-
title: "Starry Mountain Night",
|
|
1433
|
-
tag: "Adventure"
|
|
1434
|
-
}
|
|
1435
|
-
],
|
|
1414
|
+
images = ["https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80", "https://images.unsplash.com/photo-1506744038136-46273834b3cd?w=600&q=80", "https://images.unsplash.com/photo-1501785888041-af3ef285b470?w=600&q=80"],
|
|
1415
|
+
interval = 5e3,
|
|
1436
1416
|
accent = "#6366f1",
|
|
1437
1417
|
bg = "#0f172a",
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
showCaption = true,
|
|
1441
|
-
autoPlay = false
|
|
1418
|
+
width = "600px",
|
|
1419
|
+
height = "400px"
|
|
1442
1420
|
}) => {
|
|
1443
|
-
const [
|
|
1444
|
-
const [dir, setDir] = (0, import_react10.useState)(null);
|
|
1421
|
+
const [currentIndex, setCurrentIndex] = (0, import_react10.useState)(0);
|
|
1445
1422
|
const alpha = (hex, op) => {
|
|
1446
|
-
const r = parseInt(hex.slice(1, 3), 16);
|
|
1447
|
-
|
|
1448
|
-
const b = parseInt(hex.slice(5, 7), 16);
|
|
1449
|
-
return `rgba(${r},${g},${b},${op})`;
|
|
1450
|
-
};
|
|
1451
|
-
const prev = () => {
|
|
1452
|
-
setDir("left");
|
|
1453
|
-
setCurrent((c) => (c - 1 + images.length) % images.length);
|
|
1454
|
-
};
|
|
1455
|
-
const next = () => {
|
|
1456
|
-
setDir("right");
|
|
1457
|
-
setCurrent((c) => (c + 1) % images.length);
|
|
1458
|
-
};
|
|
1459
|
-
const goTo = (i) => {
|
|
1460
|
-
setDir(i > current ? "right" : "left");
|
|
1461
|
-
setCurrent(i);
|
|
1423
|
+
const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
|
|
1424
|
+
return "rgba(" + r + "," + g + "," + b + "," + op + ")";
|
|
1462
1425
|
};
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
fontFamily: "system-ui, sans-serif",
|
|
1471
|
-
boxShadow: "0 10px 40px rgba(0,0,0,0.4)"
|
|
1472
|
-
} }, /* @__PURE__ */ import_react10.default.createElement("div", { style: { position: "relative", width: "100%", height: "200px", overflow: "hidden", background: "#000" } }, /* @__PURE__ */ import_react10.default.createElement(
|
|
1473
|
-
"img",
|
|
1474
|
-
{
|
|
1475
|
-
key: current,
|
|
1476
|
-
src: img.src,
|
|
1477
|
-
alt: img.title,
|
|
1478
|
-
style: {
|
|
1479
|
-
width: "100%",
|
|
1480
|
-
height: "100%",
|
|
1481
|
-
objectFit: "cover",
|
|
1482
|
-
animation: `sliderFade 0.35s ease`
|
|
1483
|
-
}
|
|
1484
|
-
}
|
|
1485
|
-
), /* @__PURE__ */ import_react10.default.createElement("style", null, `@keyframes sliderFade { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }`), /* @__PURE__ */ import_react10.default.createElement("div", { style: {
|
|
1486
|
-
position: "absolute",
|
|
1487
|
-
inset: 0,
|
|
1488
|
-
background: "linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%)"
|
|
1489
|
-
} }), img.tag && /* @__PURE__ */ import_react10.default.createElement("div", { style: {
|
|
1490
|
-
position: "absolute",
|
|
1491
|
-
top: "12px",
|
|
1492
|
-
left: "12px",
|
|
1493
|
-
padding: "4px 10px",
|
|
1494
|
-
borderRadius: "20px",
|
|
1495
|
-
background: alpha(accent, 0.85),
|
|
1496
|
-
fontSize: "10px",
|
|
1497
|
-
fontWeight: "700",
|
|
1498
|
-
color: "#fff",
|
|
1499
|
-
letterSpacing: "0.5px",
|
|
1500
|
-
textTransform: "uppercase"
|
|
1501
|
-
} }, img.tag), /* @__PURE__ */ import_react10.default.createElement("div", { style: {
|
|
1502
|
-
position: "absolute",
|
|
1503
|
-
top: "12px",
|
|
1504
|
-
right: "12px",
|
|
1505
|
-
padding: "4px 10px",
|
|
1506
|
-
borderRadius: "20px",
|
|
1507
|
-
background: "rgba(0,0,0,0.5)",
|
|
1508
|
-
fontSize: "10px",
|
|
1509
|
-
fontWeight: "600",
|
|
1510
|
-
color: "rgba(255,255,255,0.7)"
|
|
1511
|
-
} }, current + 1, " / ", images.length), /* @__PURE__ */ import_react10.default.createElement(
|
|
1512
|
-
"button",
|
|
1513
|
-
{
|
|
1514
|
-
onClick: prev,
|
|
1515
|
-
style: {
|
|
1516
|
-
position: "absolute",
|
|
1517
|
-
left: "10px",
|
|
1518
|
-
top: "50%",
|
|
1519
|
-
transform: "translateY(-50%)",
|
|
1520
|
-
width: "34px",
|
|
1521
|
-
height: "34px",
|
|
1522
|
-
borderRadius: "50%",
|
|
1523
|
-
background: "rgba(0,0,0,0.5)",
|
|
1524
|
-
border: "1px solid rgba(255,255,255,0.15)",
|
|
1525
|
-
color: "#fff",
|
|
1526
|
-
cursor: "pointer",
|
|
1527
|
-
display: "flex",
|
|
1528
|
-
alignItems: "center",
|
|
1529
|
-
justifyContent: "center",
|
|
1530
|
-
transition: "background 0.2s",
|
|
1531
|
-
padding: 0
|
|
1532
|
-
},
|
|
1533
|
-
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
1534
|
-
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
1535
|
-
},
|
|
1536
|
-
/* @__PURE__ */ import_react10.default.createElement(
|
|
1537
|
-
"svg",
|
|
1538
|
-
{
|
|
1539
|
-
width: "14",
|
|
1540
|
-
height: "14",
|
|
1541
|
-
viewBox: "0 0 24 24",
|
|
1542
|
-
fill: "none",
|
|
1543
|
-
stroke: "currentColor",
|
|
1544
|
-
strokeWidth: "2.5",
|
|
1545
|
-
strokeLinecap: "round"
|
|
1546
|
-
},
|
|
1547
|
-
/* @__PURE__ */ import_react10.default.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
1548
|
-
)
|
|
1549
|
-
), /* @__PURE__ */ import_react10.default.createElement(
|
|
1550
|
-
"button",
|
|
1551
|
-
{
|
|
1552
|
-
onClick: next,
|
|
1553
|
-
style: {
|
|
1554
|
-
position: "absolute",
|
|
1555
|
-
right: "10px",
|
|
1556
|
-
top: "50%",
|
|
1557
|
-
transform: "translateY(-50%)",
|
|
1558
|
-
width: "34px",
|
|
1559
|
-
height: "34px",
|
|
1560
|
-
borderRadius: "50%",
|
|
1561
|
-
background: "rgba(0,0,0,0.5)",
|
|
1562
|
-
border: "1px solid rgba(255,255,255,0.15)",
|
|
1563
|
-
color: "#fff",
|
|
1564
|
-
cursor: "pointer",
|
|
1565
|
-
display: "flex",
|
|
1566
|
-
alignItems: "center",
|
|
1567
|
-
justifyContent: "center",
|
|
1568
|
-
transition: "background 0.2s",
|
|
1569
|
-
padding: 0
|
|
1570
|
-
},
|
|
1571
|
-
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
1572
|
-
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
1573
|
-
},
|
|
1574
|
-
/* @__PURE__ */ import_react10.default.createElement(
|
|
1575
|
-
"svg",
|
|
1576
|
-
{
|
|
1577
|
-
width: "14",
|
|
1578
|
-
height: "14",
|
|
1579
|
-
viewBox: "0 0 24 24",
|
|
1580
|
-
fill: "none",
|
|
1581
|
-
stroke: "currentColor",
|
|
1582
|
-
strokeWidth: "2.5",
|
|
1583
|
-
strokeLinecap: "round"
|
|
1584
|
-
},
|
|
1585
|
-
/* @__PURE__ */ import_react10.default.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
1586
|
-
)
|
|
1587
|
-
)), showCaption && /* @__PURE__ */ import_react10.default.createElement("div", { style: { padding: "14px 16px 4px" } }, /* @__PURE__ */ import_react10.default.createElement(
|
|
1588
|
-
"p",
|
|
1589
|
-
{
|
|
1590
|
-
style: {
|
|
1591
|
-
fontSize: "14px",
|
|
1592
|
-
fontWeight: "700",
|
|
1593
|
-
color: "#fff",
|
|
1594
|
-
margin: 0,
|
|
1595
|
-
lineHeight: 1.4,
|
|
1596
|
-
animation: "sliderFade 0.3s ease"
|
|
1597
|
-
},
|
|
1598
|
-
key: current + "-title"
|
|
1599
|
-
},
|
|
1600
|
-
img.title
|
|
1601
|
-
)), showDots && /* @__PURE__ */ import_react10.default.createElement("div", { style: {
|
|
1602
|
-
display: "flex",
|
|
1603
|
-
justifyContent: "center",
|
|
1604
|
-
gap: "6px",
|
|
1605
|
-
padding: "12px 16px 16px"
|
|
1606
|
-
} }, images.map((_, i) => /* @__PURE__ */ import_react10.default.createElement(
|
|
1607
|
-
"button",
|
|
1608
|
-
{
|
|
1609
|
-
key: i,
|
|
1610
|
-
onClick: () => goTo(i),
|
|
1611
|
-
style: {
|
|
1612
|
-
width: i === current ? "20px" : "6px",
|
|
1613
|
-
height: "6px",
|
|
1614
|
-
borderRadius: "3px",
|
|
1615
|
-
border: "none",
|
|
1616
|
-
cursor: "pointer",
|
|
1617
|
-
padding: 0,
|
|
1618
|
-
background: i === current ? accent : "rgba(255,255,255,0.2)",
|
|
1619
|
-
transition: "all 0.25s ease"
|
|
1620
|
-
}
|
|
1621
|
-
}
|
|
1622
|
-
))));
|
|
1426
|
+
(0, import_react10.useEffect)(() => {
|
|
1427
|
+
const timer = setInterval(() => {
|
|
1428
|
+
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length);
|
|
1429
|
+
}, interval);
|
|
1430
|
+
return () => clearInterval(timer);
|
|
1431
|
+
}, [images.length, interval]);
|
|
1432
|
+
return /* @__PURE__ */ import_react10.default.createElement("div", { style: { position: "relative", width, height, borderRadius: "20px", overflow: "hidden", background: bg, boxShadow: "0 10px 40px rgba(0,0,0,0.5)" } }, /* @__PURE__ */ import_react10.default.createElement("div", { style: { position: "absolute", inset: 0, display: "flex", transition: "transform 0.5s ease", transform: "translateX(" + -currentIndex * 100 + "%)" } }, images.map((img, i) => /* @__PURE__ */ import_react10.default.createElement("div", { key: i, style: { flex: "0 0 100%", height: "100%", position: "relative" } }, /* @__PURE__ */ import_react10.default.createElement("img", { src: img, alt: "Slider", style: { width: "100%", height: "100%", objectFit: "cover" } }), /* @__PURE__ */ import_react10.default.createElement("div", { style: { position: "absolute", inset: 0, background: "linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%)" } })))), /* @__PURE__ */ import_react10.default.createElement("div", { style: { position: "absolute", bottom: "20px", left: "50%", transform: "translateX(-50%)", display: "flex", gap: "8px" } }, images.map((_, i) => /* @__PURE__ */ import_react10.default.createElement("button", { key: i, onClick: () => setCurrentIndex(i), style: { width: "10px", height: "10px", borderRadius: "50%", border: "none", background: currentIndex === i ? accent : "rgba(255,255,255,0.3)", cursor: "pointer", transition: "background 0.2s" } }))), /* @__PURE__ */ import_react10.default.createElement("button", { onClick: () => setCurrentIndex((prevIndex) => (prevIndex - 1 + images.length) % images.length), style: { position: "absolute", left: "20px", top: "50%", transform: "translateY(-50%)", background: alpha(bg, 0.7), border: "none", width: "40px", height: "40px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", boxShadow: "0 4px 12px rgba(0,0,0,0.3)" } }, /* @__PURE__ */ import_react10.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react10.default.createElement("polyline", { points: "15 18 9 12 15 6" }))), /* @__PURE__ */ import_react10.default.createElement("button", { onClick: () => setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length), style: { position: "absolute", right: "20px", top: "50%", transform: "translateY(-50%)", background: alpha(bg, 0.7), border: "none", width: "40px", height: "40px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", boxShadow: "0 4px 12px rgba(0,0,0,0.3)" } }, /* @__PURE__ */ import_react10.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react10.default.createElement("polyline", { points: "9 18 15 12 9 6" }))));
|
|
1623
1433
|
};
|
|
1624
1434
|
|
|
1625
1435
|
// src/components/BackgoundImageSlider/BackgoundImageSlider.jsx
|
|
@@ -3788,75 +3598,83 @@ var ReviewCard = ({
|
|
|
3788
3598
|
// src/components/Card/Card.jsx
|
|
3789
3599
|
var import_react23 = __toESM(require("react"));
|
|
3790
3600
|
var Card = ({
|
|
3791
|
-
title = "
|
|
3792
|
-
description = "
|
|
3793
|
-
icon = "\
|
|
3794
|
-
|
|
3795
|
-
|
|
3601
|
+
title = "Premium Design",
|
|
3602
|
+
description = "Elevate your project with our high-quality UI components and templates.",
|
|
3603
|
+
icon = "\u2605",
|
|
3604
|
+
accent = "#7c3aed",
|
|
3605
|
+
bg = "#0f172a",
|
|
3606
|
+
borderColor = "rgba(255,255,255,0.1)",
|
|
3607
|
+
onAction = () => {
|
|
3608
|
+
}
|
|
3796
3609
|
}) => {
|
|
3797
3610
|
const [hovered, setHovered] = (0, import_react23.useState)(false);
|
|
3611
|
+
const alpha = (hex, op) => {
|
|
3612
|
+
const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
|
|
3613
|
+
return "rgba(" + r + "," + g + "," + b + "," + op + ")";
|
|
3614
|
+
};
|
|
3798
3615
|
return /* @__PURE__ */ import_react23.default.createElement(
|
|
3799
3616
|
"div",
|
|
3800
3617
|
{
|
|
3801
3618
|
onMouseEnter: () => setHovered(true),
|
|
3802
3619
|
onMouseLeave: () => setHovered(false),
|
|
3803
|
-
onClick,
|
|
3804
3620
|
style: {
|
|
3805
|
-
background:
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
fontFamily: "sans-serif",
|
|
3815
|
-
width: "260px"
|
|
3621
|
+
background: bg,
|
|
3622
|
+
borderRadius: "16px",
|
|
3623
|
+
padding: "24px",
|
|
3624
|
+
width: "280px",
|
|
3625
|
+
border: "1px solid " + (hovered ? alpha(accent, 0.3) : borderColor),
|
|
3626
|
+
fontFamily: "system-ui,sans-serif",
|
|
3627
|
+
transition: "all 0.2s ease",
|
|
3628
|
+
boxShadow: hovered ? "0 10px 30px rgba(0,0,0,0.5)" : "0 5px 15px rgba(0,0,0,0.3)",
|
|
3629
|
+
transform: hovered ? "translateY(-4px)" : "translateY(0)"
|
|
3816
3630
|
}
|
|
3817
3631
|
},
|
|
3818
3632
|
/* @__PURE__ */ import_react23.default.createElement("div", { style: {
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
height: "3px",
|
|
3824
|
-
background: "#1D9E75",
|
|
3825
|
-
borderRadius: "12px 12px 0 0"
|
|
3826
|
-
} }),
|
|
3827
|
-
/* @__PURE__ */ import_react23.default.createElement("div", { style: {
|
|
3828
|
-
width: 40,
|
|
3829
|
-
height: 40,
|
|
3830
|
-
borderRadius: 8,
|
|
3831
|
-
background: "#E1F5EE",
|
|
3633
|
+
width: "48px",
|
|
3634
|
+
height: "48px",
|
|
3635
|
+
borderRadius: "12px",
|
|
3636
|
+
background: alpha(accent, 0.15),
|
|
3832
3637
|
display: "flex",
|
|
3833
3638
|
alignItems: "center",
|
|
3834
3639
|
justifyContent: "center",
|
|
3835
|
-
|
|
3836
|
-
|
|
3640
|
+
marginBottom: "16px",
|
|
3641
|
+
border: "1px solid " + alpha(accent, 0.3),
|
|
3642
|
+
color: accent,
|
|
3643
|
+
fontSize: "20px",
|
|
3644
|
+
fontWeight: "bold"
|
|
3837
3645
|
} }, icon),
|
|
3838
|
-
/* @__PURE__ */ import_react23.default.createElement("
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3646
|
+
/* @__PURE__ */ import_react23.default.createElement("h3", { style: {
|
|
3647
|
+
fontSize: "18px",
|
|
3648
|
+
fontWeight: "700",
|
|
3649
|
+
color: "#fff",
|
|
3650
|
+
margin: "0 0 8px 0",
|
|
3651
|
+
lineHeight: 1.3
|
|
3652
|
+
} }, title),
|
|
3653
|
+
/* @__PURE__ */ import_react23.default.createElement("p", { style: {
|
|
3654
|
+
fontSize: "14px",
|
|
3655
|
+
color: "rgba(255,255,255,0.6)",
|
|
3656
|
+
margin: "0 0 20px 0",
|
|
3657
|
+
lineHeight: 1.5
|
|
3658
|
+
} }, description),
|
|
3659
|
+
/* @__PURE__ */ import_react23.default.createElement(
|
|
3660
|
+
"button",
|
|
3661
|
+
{
|
|
3662
|
+
onClick: onAction,
|
|
3663
|
+
style: {
|
|
3664
|
+
padding: "10px 18px",
|
|
3665
|
+
borderRadius: "10px",
|
|
3666
|
+
border: "none",
|
|
3667
|
+
background: hovered ? "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.8) + ")" : alpha(accent, 0.1),
|
|
3668
|
+
color: hovered ? "#fff" : accent,
|
|
3669
|
+
fontSize: "13px",
|
|
3670
|
+
fontWeight: "600",
|
|
3671
|
+
cursor: "pointer",
|
|
3672
|
+
transition: "all 0.2s ease",
|
|
3673
|
+
fontFamily: "inherit"
|
|
3674
|
+
}
|
|
3675
|
+
},
|
|
3676
|
+
"Learn More"
|
|
3677
|
+
)
|
|
3860
3678
|
);
|
|
3861
3679
|
};
|
|
3862
3680
|
|
package/dist/index.mjs
CHANGED
|
@@ -1350,221 +1350,31 @@ var ImageCard = ({
|
|
|
1350
1350
|
};
|
|
1351
1351
|
|
|
1352
1352
|
// src/components/ImageSlider/ImageSlider.jsx
|
|
1353
|
-
import React10, { useState as useState8 } from "react";
|
|
1353
|
+
import React10, { useState as useState8, useEffect as useEffect4 } from "react";
|
|
1354
1354
|
var ImageSlider = ({
|
|
1355
|
-
images = [
|
|
1356
|
-
|
|
1357
|
-
src: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
1358
|
-
title: "Hidden Peaks of Himalayas",
|
|
1359
|
-
tag: "Travel"
|
|
1360
|
-
},
|
|
1361
|
-
{
|
|
1362
|
-
src: "https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80",
|
|
1363
|
-
title: "City Lights at Night",
|
|
1364
|
-
tag: "Urban"
|
|
1365
|
-
},
|
|
1366
|
-
{
|
|
1367
|
-
src: "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?w=600&q=80",
|
|
1368
|
-
title: "Tropical Beach Paradise",
|
|
1369
|
-
tag: "Nature"
|
|
1370
|
-
},
|
|
1371
|
-
{
|
|
1372
|
-
src: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=600&q=80",
|
|
1373
|
-
title: "Starry Mountain Night",
|
|
1374
|
-
tag: "Adventure"
|
|
1375
|
-
}
|
|
1376
|
-
],
|
|
1355
|
+
images = ["https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80", "https://images.unsplash.com/photo-1506744038136-46273834b3cd?w=600&q=80", "https://images.unsplash.com/photo-1501785888041-af3ef285b470?w=600&q=80"],
|
|
1356
|
+
interval = 5e3,
|
|
1377
1357
|
accent = "#6366f1",
|
|
1378
1358
|
bg = "#0f172a",
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
showCaption = true,
|
|
1382
|
-
autoPlay = false
|
|
1359
|
+
width = "600px",
|
|
1360
|
+
height = "400px"
|
|
1383
1361
|
}) => {
|
|
1384
|
-
const [
|
|
1385
|
-
const [dir, setDir] = useState8(null);
|
|
1362
|
+
const [currentIndex, setCurrentIndex] = useState8(0);
|
|
1386
1363
|
const alpha = (hex, op) => {
|
|
1387
|
-
const r = parseInt(hex.slice(1, 3), 16);
|
|
1388
|
-
|
|
1389
|
-
const b = parseInt(hex.slice(5, 7), 16);
|
|
1390
|
-
return `rgba(${r},${g},${b},${op})`;
|
|
1391
|
-
};
|
|
1392
|
-
const prev = () => {
|
|
1393
|
-
setDir("left");
|
|
1394
|
-
setCurrent((c) => (c - 1 + images.length) % images.length);
|
|
1395
|
-
};
|
|
1396
|
-
const next = () => {
|
|
1397
|
-
setDir("right");
|
|
1398
|
-
setCurrent((c) => (c + 1) % images.length);
|
|
1399
|
-
};
|
|
1400
|
-
const goTo = (i) => {
|
|
1401
|
-
setDir(i > current ? "right" : "left");
|
|
1402
|
-
setCurrent(i);
|
|
1364
|
+
const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
|
|
1365
|
+
return "rgba(" + r + "," + g + "," + b + "," + op + ")";
|
|
1403
1366
|
};
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
fontFamily: "system-ui, sans-serif",
|
|
1412
|
-
boxShadow: "0 10px 40px rgba(0,0,0,0.4)"
|
|
1413
|
-
} }, /* @__PURE__ */ React10.createElement("div", { style: { position: "relative", width: "100%", height: "200px", overflow: "hidden", background: "#000" } }, /* @__PURE__ */ React10.createElement(
|
|
1414
|
-
"img",
|
|
1415
|
-
{
|
|
1416
|
-
key: current,
|
|
1417
|
-
src: img.src,
|
|
1418
|
-
alt: img.title,
|
|
1419
|
-
style: {
|
|
1420
|
-
width: "100%",
|
|
1421
|
-
height: "100%",
|
|
1422
|
-
objectFit: "cover",
|
|
1423
|
-
animation: `sliderFade 0.35s ease`
|
|
1424
|
-
}
|
|
1425
|
-
}
|
|
1426
|
-
), /* @__PURE__ */ React10.createElement("style", null, `@keyframes sliderFade { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }`), /* @__PURE__ */ React10.createElement("div", { style: {
|
|
1427
|
-
position: "absolute",
|
|
1428
|
-
inset: 0,
|
|
1429
|
-
background: "linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%)"
|
|
1430
|
-
} }), img.tag && /* @__PURE__ */ React10.createElement("div", { style: {
|
|
1431
|
-
position: "absolute",
|
|
1432
|
-
top: "12px",
|
|
1433
|
-
left: "12px",
|
|
1434
|
-
padding: "4px 10px",
|
|
1435
|
-
borderRadius: "20px",
|
|
1436
|
-
background: alpha(accent, 0.85),
|
|
1437
|
-
fontSize: "10px",
|
|
1438
|
-
fontWeight: "700",
|
|
1439
|
-
color: "#fff",
|
|
1440
|
-
letterSpacing: "0.5px",
|
|
1441
|
-
textTransform: "uppercase"
|
|
1442
|
-
} }, img.tag), /* @__PURE__ */ React10.createElement("div", { style: {
|
|
1443
|
-
position: "absolute",
|
|
1444
|
-
top: "12px",
|
|
1445
|
-
right: "12px",
|
|
1446
|
-
padding: "4px 10px",
|
|
1447
|
-
borderRadius: "20px",
|
|
1448
|
-
background: "rgba(0,0,0,0.5)",
|
|
1449
|
-
fontSize: "10px",
|
|
1450
|
-
fontWeight: "600",
|
|
1451
|
-
color: "rgba(255,255,255,0.7)"
|
|
1452
|
-
} }, current + 1, " / ", images.length), /* @__PURE__ */ React10.createElement(
|
|
1453
|
-
"button",
|
|
1454
|
-
{
|
|
1455
|
-
onClick: prev,
|
|
1456
|
-
style: {
|
|
1457
|
-
position: "absolute",
|
|
1458
|
-
left: "10px",
|
|
1459
|
-
top: "50%",
|
|
1460
|
-
transform: "translateY(-50%)",
|
|
1461
|
-
width: "34px",
|
|
1462
|
-
height: "34px",
|
|
1463
|
-
borderRadius: "50%",
|
|
1464
|
-
background: "rgba(0,0,0,0.5)",
|
|
1465
|
-
border: "1px solid rgba(255,255,255,0.15)",
|
|
1466
|
-
color: "#fff",
|
|
1467
|
-
cursor: "pointer",
|
|
1468
|
-
display: "flex",
|
|
1469
|
-
alignItems: "center",
|
|
1470
|
-
justifyContent: "center",
|
|
1471
|
-
transition: "background 0.2s",
|
|
1472
|
-
padding: 0
|
|
1473
|
-
},
|
|
1474
|
-
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
1475
|
-
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
1476
|
-
},
|
|
1477
|
-
/* @__PURE__ */ React10.createElement(
|
|
1478
|
-
"svg",
|
|
1479
|
-
{
|
|
1480
|
-
width: "14",
|
|
1481
|
-
height: "14",
|
|
1482
|
-
viewBox: "0 0 24 24",
|
|
1483
|
-
fill: "none",
|
|
1484
|
-
stroke: "currentColor",
|
|
1485
|
-
strokeWidth: "2.5",
|
|
1486
|
-
strokeLinecap: "round"
|
|
1487
|
-
},
|
|
1488
|
-
/* @__PURE__ */ React10.createElement("polyline", { points: "15 18 9 12 15 6" })
|
|
1489
|
-
)
|
|
1490
|
-
), /* @__PURE__ */ React10.createElement(
|
|
1491
|
-
"button",
|
|
1492
|
-
{
|
|
1493
|
-
onClick: next,
|
|
1494
|
-
style: {
|
|
1495
|
-
position: "absolute",
|
|
1496
|
-
right: "10px",
|
|
1497
|
-
top: "50%",
|
|
1498
|
-
transform: "translateY(-50%)",
|
|
1499
|
-
width: "34px",
|
|
1500
|
-
height: "34px",
|
|
1501
|
-
borderRadius: "50%",
|
|
1502
|
-
background: "rgba(0,0,0,0.5)",
|
|
1503
|
-
border: "1px solid rgba(255,255,255,0.15)",
|
|
1504
|
-
color: "#fff",
|
|
1505
|
-
cursor: "pointer",
|
|
1506
|
-
display: "flex",
|
|
1507
|
-
alignItems: "center",
|
|
1508
|
-
justifyContent: "center",
|
|
1509
|
-
transition: "background 0.2s",
|
|
1510
|
-
padding: 0
|
|
1511
|
-
},
|
|
1512
|
-
onMouseEnter: (e) => e.currentTarget.style.background = alpha(accent, 0.8),
|
|
1513
|
-
onMouseLeave: (e) => e.currentTarget.style.background = "rgba(0,0,0,0.5)"
|
|
1514
|
-
},
|
|
1515
|
-
/* @__PURE__ */ React10.createElement(
|
|
1516
|
-
"svg",
|
|
1517
|
-
{
|
|
1518
|
-
width: "14",
|
|
1519
|
-
height: "14",
|
|
1520
|
-
viewBox: "0 0 24 24",
|
|
1521
|
-
fill: "none",
|
|
1522
|
-
stroke: "currentColor",
|
|
1523
|
-
strokeWidth: "2.5",
|
|
1524
|
-
strokeLinecap: "round"
|
|
1525
|
-
},
|
|
1526
|
-
/* @__PURE__ */ React10.createElement("polyline", { points: "9 18 15 12 9 6" })
|
|
1527
|
-
)
|
|
1528
|
-
)), showCaption && /* @__PURE__ */ React10.createElement("div", { style: { padding: "14px 16px 4px" } }, /* @__PURE__ */ React10.createElement(
|
|
1529
|
-
"p",
|
|
1530
|
-
{
|
|
1531
|
-
style: {
|
|
1532
|
-
fontSize: "14px",
|
|
1533
|
-
fontWeight: "700",
|
|
1534
|
-
color: "#fff",
|
|
1535
|
-
margin: 0,
|
|
1536
|
-
lineHeight: 1.4,
|
|
1537
|
-
animation: "sliderFade 0.3s ease"
|
|
1538
|
-
},
|
|
1539
|
-
key: current + "-title"
|
|
1540
|
-
},
|
|
1541
|
-
img.title
|
|
1542
|
-
)), showDots && /* @__PURE__ */ React10.createElement("div", { style: {
|
|
1543
|
-
display: "flex",
|
|
1544
|
-
justifyContent: "center",
|
|
1545
|
-
gap: "6px",
|
|
1546
|
-
padding: "12px 16px 16px"
|
|
1547
|
-
} }, images.map((_, i) => /* @__PURE__ */ React10.createElement(
|
|
1548
|
-
"button",
|
|
1549
|
-
{
|
|
1550
|
-
key: i,
|
|
1551
|
-
onClick: () => goTo(i),
|
|
1552
|
-
style: {
|
|
1553
|
-
width: i === current ? "20px" : "6px",
|
|
1554
|
-
height: "6px",
|
|
1555
|
-
borderRadius: "3px",
|
|
1556
|
-
border: "none",
|
|
1557
|
-
cursor: "pointer",
|
|
1558
|
-
padding: 0,
|
|
1559
|
-
background: i === current ? accent : "rgba(255,255,255,0.2)",
|
|
1560
|
-
transition: "all 0.25s ease"
|
|
1561
|
-
}
|
|
1562
|
-
}
|
|
1563
|
-
))));
|
|
1367
|
+
useEffect4(() => {
|
|
1368
|
+
const timer = setInterval(() => {
|
|
1369
|
+
setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length);
|
|
1370
|
+
}, interval);
|
|
1371
|
+
return () => clearInterval(timer);
|
|
1372
|
+
}, [images.length, interval]);
|
|
1373
|
+
return /* @__PURE__ */ React10.createElement("div", { style: { position: "relative", width, height, borderRadius: "20px", overflow: "hidden", background: bg, boxShadow: "0 10px 40px rgba(0,0,0,0.5)" } }, /* @__PURE__ */ React10.createElement("div", { style: { position: "absolute", inset: 0, display: "flex", transition: "transform 0.5s ease", transform: "translateX(" + -currentIndex * 100 + "%)" } }, images.map((img, i) => /* @__PURE__ */ React10.createElement("div", { key: i, style: { flex: "0 0 100%", height: "100%", position: "relative" } }, /* @__PURE__ */ React10.createElement("img", { src: img, alt: "Slider", style: { width: "100%", height: "100%", objectFit: "cover" } }), /* @__PURE__ */ React10.createElement("div", { style: { position: "absolute", inset: 0, background: "linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%)" } })))), /* @__PURE__ */ React10.createElement("div", { style: { position: "absolute", bottom: "20px", left: "50%", transform: "translateX(-50%)", display: "flex", gap: "8px" } }, images.map((_, i) => /* @__PURE__ */ React10.createElement("button", { key: i, onClick: () => setCurrentIndex(i), style: { width: "10px", height: "10px", borderRadius: "50%", border: "none", background: currentIndex === i ? accent : "rgba(255,255,255,0.3)", cursor: "pointer", transition: "background 0.2s" } }))), /* @__PURE__ */ React10.createElement("button", { onClick: () => setCurrentIndex((prevIndex) => (prevIndex - 1 + images.length) % images.length), style: { position: "absolute", left: "20px", top: "50%", transform: "translateY(-50%)", background: alpha(bg, 0.7), border: "none", width: "40px", height: "40px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", boxShadow: "0 4px 12px rgba(0,0,0,0.3)" } }, /* @__PURE__ */ React10.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React10.createElement("polyline", { points: "15 18 9 12 15 6" }))), /* @__PURE__ */ React10.createElement("button", { onClick: () => setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length), style: { position: "absolute", right: "20px", top: "50%", transform: "translateY(-50%)", background: alpha(bg, 0.7), border: "none", width: "40px", height: "40px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", boxShadow: "0 4px 12px rgba(0,0,0,0.3)" } }, /* @__PURE__ */ React10.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React10.createElement("polyline", { points: "9 18 15 12 9 6" }))));
|
|
1564
1374
|
};
|
|
1565
1375
|
|
|
1566
1376
|
// src/components/BackgoundImageSlider/BackgoundImageSlider.jsx
|
|
1567
|
-
import React11, { useState as useState9, useEffect as
|
|
1377
|
+
import React11, { useState as useState9, useEffect as useEffect5, useCallback } from "react";
|
|
1568
1378
|
var BackgoundImageSlider = ({
|
|
1569
1379
|
images = [
|
|
1570
1380
|
{
|
|
@@ -1616,7 +1426,7 @@ var BackgoundImageSlider = ({
|
|
|
1616
1426
|
}, [animating, images.length]);
|
|
1617
1427
|
const prev = () => go(current - 1);
|
|
1618
1428
|
const next = () => go(current + 1);
|
|
1619
|
-
|
|
1429
|
+
useEffect5(() => {
|
|
1620
1430
|
if (!autoPlay) return;
|
|
1621
1431
|
const t = setInterval(() => go(current + 1), autoPlayInterval);
|
|
1622
1432
|
return () => clearInterval(t);
|
|
@@ -1827,7 +1637,7 @@ var BackgoundImageSlider = ({
|
|
|
1827
1637
|
};
|
|
1828
1638
|
|
|
1829
1639
|
// src/components/PageLoader/PageLoader.jsx
|
|
1830
|
-
import React12, { useState as useState10, useEffect as
|
|
1640
|
+
import React12, { useState as useState10, useEffect as useEffect6 } from "react";
|
|
1831
1641
|
var PageLoader = ({
|
|
1832
1642
|
logo = "VirtualAI",
|
|
1833
1643
|
accent = "#6366f1",
|
|
@@ -1847,7 +1657,7 @@ var PageLoader = ({
|
|
|
1847
1657
|
const b = parseInt(hex.slice(5, 7), 16);
|
|
1848
1658
|
return `rgba(${r},${g},${b},${op})`;
|
|
1849
1659
|
};
|
|
1850
|
-
|
|
1660
|
+
useEffect6(() => {
|
|
1851
1661
|
const steps = 100;
|
|
1852
1662
|
const interval = duration / steps;
|
|
1853
1663
|
let current = 0;
|
|
@@ -1996,7 +1806,7 @@ var PageLoader = ({
|
|
|
1996
1806
|
};
|
|
1997
1807
|
|
|
1998
1808
|
// src/components/OTPInput/OTPInput.jsx
|
|
1999
|
-
import React13, { useState as useState11, useRef, useEffect as
|
|
1809
|
+
import React13, { useState as useState11, useRef, useEffect as useEffect7 } from "react";
|
|
2000
1810
|
var OTPInput = ({
|
|
2001
1811
|
length = 6,
|
|
2002
1812
|
onComplete = () => {
|
|
@@ -2024,11 +1834,11 @@ var OTPInput = ({
|
|
|
2024
1834
|
const b = parseInt(hex.slice(5, 7), 16);
|
|
2025
1835
|
return `rgba(${r},${g},${b},${op})`;
|
|
2026
1836
|
};
|
|
2027
|
-
|
|
1837
|
+
useEffect7(() => {
|
|
2028
1838
|
var _a;
|
|
2029
1839
|
(_a = inputs.current[0]) == null ? void 0 : _a.focus();
|
|
2030
1840
|
}, []);
|
|
2031
|
-
|
|
1841
|
+
useEffect7(() => {
|
|
2032
1842
|
if (resendTimer <= 0) return;
|
|
2033
1843
|
const t = setInterval(() => setResendTimer((s) => s - 1), 1e3);
|
|
2034
1844
|
return () => clearInterval(t);
|
|
@@ -3061,7 +2871,7 @@ var RatingStars = ({
|
|
|
3061
2871
|
};
|
|
3062
2872
|
|
|
3063
2873
|
// src/components/StatCard/StatCard.jsx
|
|
3064
|
-
import React18, { useEffect as
|
|
2874
|
+
import React18, { useEffect as useEffect8, useRef as useRef3, useState as useState16 } from "react";
|
|
3065
2875
|
var StatCard = ({
|
|
3066
2876
|
title = "Active Users",
|
|
3067
2877
|
value = "128K",
|
|
@@ -3081,7 +2891,7 @@ var StatCard = ({
|
|
|
3081
2891
|
const [visible, setVisible] = useState16(false);
|
|
3082
2892
|
const [entered, setEntered] = useState16(false);
|
|
3083
2893
|
const ref = useRef3(null);
|
|
3084
|
-
|
|
2894
|
+
useEffect8(() => {
|
|
3085
2895
|
const observer = new IntersectionObserver(
|
|
3086
2896
|
([entry]) => {
|
|
3087
2897
|
if (entry.isIntersecting) {
|
|
@@ -3094,7 +2904,7 @@ var StatCard = ({
|
|
|
3094
2904
|
if (ref.current) observer.observe(ref.current);
|
|
3095
2905
|
return () => observer.disconnect();
|
|
3096
2906
|
}, []);
|
|
3097
|
-
|
|
2907
|
+
useEffect8(() => {
|
|
3098
2908
|
if (!visible) return;
|
|
3099
2909
|
setEntered(true);
|
|
3100
2910
|
const duration = 1400;
|
|
@@ -3107,7 +2917,7 @@ var StatCard = ({
|
|
|
3107
2917
|
};
|
|
3108
2918
|
requestAnimationFrame(step);
|
|
3109
2919
|
}, [visible, numericValue]);
|
|
3110
|
-
|
|
2920
|
+
useEffect8(() => {
|
|
3111
2921
|
if (!visible) return;
|
|
3112
2922
|
const t = setTimeout(() => setBarWidth(barPercent), 200);
|
|
3113
2923
|
return () => clearTimeout(t);
|
|
@@ -3277,7 +3087,7 @@ var StatCard = ({
|
|
|
3277
3087
|
};
|
|
3278
3088
|
|
|
3279
3089
|
// src/components/ProgressBar/ProgressBar.jsx
|
|
3280
|
-
import React19, { useEffect as
|
|
3090
|
+
import React19, { useEffect as useEffect9, useRef as useRef4, useState as useState17 } from "react";
|
|
3281
3091
|
var ProgressBar = ({
|
|
3282
3092
|
label = "Progress",
|
|
3283
3093
|
percentage = 75,
|
|
@@ -3294,7 +3104,7 @@ var ProgressBar = ({
|
|
|
3294
3104
|
const [filled, setFilled] = useState17(0);
|
|
3295
3105
|
const [visible, setVisible] = useState17(false);
|
|
3296
3106
|
const ref = useRef4(null);
|
|
3297
|
-
|
|
3107
|
+
useEffect9(() => {
|
|
3298
3108
|
const obs = new IntersectionObserver(
|
|
3299
3109
|
([e]) => {
|
|
3300
3110
|
if (e.isIntersecting) {
|
|
@@ -3307,7 +3117,7 @@ var ProgressBar = ({
|
|
|
3307
3117
|
if (ref.current) obs.observe(ref.current);
|
|
3308
3118
|
return () => obs.disconnect();
|
|
3309
3119
|
}, []);
|
|
3310
|
-
|
|
3120
|
+
useEffect9(() => {
|
|
3311
3121
|
if (!visible) return;
|
|
3312
3122
|
const duration = 1200;
|
|
3313
3123
|
const start = performance.now();
|
|
@@ -3729,75 +3539,83 @@ var ReviewCard = ({
|
|
|
3729
3539
|
// src/components/Card/Card.jsx
|
|
3730
3540
|
import React23, { useState as useState20 } from "react";
|
|
3731
3541
|
var Card = ({
|
|
3732
|
-
title = "
|
|
3733
|
-
description = "
|
|
3734
|
-
icon = "\
|
|
3735
|
-
|
|
3736
|
-
|
|
3542
|
+
title = "Premium Design",
|
|
3543
|
+
description = "Elevate your project with our high-quality UI components and templates.",
|
|
3544
|
+
icon = "\u2605",
|
|
3545
|
+
accent = "#7c3aed",
|
|
3546
|
+
bg = "#0f172a",
|
|
3547
|
+
borderColor = "rgba(255,255,255,0.1)",
|
|
3548
|
+
onAction = () => {
|
|
3549
|
+
}
|
|
3737
3550
|
}) => {
|
|
3738
3551
|
const [hovered, setHovered] = useState20(false);
|
|
3552
|
+
const alpha = (hex, op) => {
|
|
3553
|
+
const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
|
|
3554
|
+
return "rgba(" + r + "," + g + "," + b + "," + op + ")";
|
|
3555
|
+
};
|
|
3739
3556
|
return /* @__PURE__ */ React23.createElement(
|
|
3740
3557
|
"div",
|
|
3741
3558
|
{
|
|
3742
3559
|
onMouseEnter: () => setHovered(true),
|
|
3743
3560
|
onMouseLeave: () => setHovered(false),
|
|
3744
|
-
onClick,
|
|
3745
3561
|
style: {
|
|
3746
|
-
background:
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
fontFamily: "sans-serif",
|
|
3756
|
-
width: "260px"
|
|
3562
|
+
background: bg,
|
|
3563
|
+
borderRadius: "16px",
|
|
3564
|
+
padding: "24px",
|
|
3565
|
+
width: "280px",
|
|
3566
|
+
border: "1px solid " + (hovered ? alpha(accent, 0.3) : borderColor),
|
|
3567
|
+
fontFamily: "system-ui,sans-serif",
|
|
3568
|
+
transition: "all 0.2s ease",
|
|
3569
|
+
boxShadow: hovered ? "0 10px 30px rgba(0,0,0,0.5)" : "0 5px 15px rgba(0,0,0,0.3)",
|
|
3570
|
+
transform: hovered ? "translateY(-4px)" : "translateY(0)"
|
|
3757
3571
|
}
|
|
3758
3572
|
},
|
|
3759
3573
|
/* @__PURE__ */ React23.createElement("div", { style: {
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
height: "3px",
|
|
3765
|
-
background: "#1D9E75",
|
|
3766
|
-
borderRadius: "12px 12px 0 0"
|
|
3767
|
-
} }),
|
|
3768
|
-
/* @__PURE__ */ React23.createElement("div", { style: {
|
|
3769
|
-
width: 40,
|
|
3770
|
-
height: 40,
|
|
3771
|
-
borderRadius: 8,
|
|
3772
|
-
background: "#E1F5EE",
|
|
3574
|
+
width: "48px",
|
|
3575
|
+
height: "48px",
|
|
3576
|
+
borderRadius: "12px",
|
|
3577
|
+
background: alpha(accent, 0.15),
|
|
3773
3578
|
display: "flex",
|
|
3774
3579
|
alignItems: "center",
|
|
3775
3580
|
justifyContent: "center",
|
|
3776
|
-
|
|
3777
|
-
|
|
3581
|
+
marginBottom: "16px",
|
|
3582
|
+
border: "1px solid " + alpha(accent, 0.3),
|
|
3583
|
+
color: accent,
|
|
3584
|
+
fontSize: "20px",
|
|
3585
|
+
fontWeight: "bold"
|
|
3778
3586
|
} }, icon),
|
|
3779
|
-
/* @__PURE__ */ React23.createElement("
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3587
|
+
/* @__PURE__ */ React23.createElement("h3", { style: {
|
|
3588
|
+
fontSize: "18px",
|
|
3589
|
+
fontWeight: "700",
|
|
3590
|
+
color: "#fff",
|
|
3591
|
+
margin: "0 0 8px 0",
|
|
3592
|
+
lineHeight: 1.3
|
|
3593
|
+
} }, title),
|
|
3594
|
+
/* @__PURE__ */ React23.createElement("p", { style: {
|
|
3595
|
+
fontSize: "14px",
|
|
3596
|
+
color: "rgba(255,255,255,0.6)",
|
|
3597
|
+
margin: "0 0 20px 0",
|
|
3598
|
+
lineHeight: 1.5
|
|
3599
|
+
} }, description),
|
|
3600
|
+
/* @__PURE__ */ React23.createElement(
|
|
3601
|
+
"button",
|
|
3602
|
+
{
|
|
3603
|
+
onClick: onAction,
|
|
3604
|
+
style: {
|
|
3605
|
+
padding: "10px 18px",
|
|
3606
|
+
borderRadius: "10px",
|
|
3607
|
+
border: "none",
|
|
3608
|
+
background: hovered ? "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.8) + ")" : alpha(accent, 0.1),
|
|
3609
|
+
color: hovered ? "#fff" : accent,
|
|
3610
|
+
fontSize: "13px",
|
|
3611
|
+
fontWeight: "600",
|
|
3612
|
+
cursor: "pointer",
|
|
3613
|
+
transition: "all 0.2s ease",
|
|
3614
|
+
fontFamily: "inherit"
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
3617
|
+
"Learn More"
|
|
3618
|
+
)
|
|
3801
3619
|
);
|
|
3802
3620
|
};
|
|
3803
3621
|
|