virtual-ui-lib 1.0.28 → 1.0.30

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 CHANGED
@@ -30,11 +30,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var index_exports = {};
31
31
  __export(index_exports, {
32
32
  AlertBanner: () => AlertBanner,
33
+ AnimatedProgressBar: () => AnimatedProgressBar,
33
34
  Button: () => Button,
34
35
  Card: () => Card,
35
36
  CopyButton: () => CopyButton,
36
37
  Dropdown: () => Dropdown,
37
38
  EmptyState: () => EmptyState,
39
+ Footer: () => Footer,
38
40
  FormInput: () => FormInput,
39
41
  GridLayout: () => GridLayout,
40
42
  ImageUploadPreview: () => ImageUploadPreview,
@@ -861,14 +863,56 @@ var WishlistButton = ({
861
863
  /* @__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" })
862
864
  ));
863
865
  };
866
+
867
+ // src/components/Footer/Footer.jsx
868
+ var import_react16 = __toESM(require("react"));
869
+ var Footer = ({
870
+ bg = "#1e293b",
871
+ textColor = "#f1f5f9",
872
+ links = [{ text: "Home", url: "/" }, { text: "About", url: "/about" }, { text: "Services", url: "/services" }, { text: "Contact", url: "/contact" }],
873
+ brandTitle = "Company Name",
874
+ description = "Your reliable partner in success.",
875
+ socialLinks = [{ icon: "\u{1F3E0}", url: "https://facebook.com" }, { icon: "\u{1F426}", url: "https://twitter.com" }, { icon: "\u{1F4F8}", url: "https://instagram.com" }]
876
+ }) => {
877
+ 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."));
878
+ };
879
+
880
+ // src/components/AnimatedProgressBar/AnimatedProgressBar.jsx
881
+ var import_react17 = __toESM(require("react"));
882
+ var AnimatedProgressBar = ({
883
+ percentage = 75,
884
+ bgColor = "linear-gradient(135deg, #2563eb, #7c3aed)",
885
+ height = "24px",
886
+ borderRadius = "12px",
887
+ textColor = "#ffffff",
888
+ fontSize = "14px"
889
+ }) => {
890
+ return /* @__PURE__ */ import_react17.default.createElement("div", { style: { width: "100%", background: "#e5e7eb", borderRadius, overflow: "hidden", position: "relative" } }, /* @__PURE__ */ import_react17.default.createElement("div", { style: {
891
+ width: percentage + "%",
892
+ height,
893
+ background: bgColor,
894
+ borderRadius,
895
+ transition: "width 0.5s ease-in-out"
896
+ } }), /* @__PURE__ */ import_react17.default.createElement("span", { style: {
897
+ position: "absolute",
898
+ top: "50%",
899
+ left: "50%",
900
+ transform: "translate(-50%, -50%)",
901
+ color: textColor,
902
+ fontSize,
903
+ fontWeight: "600"
904
+ } }, percentage, "%"));
905
+ };
864
906
  // Annotate the CommonJS export names for ESM import in node:
865
907
  0 && (module.exports = {
866
908
  AlertBanner,
909
+ AnimatedProgressBar,
867
910
  Button,
868
911
  Card,
869
912
  CopyButton,
870
913
  Dropdown,
871
914
  EmptyState,
915
+ Footer,
872
916
  FormInput,
873
917
  GridLayout,
874
918
  ImageUploadPreview,
package/dist/index.mjs CHANGED
@@ -812,13 +812,55 @@ var WishlistButton = ({
812
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
813
  ));
814
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
+ };
828
+
829
+ // src/components/AnimatedProgressBar/AnimatedProgressBar.jsx
830
+ import React17 from "react";
831
+ var AnimatedProgressBar = ({
832
+ percentage = 75,
833
+ bgColor = "linear-gradient(135deg, #2563eb, #7c3aed)",
834
+ height = "24px",
835
+ borderRadius = "12px",
836
+ textColor = "#ffffff",
837
+ fontSize = "14px"
838
+ }) => {
839
+ return /* @__PURE__ */ React17.createElement("div", { style: { width: "100%", background: "#e5e7eb", borderRadius, overflow: "hidden", position: "relative" } }, /* @__PURE__ */ React17.createElement("div", { style: {
840
+ width: percentage + "%",
841
+ height,
842
+ background: bgColor,
843
+ borderRadius,
844
+ transition: "width 0.5s ease-in-out"
845
+ } }), /* @__PURE__ */ React17.createElement("span", { style: {
846
+ position: "absolute",
847
+ top: "50%",
848
+ left: "50%",
849
+ transform: "translate(-50%, -50%)",
850
+ color: textColor,
851
+ fontSize,
852
+ fontWeight: "600"
853
+ } }, percentage, "%"));
854
+ };
815
855
  export {
816
856
  AlertBanner,
857
+ AnimatedProgressBar,
817
858
  Button,
818
859
  Card,
819
860
  CopyButton,
820
861
  Dropdown,
821
862
  EmptyState,
863
+ Footer,
822
864
  FormInput,
823
865
  GridLayout,
824
866
  ImageUploadPreview,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "virtual-ui-lib",
3
- "version": "1.0.28",
3
+ "version": "1.0.30",
4
4
  "description": "Virtual UI React Component Library",
5
5
  "author": "Ankush",
6
6
  "license": "ISC",