bhoomi-virtual-ui-library 1.0.1 → 1.0.6

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
@@ -31,6 +31,8 @@ var index_exports = {};
31
31
  __export(index_exports, {
32
32
  Button: () => Button,
33
33
  Card: () => Card,
34
+ ECommerceCard: () => ECommerceCard,
35
+ PricingCard: () => PricingCard,
34
36
  Profilecard: () => Profilecard
35
37
  });
36
38
  module.exports = __toCommonJS(index_exports);
@@ -621,9 +623,56 @@ var Profilecard = ({
621
623
  "Message"
622
624
  ))));
623
625
  };
626
+
627
+ // src/components/ECommerceCard/ECommerceCard.jsx
628
+ var import_react4 = __toESM(require("react"));
629
+ var ECommerceCard = ({
630
+ image = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
631
+ title = "Discover the Hidden Peaks",
632
+ description = "A breathtaking journey through untouched landscapes and snow-capped summits.",
633
+ buttonText = "Read More",
634
+ accent = "#6366f1",
635
+ bg = "#0f172a",
636
+ price = 29,
637
+ currency = "$",
638
+ period = "per month",
639
+ onButtonClick = () => {
640
+ }
641
+ }) => {
642
+ const alpha = (hex, op) => {
643
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
644
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
645
+ };
646
+ return /* @__PURE__ */ import_react4.default.createElement("div", { style: { background: bg, borderRadius: "20px", padding: "28px 24px", width: "300px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid " + alpha(accent, 0.25), position: "relative", overflow: "hidden" } }, /* @__PURE__ */ import_react4.default.createElement("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: "3px", background: "linear-gradient(90deg, " + accent + ", " + alpha(accent, 0.3) + ")" } }), /* @__PURE__ */ import_react4.default.createElement("img", { src: image, alt: title, style: { width: "100%", height: "180px", objectFit: "cover", transform: "scale(1)", transition: "transform 0.4s ease" } }), /* @__PURE__ */ import_react4.default.createElement("div", { style: { fontSize: "20px", fontWeight: "700", marginBottom: "4px" } }, title), /* @__PURE__ */ import_react4.default.createElement("div", { style: { fontSize: "13px", color: "rgba(255,255,255,0.45)", marginBottom: "20px" } }, description), /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", alignItems: "flex-end", gap: "3px", marginBottom: "4px" } }, /* @__PURE__ */ import_react4.default.createElement("span", { style: { fontSize: "18px", fontWeight: "700", color: "rgba(255,255,255,0.5)", lineHeight: 2 } }, currency), /* @__PURE__ */ import_react4.default.createElement("span", { style: { fontSize: "52px", fontWeight: "800", lineHeight: 1 } }, price)), /* @__PURE__ */ import_react4.default.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.35)", marginBottom: "20px" } }, period), /* @__PURE__ */ import_react4.default.createElement("button", { onClick: onButtonClick, style: { width: "100%", padding: "13px", borderRadius: "12px", border: "none", background: "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.7) + ")", color: "#fff", fontSize: "14px", fontWeight: "700", cursor: "pointer", fontFamily: "system-ui,sans-serif" } }, buttonText));
647
+ };
648
+
649
+ // src/components/PricingCard/PricingCard.jsx
650
+ var import_react5 = __toESM(require("react"));
651
+ var PricingCard = ({
652
+ planName = "Pro Plan",
653
+ description = "For teams that need more power.",
654
+ price = 29,
655
+ currency = "$",
656
+ period = "per month",
657
+ badgeText = "Most Popular",
658
+ ctaText = "Get Started",
659
+ accent = "#6366f1",
660
+ bg = "#0f172a",
661
+ features = ["Unlimited projects", "Priority support", "Advanced analytics", "Custom integrations"],
662
+ onCtaClick = () => {
663
+ }
664
+ }) => {
665
+ const alpha = (hex, op) => {
666
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
667
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
668
+ };
669
+ return /* @__PURE__ */ import_react5.default.createElement("div", { style: { background: bg, borderRadius: "20px", padding: "28px 24px", width: "300px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid " + alpha(accent, 0.25), position: "relative", overflow: "hidden" } }, /* @__PURE__ */ import_react5.default.createElement("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: "3px", background: "linear-gradient(90deg, " + accent + ", " + alpha(accent, 0.3) + ")" } }), badgeText && /* @__PURE__ */ import_react5.default.createElement("div", { style: { display: "inline-flex", alignItems: "center", gap: "6px", padding: "4px 12px", borderRadius: "100px", marginBottom: "14px", background: alpha(accent, 0.12), border: "1px solid " + alpha(accent, 0.3), fontSize: "11px", fontWeight: "700", color: accent, textTransform: "uppercase", letterSpacing: "0.5px" } }, /* @__PURE__ */ import_react5.default.createElement("div", { style: { width: 6, height: 6, borderRadius: "50%", background: accent } }), badgeText), /* @__PURE__ */ import_react5.default.createElement("div", { style: { fontSize: "20px", fontWeight: "800", marginBottom: "4px" } }, planName), /* @__PURE__ */ import_react5.default.createElement("div", { style: { fontSize: "13px", color: "rgba(255,255,255,0.45)", marginBottom: "20px" } }, description), /* @__PURE__ */ import_react5.default.createElement("div", { style: { display: "flex", alignItems: "flex-end", gap: "3px", marginBottom: "4px" } }, /* @__PURE__ */ import_react5.default.createElement("span", { style: { fontSize: "18px", fontWeight: "700", color: "rgba(255,255,255,0.5)", lineHeight: 2 } }, currency), /* @__PURE__ */ import_react5.default.createElement("span", { style: { fontSize: "52px", fontWeight: "800", lineHeight: 1 } }, Math.round(price))), /* @__PURE__ */ import_react5.default.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.35)", marginBottom: "20px" } }, period), /* @__PURE__ */ import_react5.default.createElement("div", { style: { height: "1px", background: "rgba(255,255,255,0.07)", marginBottom: "16px" } }), /* @__PURE__ */ import_react5.default.createElement("ul", { style: { listStyle: "none", padding: 0, margin: "0 0 22px", display: "flex", flexDirection: "column", gap: "10px" } }, features.map((f, i) => /* @__PURE__ */ import_react5.default.createElement("li", { key: i, style: { display: "flex", alignItems: "center", gap: "10px", fontSize: "13px", color: "rgba(255,255,255,0.75)", cursor: "pointer" } }, /* @__PURE__ */ import_react5.default.createElement("div", { style: { width: "18px", height: "18px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", background: alpha(accent, 0.18), border: "1px solid " + alpha(accent, 0.4), flexShrink: 0 } }, /* @__PURE__ */ import_react5.default.createElement("svg", { width: "10", height: "10", viewBox: "0 0 12 12", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react5.default.createElement("polyline", { points: "1.5,6 4.5,9 10.5,3" }))), f))), /* @__PURE__ */ import_react5.default.createElement("button", { onClick: onCtaClick, style: { width: "100%", padding: "13px", borderRadius: "12px", border: "none", background: "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.7) + ")", color: "#fff", fontSize: "14px", fontWeight: "700", cursor: "pointer", fontFamily: "system-ui,sans-serif" } }, ctaText));
670
+ };
624
671
  // Annotate the CommonJS export names for ESM import in node:
625
672
  0 && (module.exports = {
626
673
  Button,
627
674
  Card,
675
+ ECommerceCard,
676
+ PricingCard,
628
677
  Profilecard
629
678
  });
package/dist/index.mjs CHANGED
@@ -584,8 +584,55 @@ var Profilecard = ({
584
584
  "Message"
585
585
  ))));
