virtual-ui-lib 1.0.27 → 1.0.29
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 +51 -2
- package/dist/index.mjs +48 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -35,6 +35,7 @@ __export(index_exports, {
|
|
|
35
35
|
CopyButton: () => CopyButton,
|
|
36
36
|
Dropdown: () => Dropdown,
|
|
37
37
|
EmptyState: () => EmptyState,
|
|
38
|
+
Footer: () => Footer,
|
|
38
39
|
FormInput: () => FormInput,
|
|
39
40
|
GridLayout: () => GridLayout,
|
|
40
41
|
ImageUploadPreview: () => ImageUploadPreview,
|
|
@@ -42,7 +43,8 @@ __export(index_exports, {
|
|
|
42
43
|
Navbar: () => Navbar,
|
|
43
44
|
OTPInput: () => OTPInput,
|
|
44
45
|
RatingStars: () => RatingStars,
|
|
45
|
-
UserAvatar: () => UserAvatar
|
|
46
|
+
UserAvatar: () => UserAvatar,
|
|
47
|
+
WishlistButton: () => WishlistButton
|
|
46
48
|
});
|
|
47
49
|
module.exports = __toCommonJS(index_exports);
|
|
48
50
|
|
|
@@ -828,6 +830,51 @@ var Navbar = ({
|
|
|
828
830
|
margin: "15px 0"
|
|
829
831
|
} }, link.name)))));
|
|
830
832
|
};
|
|
833
|
+
|
|
834
|
+
// src/components/WishlistButton/WishlistButton.jsx
|
|
835
|
+
var import_react15 = __toESM(require("react"));
|
|
836
|
+
var WishlistButton = ({
|
|
837
|
+
isActive = false,
|
|
838
|
+
size = "40px",
|
|
839
|
+
inactiveColor = "#d1d5db",
|
|
840
|
+
activeColor = "#ff3e30",
|
|
841
|
+
onToggle
|
|
842
|
+
}) => {
|
|
843
|
+
const [active, setActive] = (0, import_react15.useState)(isActive);
|
|
844
|
+
const handleClick = () => {
|
|
845
|
+
setActive((prev) => !prev);
|
|
846
|
+
if (onToggle) onToggle(!active);
|
|
847
|
+
};
|
|
848
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", { onClick: handleClick, style: { cursor: "pointer", width: size, height: size, display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ import_react15.default.createElement(
|
|
849
|
+
"svg",
|
|
850
|
+
{
|
|
851
|
+
width: "100%",
|
|
852
|
+
height: "100%",
|
|
853
|
+
viewBox: "0 0 24 24",
|
|
854
|
+
fill: "none",
|
|
855
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
856
|
+
style: {
|
|
857
|
+
transition: "transform 0.2s",
|
|
858
|
+
transform: active ? "scale(1.2)" : "scale(1)",
|
|
859
|
+
fill: active ? activeColor : inactiveColor
|
|
860
|
+
}
|
|
861
|
+
},
|
|
862
|
+
/* @__PURE__ */ import_react15.default.createElement("path", { d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" })
|
|
863
|
+
));
|
|
864
|
+
};
|
|
865
|
+
|
|
866
|
+
// src/components/Footer/Footer.jsx
|
|
867
|
+
var import_react16 = __toESM(require("react"));
|
|
868
|
+
var Footer = ({
|
|
869
|
+
bg = "#1e293b",
|
|
870
|
+
textColor = "#f1f5f9",
|
|
871
|
+
links = [{ text: "Home", url: "/" }, { text: "About", url: "/about" }, { text: "Services", url: "/services" }, { text: "Contact", url: "/contact" }],
|
|
872
|
+
brandTitle = "Company Name",
|
|
873
|
+
description = "Your reliable partner in success.",
|
|
874
|
+
socialLinks = [{ icon: "\u{1F3E0}", url: "https://facebook.com" }, { icon: "\u{1F426}", url: "https://twitter.com" }, { icon: "\u{1F4F8}", url: "https://instagram.com" }]
|
|
875
|
+
}) => {
|
|
876
|
+
return /* @__PURE__ */ import_react16.default.createElement("footer", { style: { background: bg, color: textColor, padding: "20px 40px", fontFamily: "system-ui, sans-serif" } }, /* @__PURE__ */ import_react16.default.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ import_react16.default.createElement("h2", { style: { margin: "0 0 10px", fontSize: "24px", fontWeight: "700" } }, brandTitle), /* @__PURE__ */ import_react16.default.createElement("p", { style: { margin: "0 0 20px", fontSize: "14px", textAlign: "center" } }, description), /* @__PURE__ */ import_react16.default.createElement("nav", { style: { display: "flex", justifyContent: "center", gap: "20px", marginBottom: "20px" } }, links.map((link) => /* @__PURE__ */ import_react16.default.createElement("a", { key: link.text, href: link.url, style: { color: textColor, textDecoration: "none", fontSize: "16px", transition: "color 0.3s" }, onMouseOver: (e) => e.currentTarget.style.color = "#7c3aed", onMouseOut: (e) => e.currentTarget.style.color = textColor }, link.text))), /* @__PURE__ */ import_react16.default.createElement("div", { style: { display: "flex", gap: "20px" } }, socialLinks.map((social) => /* @__PURE__ */ import_react16.default.createElement("a", { key: social.url, href: social.url, style: { color: textColor, fontSize: "24px", textDecoration: "none", transition: "color 0.3s" }, onMouseOver: (e) => e.currentTarget.style.color = "#7c3aed", onMouseOut: (e) => e.currentTarget.style.color = textColor }, social.icon)))), /* @__PURE__ */ import_react16.default.createElement("div", { style: { marginTop: "20px", fontSize: "12px", textAlign: "center", color: "#94a3b8" } }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", brandTitle, ". All rights reserved."));
|
|
877
|
+
};
|
|
831
878
|
// Annotate the CommonJS export names for ESM import in node:
|
|
832
879
|
0 && (module.exports = {
|
|
833
880
|
AlertBanner,
|
|
@@ -836,6 +883,7 @@ var Navbar = ({
|
|
|
836
883
|
CopyButton,
|
|
837
884
|
Dropdown,
|
|
838
885
|
EmptyState,
|
|
886
|
+
Footer,
|
|
839
887
|
FormInput,
|
|
840
888
|
GridLayout,
|
|
841
889
|
ImageUploadPreview,
|
|
@@ -843,5 +891,6 @@ var Navbar = ({
|
|
|
843
891
|
Navbar,
|
|
844
892
|
OTPInput,
|
|
845
893
|
RatingStars,
|
|
846
|
-
UserAvatar
|
|
894
|
+
UserAvatar,
|
|
895
|
+
WishlistButton
|
|
847
896
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -780,6 +780,51 @@ var Navbar = ({
|
|
|
780
780
|
margin: "15px 0"
|
|
781
781
|
} }, link.name)))));
|
|
782
782
|
};
|
|
783
|
+
|
|
784
|
+
// src/components/WishlistButton/WishlistButton.jsx
|
|
785
|
+
import React15, { useState as useState11 } from "react";
|
|
786
|
+
var WishlistButton = ({
|
|
787
|
+
isActive = false,
|
|
788
|
+
size = "40px",
|
|
789
|
+
inactiveColor = "#d1d5db",
|
|
790
|
+
activeColor = "#ff3e30",
|
|
791
|
+
onToggle
|
|
792
|
+
}) => {
|
|
793
|
+
const [active, setActive] = useState11(isActive);
|
|
794
|
+
const handleClick = () => {
|
|
795
|
+
setActive((prev) => !prev);
|
|
796
|
+
if (onToggle) onToggle(!active);
|
|
797
|
+
};
|
|
798
|
+
return /* @__PURE__ */ React15.createElement("div", { onClick: handleClick, style: { cursor: "pointer", width: size, height: size, display: "flex", alignItems: "center", justifyContent: "center" } }, /* @__PURE__ */ React15.createElement(
|
|
799
|
+
"svg",
|
|
800
|
+
{
|
|
801
|
+
width: "100%",
|
|
802
|
+
height: "100%",
|
|
803
|
+
viewBox: "0 0 24 24",
|
|
804
|
+
fill: "none",
|
|
805
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
806
|
+
style: {
|
|
807
|
+
transition: "transform 0.2s",
|
|
808
|
+
transform: active ? "scale(1.2)" : "scale(1)",
|
|
809
|
+
fill: active ? activeColor : inactiveColor
|
|
810
|
+
}
|
|
811
|
+
},
|
|
812
|
+
/* @__PURE__ */ React15.createElement("path", { d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" })
|
|
813
|
+
));
|
|
814
|
+
};
|
|
815
|
+
|
|
816
|
+
// src/components/Footer/Footer.jsx
|
|
817
|
+
import React16 from "react";
|
|
818
|
+
var Footer = ({
|
|
819
|
+
bg = "#1e293b",
|
|
820
|
+
textColor = "#f1f5f9",
|
|
821
|
+
links = [{ text: "Home", url: "/" }, { text: "About", url: "/about" }, { text: "Services", url: "/services" }, { text: "Contact", url: "/contact" }],
|
|
822
|
+
brandTitle = "Company Name",
|
|
823
|
+
description = "Your reliable partner in success.",
|
|
824
|
+
socialLinks = [{ icon: "\u{1F3E0}", url: "https://facebook.com" }, { icon: "\u{1F426}", url: "https://twitter.com" }, { icon: "\u{1F4F8}", url: "https://instagram.com" }]
|
|
825
|
+
}) => {
|
|
826
|
+
return /* @__PURE__ */ React16.createElement("footer", { style: { background: bg, color: textColor, padding: "20px 40px", fontFamily: "system-ui, sans-serif" } }, /* @__PURE__ */ React16.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center" } }, /* @__PURE__ */ React16.createElement("h2", { style: { margin: "0 0 10px", fontSize: "24px", fontWeight: "700" } }, brandTitle), /* @__PURE__ */ React16.createElement("p", { style: { margin: "0 0 20px", fontSize: "14px", textAlign: "center" } }, description), /* @__PURE__ */ React16.createElement("nav", { style: { display: "flex", justifyContent: "center", gap: "20px", marginBottom: "20px" } }, links.map((link) => /* @__PURE__ */ React16.createElement("a", { key: link.text, href: link.url, style: { color: textColor, textDecoration: "none", fontSize: "16px", transition: "color 0.3s" }, onMouseOver: (e) => e.currentTarget.style.color = "#7c3aed", onMouseOut: (e) => e.currentTarget.style.color = textColor }, link.text))), /* @__PURE__ */ React16.createElement("div", { style: { display: "flex", gap: "20px" } }, socialLinks.map((social) => /* @__PURE__ */ React16.createElement("a", { key: social.url, href: social.url, style: { color: textColor, fontSize: "24px", textDecoration: "none", transition: "color 0.3s" }, onMouseOver: (e) => e.currentTarget.style.color = "#7c3aed", onMouseOut: (e) => e.currentTarget.style.color = textColor }, social.icon)))), /* @__PURE__ */ React16.createElement("div", { style: { marginTop: "20px", fontSize: "12px", textAlign: "center", color: "#94a3b8" } }, "\xA9 ", (/* @__PURE__ */ new Date()).getFullYear(), " ", brandTitle, ". All rights reserved."));
|
|
827
|
+
};
|
|
783
828
|
export {
|
|
784
829
|
AlertBanner,
|
|
785
830
|
Button,
|
|
@@ -787,6 +832,7 @@ export {
|
|
|
787
832
|
CopyButton,
|
|
788
833
|
Dropdown,
|
|
789
834
|
EmptyState,
|
|
835
|
+
Footer,
|
|
790
836
|
FormInput,
|
|
791
837
|
GridLayout,
|
|
792
838
|
ImageUploadPreview,
|
|
@@ -794,5 +840,6 @@ export {
|
|
|
794
840
|
Navbar,
|
|
795
841
|
OTPInput,
|
|
796
842
|
RatingStars,
|
|
797
|
-
UserAvatar
|
|
843
|
+
UserAvatar,
|
|
844
|
+
WishlistButton
|
|
798
845
|
};
|