virtual-ui-lib 1.0.63 → 1.0.64
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 +106 -0
- package/dist/index.mjs +105 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ __export(index_exports, {
|
|
|
37
37
|
DividerLine: () => DividerLine,
|
|
38
38
|
FileUpload: () => FileUpload,
|
|
39
39
|
Footer: () => Footer,
|
|
40
|
+
ImageCard: () => ImageCard,
|
|
40
41
|
Loader: () => Loader,
|
|
41
42
|
LoadingSpinner: () => LoadingSpinner,
|
|
42
43
|
Navbar: () => Navbar,
|
|
@@ -1945,6 +1946,110 @@ var Charts = ({
|
|
|
1945
1946
|
textTransform: "capitalize"
|
|
1946
1947
|
} }, type)), renderChart());
|
|
1947
1948
|
};
|
|
1949
|
+
|
|
1950
|
+
// src/components/ImageCard/ImageCard.jsx
|
|
1951
|
+
var import_react24 = __toESM(require("react"));
|
|
1952
|
+
var ImageCard = ({
|
|
1953
|
+
image = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
1954
|
+
tag = "Travel",
|
|
1955
|
+
title = "Discover the Hidden Peaks of the Himalayas",
|
|
1956
|
+
description = "A breathtaking journey through untouched landscapes, ancient monasteries, and snow-capped summits that few have ever seen.",
|
|
1957
|
+
buttonText = "Read More",
|
|
1958
|
+
accent = "#6366f1",
|
|
1959
|
+
bg = "#0f172a",
|
|
1960
|
+
radius = "20px",
|
|
1961
|
+
onButtonClick = () => {
|
|
1962
|
+
}
|
|
1963
|
+
}) => {
|
|
1964
|
+
const [hovered, setHovered] = (0, import_react24.useState)(false);
|
|
1965
|
+
const alpha = (hex, op) => {
|
|
1966
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
1967
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
1968
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
1969
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
1970
|
+
};
|
|
1971
|
+
return /* @__PURE__ */ import_react24.default.createElement(
|
|
1972
|
+
"div",
|
|
1973
|
+
{
|
|
1974
|
+
onMouseEnter: () => setHovered(true),
|
|
1975
|
+
onMouseLeave: () => setHovered(false),
|
|
1976
|
+
style: {
|
|
1977
|
+
background: bg,
|
|
1978
|
+
borderRadius: radius,
|
|
1979
|
+
overflow: "hidden",
|
|
1980
|
+
width: "300px",
|
|
1981
|
+
border: `1px solid ${hovered ? alpha(accent, 0.3) : "rgba(255,255,255,0.07)"}`,
|
|
1982
|
+
fontFamily: "system-ui, sans-serif",
|
|
1983
|
+
transition: "border-color 0.25s, transform 0.25s",
|
|
1984
|
+
transform: hovered ? "translateY(-4px)" : "none",
|
|
1985
|
+
boxShadow: hovered ? `0 16px 40px rgba(0,0,0,0.5)` : "0 4px 20px rgba(0,0,0,0.3)"
|
|
1986
|
+
}
|
|
1987
|
+
},
|
|
1988
|
+
/* @__PURE__ */ import_react24.default.createElement("div", { style: { position: "relative", width: "100%", height: "180px", overflow: "hidden" } }, /* @__PURE__ */ import_react24.default.createElement(
|
|
1989
|
+
"img",
|
|
1990
|
+
{
|
|
1991
|
+
src: image,
|
|
1992
|
+
alt: title,
|
|
1993
|
+
style: {
|
|
1994
|
+
width: "100%",
|
|
1995
|
+
height: "100%",
|
|
1996
|
+
objectFit: "cover",
|
|
1997
|
+
transform: hovered ? "scale(1.05)" : "scale(1)",
|
|
1998
|
+
transition: "transform 0.4s ease"
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
), /* @__PURE__ */ import_react24.default.createElement("div", { style: {
|
|
2002
|
+
position: "absolute",
|
|
2003
|
+
inset: 0,
|
|
2004
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%)"
|
|
2005
|
+
} }), tag && /* @__PURE__ */ import_react24.default.createElement("div", { style: {
|
|
2006
|
+
position: "absolute",
|
|
2007
|
+
top: "12px",
|
|
2008
|
+
left: "12px",
|
|
2009
|
+
padding: "4px 10px",
|
|
2010
|
+
borderRadius: "20px",
|
|
2011
|
+
background: alpha(accent, 0.85),
|
|
2012
|
+
fontSize: "10px",
|
|
2013
|
+
fontWeight: "700",
|
|
2014
|
+
color: "#fff",
|
|
2015
|
+
letterSpacing: "0.5px",
|
|
2016
|
+
textTransform: "uppercase"
|
|
2017
|
+
} }, tag)),
|
|
2018
|
+
/* @__PURE__ */ import_react24.default.createElement("div", { style: { padding: "18px" } }, /* @__PURE__ */ import_react24.default.createElement("h3", { style: {
|
|
2019
|
+
fontSize: "15px",
|
|
2020
|
+
fontWeight: "700",
|
|
2021
|
+
color: "#fff",
|
|
2022
|
+
margin: "0 0 8px",
|
|
2023
|
+
lineHeight: 1.4
|
|
2024
|
+
} }, title), /* @__PURE__ */ import_react24.default.createElement("p", { style: {
|
|
2025
|
+
fontSize: "13px",
|
|
2026
|
+
color: "rgba(255,255,255,0.45)",
|
|
2027
|
+
lineHeight: 1.65,
|
|
2028
|
+
margin: "0 0 18px"
|
|
2029
|
+
} }, description), /* @__PURE__ */ import_react24.default.createElement(
|
|
2030
|
+
"button",
|
|
2031
|
+
{
|
|
2032
|
+
onClick: onButtonClick,
|
|
2033
|
+
style: {
|
|
2034
|
+
width: "100%",
|
|
2035
|
+
padding: "11px",
|
|
2036
|
+
borderRadius: "12px",
|
|
2037
|
+
border: "none",
|
|
2038
|
+
background: `linear-gradient(135deg, ${accent}, ${alpha(accent, 0.7)})`,
|
|
2039
|
+
color: "#fff",
|
|
2040
|
+
fontSize: "13px",
|
|
2041
|
+
fontWeight: "700",
|
|
2042
|
+
cursor: "pointer",
|
|
2043
|
+
fontFamily: "inherit",
|
|
2044
|
+
transition: "opacity 0.2s"
|
|
2045
|
+
},
|
|
2046
|
+
onMouseEnter: (e) => e.currentTarget.style.opacity = "0.85",
|
|
2047
|
+
onMouseLeave: (e) => e.currentTarget.style.opacity = "1"
|
|
2048
|
+
},
|
|
2049
|
+
buttonText
|
|
2050
|
+
))
|
|
2051
|
+
);
|
|
2052
|
+
};
|
|
1948
2053
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1949
2054
|
0 && (module.exports = {
|
|
1950
2055
|
Avatar,
|
|
@@ -1955,6 +2060,7 @@ var Charts = ({
|
|
|
1955
2060
|
DividerLine,
|
|
1956
2061
|
FileUpload,
|
|
1957
2062
|
Footer,
|
|
2063
|
+
ImageCard,
|
|
1958
2064
|
Loader,
|
|
1959
2065
|
LoadingSpinner,
|
|
1960
2066
|
Navbar,
|
package/dist/index.mjs
CHANGED
|
@@ -1888,6 +1888,110 @@ var Charts = ({
|
|
|
1888
1888
|
textTransform: "capitalize"
|
|
1889
1889
|
} }, type)), renderChart());
|
|
1890
1890
|
};
|
|
1891
|
+
|
|
1892
|
+
// src/components/ImageCard/ImageCard.jsx
|
|
1893
|
+
import React24, { useState as useState17 } from "react";
|
|
1894
|
+
var ImageCard = ({
|
|
1895
|
+
image = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
|
|
1896
|
+
tag = "Travel",
|
|
1897
|
+
title = "Discover the Hidden Peaks of the Himalayas",
|
|
1898
|
+
description = "A breathtaking journey through untouched landscapes, ancient monasteries, and snow-capped summits that few have ever seen.",
|
|
1899
|
+
buttonText = "Read More",
|
|
1900
|
+
accent = "#6366f1",
|
|
1901
|
+
bg = "#0f172a",
|
|
1902
|
+
radius = "20px",
|
|
1903
|
+
onButtonClick = () => {
|
|
1904
|
+
}
|
|
1905
|
+
}) => {
|
|
1906
|
+
const [hovered, setHovered] = useState17(false);
|
|
1907
|
+
const alpha = (hex, op) => {
|
|
1908
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
1909
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
1910
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
1911
|
+
return `rgba(${r},${g},${b},${op})`;
|
|
1912
|
+
};
|
|
1913
|
+
return /* @__PURE__ */ React24.createElement(
|
|
1914
|
+
"div",
|
|
1915
|
+
{
|
|
1916
|
+
onMouseEnter: () => setHovered(true),
|
|
1917
|
+
onMouseLeave: () => setHovered(false),
|
|
1918
|
+
style: {
|
|
1919
|
+
background: bg,
|
|
1920
|
+
borderRadius: radius,
|
|
1921
|
+
overflow: "hidden",
|
|
1922
|
+
width: "300px",
|
|
1923
|
+
border: `1px solid ${hovered ? alpha(accent, 0.3) : "rgba(255,255,255,0.07)"}`,
|
|
1924
|
+
fontFamily: "system-ui, sans-serif",
|
|
1925
|
+
transition: "border-color 0.25s, transform 0.25s",
|
|
1926
|
+
transform: hovered ? "translateY(-4px)" : "none",
|
|
1927
|
+
boxShadow: hovered ? `0 16px 40px rgba(0,0,0,0.5)` : "0 4px 20px rgba(0,0,0,0.3)"
|
|
1928
|
+
}
|
|
1929
|
+
},
|
|
1930
|
+
/* @__PURE__ */ React24.createElement("div", { style: { position: "relative", width: "100%", height: "180px", overflow: "hidden" } }, /* @__PURE__ */ React24.createElement(
|
|
1931
|
+
"img",
|
|
1932
|
+
{
|
|
1933
|
+
src: image,
|
|
1934
|
+
alt: title,
|
|
1935
|
+
style: {
|
|
1936
|
+
width: "100%",
|
|
1937
|
+
height: "100%",
|
|
1938
|
+
objectFit: "cover",
|
|
1939
|
+
transform: hovered ? "scale(1.05)" : "scale(1)",
|
|
1940
|
+
transition: "transform 0.4s ease"
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
), /* @__PURE__ */ React24.createElement("div", { style: {
|
|
1944
|
+
position: "absolute",
|
|
1945
|
+
inset: 0,
|
|
1946
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 60%)"
|
|
1947
|
+
} }), tag && /* @__PURE__ */ React24.createElement("div", { style: {
|
|
1948
|
+
position: "absolute",
|
|
1949
|
+
top: "12px",
|
|
1950
|
+
left: "12px",
|
|
1951
|
+
padding: "4px 10px",
|
|
1952
|
+
borderRadius: "20px",
|
|
1953
|
+
background: alpha(accent, 0.85),
|
|
1954
|
+
fontSize: "10px",
|
|
1955
|
+
fontWeight: "700",
|
|
1956
|
+
color: "#fff",
|
|
1957
|
+
letterSpacing: "0.5px",
|
|
1958
|
+
textTransform: "uppercase"
|
|
1959
|
+
} }, tag)),
|
|
1960
|
+
/* @__PURE__ */ React24.createElement("div", { style: { padding: "18px" } }, /* @__PURE__ */ React24.createElement("h3", { style: {
|
|
1961
|
+
fontSize: "15px",
|
|
1962
|
+
fontWeight: "700",
|
|
1963
|
+
color: "#fff",
|
|
1964
|
+
margin: "0 0 8px",
|
|
1965
|
+
lineHeight: 1.4
|
|
1966
|
+
} }, title), /* @__PURE__ */ React24.createElement("p", { style: {
|
|
1967
|
+
fontSize: "13px",
|
|
1968
|
+
color: "rgba(255,255,255,0.45)",
|
|
1969
|
+
lineHeight: 1.65,
|
|
1970
|
+
margin: "0 0 18px"
|
|
1971
|
+
} }, description), /* @__PURE__ */ React24.createElement(
|
|
1972
|
+
"button",
|
|
1973
|
+
{
|
|
1974
|
+
onClick: onButtonClick,
|
|
1975
|
+
style: {
|
|
1976
|
+
width: "100%",
|
|
1977
|
+
padding: "11px",
|
|
1978
|
+
borderRadius: "12px",
|
|
1979
|
+
border: "none",
|
|
1980
|
+
background: `linear-gradient(135deg, ${accent}, ${alpha(accent, 0.7)})`,
|
|
1981
|
+
color: "#fff",
|
|
1982
|
+
fontSize: "13px",
|
|
1983
|
+
fontWeight: "700",
|
|
1984
|
+
cursor: "pointer",
|
|
1985
|
+
fontFamily: "inherit",
|
|
1986
|
+
transition: "opacity 0.2s"
|
|
1987
|
+
},
|
|
1988
|
+
onMouseEnter: (e) => e.currentTarget.style.opacity = "0.85",
|
|
1989
|
+
onMouseLeave: (e) => e.currentTarget.style.opacity = "1"
|
|
1990
|
+
},
|
|
1991
|
+
buttonText
|
|
1992
|
+
))
|
|
1993
|
+
);
|
|
1994
|
+
};
|
|
1891
1995
|
export {
|
|
1892
1996
|
Avatar,
|
|
1893
1997
|
AvatarCard,
|
|
@@ -1897,6 +2001,7 @@ export {
|
|
|
1897
2001
|
DividerLine,
|
|
1898
2002
|
FileUpload,
|
|
1899
2003
|
Footer,
|
|
2004
|
+
ImageCard,
|
|
1900
2005
|
Loader,
|
|
1901
2006
|
LoadingSpinner,
|
|
1902
2007
|
Navbar,
|