586
586
  };
587
+
588
+ // src/components/ECommerceCard/ECommerceCard.jsx
589
+ import React4 from "react";
590
+ var ECommerceCard = ({
591
+ image = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80",
592
+ title = "Discover the Hidden Peaks",
593
+ description = "A breathtaking journey through untouched landscapes and snow-capped summits.",
594
+ buttonText = "Read More",
595
+ accent = "#6366f1",
596
+ bg = "#0f172a",
597
+ price = 29,
598
+ currency = "$",
599
+ period = "per month",
600
+ onButtonClick = () => {
601
+ }
602
+ }) => {
603
+ const alpha = (hex, op) => {
604
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
605
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
606
+ };
607
+ return /* @__PURE__ */ React4.createElement("div", { style: { background: bg, borderRadius: "20px", padding: "28px 24px", width: "300px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid " + alpha(accent, 0.25), position: "relative", overflow: "hidden" } }, /* @__PURE__ */ React4.createElement("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: "3px", background: "linear-gradient(90deg, " + accent + ", " + alpha(accent, 0.3) + ")" } }), /* @__PURE__ */ React4.createElement("img", { src: image, alt: title, style: { width: "100%", height: "180px", objectFit: "cover", transform: "scale(1)", transition: "transform 0.4s ease" } }), /* @__PURE__ */ React4.createElement("div", { style: { fontSize: "20px", fontWeight: "700", marginBottom: "4px" } }, title), /* @__PURE__ */ React4.createElement("div", { style: { fontSize: "13px", color: "rgba(255,255,255,0.45)", marginBottom: "20px" } }, description), /* @__PURE__ */ React4.createElement("div", { style: { display: "flex", alignItems: "flex-end", gap: "3px", marginBottom: "4px" } }, /* @__PURE__ */ React4.createElement("span", { style: { fontSize: "18px", fontWeight: "700", color: "rgba(255,255,255,0.5)", lineHeight: 2 } }, currency), /* @__PURE__ */ React4.createElement("span", { style: { fontSize: "52px", fontWeight: "800", lineHeight: 1 } }, price)), /* @__PURE__ */ React4.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.35)", marginBottom: "20px" } }, period), /* @__PURE__ */ React4.createElement("button", { onClick: onButtonClick, style: { width: "100%", padding: "13px", borderRadius: "12px", border: "none", background: "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.7) + ")", color: "#fff", fontSize: "14px", fontWeight: "700", cursor: "pointer", fontFamily: "system-ui,sans-serif" } }, buttonText));
608
+ };
609
+
610
+ // src/components/PricingCard/PricingCard.jsx
611
+ import React5 from "react";
612
+ var PricingCard = ({
613
+ planName = "Pro Plan",
614
+ description = "For teams that need more power.",
615
+ price = 29,
616
+ currency = "$",
617
+ period = "per month",
618
+ badgeText = "Most Popular",
619
+ ctaText = "Get Started",
620
+ accent = "#6366f1",
621
+ bg = "#0f172a",
622
+ features = ["Unlimited projects", "Priority support", "Advanced analytics", "Custom integrations"],
623
+ onCtaClick = () => {
624
+ }
625
+ }) => {
626
+ const alpha = (hex, op) => {
627
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
628
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
629
+ };
630
+ return /* @__PURE__ */ React5.createElement("div", { style: { background: bg, borderRadius: "20px", padding: "28px 24px", width: "300px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid " + alpha(accent, 0.25), position: "relative", overflow: "hidden" } }, /* @__PURE__ */ React5.createElement("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: "3px", background: "linear-gradient(90deg, " + accent + ", " + alpha(accent, 0.3) + ")" } }), badgeText && /* @__PURE__ */ React5.createElement("div", { style: { display: "inline-flex", alignItems: "center", gap: "6px", padding: "4px 12px", borderRadius: "100px", marginBottom: "14px", background: alpha(accent, 0.12), border: "1px solid " + alpha(accent, 0.3), fontSize: "11px", fontWeight: "700", color: accent, textTransform: "uppercase", letterSpacing: "0.5px" } }, /* @__PURE__ */ React5.createElement("div", { style: { width: 6, height: 6, borderRadius: "50%", background: accent } }), badgeText), /* @__PURE__ */ React5.createElement("div", { style: { fontSize: "20px", fontWeight: "800", marginBottom: "4px" } }, planName), /* @__PURE__ */ React5.createElement("div", { style: { fontSize: "13px", color: "rgba(255,255,255,0.45)", marginBottom: "20px" } }, description), /* @__PURE__ */ React5.createElement("div", { style: { display: "flex", alignItems: "flex-end", gap: "3px", marginBottom: "4px" } }, /* @__PURE__ */ React5.createElement("span", { style: { fontSize: "18px", fontWeight: "700", color: "rgba(255,255,255,0.5)", lineHeight: 2 } }, currency), /* @__PURE__ */ React5.createElement("span", { style: { fontSize: "52px", fontWeight: "800", lineHeight: 1 } }, Math.round(price))), /* @__PURE__ */ React5.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.35)", marginBottom: "20px" } }, period), /* @__PURE__ */ React5.createElement("div", { style: { height: "1px", background: "rgba(255,255,255,0.07)", marginBottom: "16px" } }), /* @__PURE__ */ React5.createElement("ul", { style: { listStyle: "none", padding: 0, margin: "0 0 22px", display: "flex", flexDirection: "column", gap: "10px" } }, features.map((f, i) => /* @__PURE__ */ React5.createElement("li", { key: i, style: { display: "flex", alignItems: "center", gap: "10px", fontSize: "13px", color: "rgba(255,255,255,0.75)", cursor: "pointer" } }, /* @__PURE__ */ React5.createElement("div", { style: { width: "18px", height: "18px", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", background: alpha(accent, 0.18), border: "1px solid " + alpha(accent, 0.4), flexShrink: 0 } }, /* @__PURE__ */ React5.createElement("svg", { width: "10", height: "10", viewBox: "0 0 12 12", fill: "none", stroke: "#fff", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React5.createElement("polyline", { points: "1.5,6 4.5,9 10.5,3" }))), f))), /* @__PURE__ */ React5.createElement("button", { onClick: onCtaClick, style: { width: "100%", padding: "13px", borderRadius: "12px", border: "none", background: "linear-gradient(135deg, " + accent + ", " + alpha(accent, 0.7) + ")", color: "#fff", fontSize: "14px", fontWeight: "700", cursor: "pointer", fontFamily: "system-ui,sans-serif" } }, ctaText));
631
+ };
587
632
  export {
588
633
  Button,
589
634
  Card,
635
+ ECommerceCard,
636
+ PricingCard,
590
637
  Profilecard
591
638
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bhoomi-virtual-ui-library",
3
- "version": "1.0.1",
3
+ "version": "1.0.6",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "files": [