virtual-ui-project-lib 1.0.5 → 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
@@ -56,7 +56,8 @@ __export(index_exports, {
56
56
  RatingStars: () => RatingStars,
57
57
  ReviewCard: () => ReviewCard,
58
58
  Sidebar: () => Sidebar,
59
- StatCard: () => StatCard
59
+ StatCard: () => StatCard,
60
+ TwitterPost: () => TwitterPost
60
61
  });
61
62
  module.exports = __toCommonJS(index_exports);
62
63
 
@@ -4025,6 +4026,28 @@ var FacebookPost = ({
4025
4026
  };
4026
4027
  return /* @__PURE__ */ import_react28.default.createElement("div", { style: { background: bg, borderRadius: "16px", padding: "16px", width: "500px", fontFamily: "system-ui,sans-serif", color: "#fff", boxShadow: "0 10px 40px rgba(0,0,0,0.4)", border: "1px solid rgba(255,255,255,0.08)" } }, /* @__PURE__ */ import_react28.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "12px", marginBottom: "16px" } }, /* @__PURE__ */ import_react28.default.createElement("img", { src: profileImage, alt: username, style: { width: "40px", height: "40px", borderRadius: "50%", objectFit: "cover" } }), /* @__PURE__ */ import_react28.default.createElement("div", { style: { flex: 1 } }, /* @__PURE__ */ import_react28.default.createElement("div", { style: { fontSize: "14px", fontWeight: "700" } }, username), /* @__PURE__ */ import_react28.default.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.5)" } }, timestamp))), /* @__PURE__ */ import_react28.default.createElement("div", { style: { fontSize: "14px", lineHeight: 1.5, marginBottom: "16px" } }, content), image && /* @__PURE__ */ import_react28.default.createElement("div", { style: { width: "100%", height: "300px", borderRadius: "12px", overflow: "hidden", marginBottom: "16px" } }, /* @__PURE__ */ import_react28.default.createElement("img", { src: image, alt: "Post", style: { width: "100%", height: "100%", objectFit: "cover" } })), /* @__PURE__ */ import_react28.default.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", fontSize: "12px", color: "rgba(255,255,255,0.5)" } }, /* @__PURE__ */ import_react28.default.createElement("div", null, likes, " likes \xB7 ", comments, " comments \xB7 ", shares, " shares"), /* @__PURE__ */ import_react28.default.createElement("div", { style: { display: "flex", gap: "16px" } }, /* @__PURE__ */ import_react28.default.createElement("button", { onClick: onLikeClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ import_react28.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react28.default.createElement("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })), "Like"), /* @__PURE__ */ import_react28.default.createElement("button", { onClick: onCommentClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ import_react28.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react28.default.createElement("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })), "Comment"), /* @__PURE__ */ import_react28.default.createElement("button", { onClick: onShareClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ import_react28.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react28.default.createElement("path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" }), /* @__PURE__ */ import_react28.default.createElement("polyline", { points: "16 6 12 2 8 6" }), /* @__PURE__ */ import_react28.default.createElement("line", { x1: "12", y1: "2", x2: "12", y2: "15" })), "Share"))));
4027
4028
  };
4029
+
4030
+ // src/components/TwitterPost/TwitterPost.jsx
4031
+ var import_react29 = __toESM(require("react"));
4032
+ var TwitterPost = ({
4033
+ username = "johndoe",
4034
+ handle = "@johndoe",
4035
+ avatar = "https://randomuser.me/api/portraits/men/1.jpg",
4036
+ content = "Excited to share my thoughts on React components! \u{1F680}",
4037
+ timestamp = "2h",
4038
+ likes = 123,
4039
+ retweets = 45,
4040
+ replies = 12,
4041
+ accent = "#1d9bf0",
4042
+ bg = "#0f172a"
4043
+ }) => {
4044
+ const [liked, setLiked] = (0, import_react29.useState)(false);
4045
+ const alpha = (hex, op) => {
4046
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
4047
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
4048
+ };
4049
+ return /* @__PURE__ */ import_react29.default.createElement("div", { style: { background: bg, borderRadius: "16px", padding: "16px", width: "400px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid rgba(255,255,255,0.08)" } }, /* @__PURE__ */ import_react29.default.createElement("div", { style: { display: "flex", gap: "12px" } }, /* @__PURE__ */ import_react29.default.createElement("img", { src: avatar, alt: username, style: { width: "48px", height: "48px", borderRadius: "50%" } }), /* @__PURE__ */ import_react29.default.createElement("div", { style: { flex: 1 } }, /* @__PURE__ */ import_react29.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px" } }, /* @__PURE__ */ import_react29.default.createElement("span", { style: { fontSize: "15px", fontWeight: "700", color: "#fff" } }, username), /* @__PURE__ */ import_react29.default.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, handle), /* @__PURE__ */ import_react29.default.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, "\xB7"), /* @__PURE__ */ import_react29.default.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, timestamp)), /* @__PURE__ */ import_react29.default.createElement("p", { style: { fontSize: "15px", color: "rgba(255,255,255,0.8)", lineHeight: 1.5, margin: "8px 0" } }, content), /* @__PURE__ */ import_react29.default.createElement("div", { style: { display: "flex", gap: "20px", marginTop: "12px" } }, /* @__PURE__ */ import_react29.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px", color: "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ import_react29.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react29.default.createElement("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })), replies), /* @__PURE__ */ import_react29.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px", color: "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ import_react29.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react29.default.createElement("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" })), retweets), /* @__PURE__ */ import_react29.default.createElement("div", { onClick: () => setLiked(!liked), style: { display: "flex", alignItems: "center", gap: "6px", color: liked ? accent : "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ import_react29.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: liked ? accent : "none", stroke: liked ? accent : "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react29.default.createElement("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })), likes + (liked ? 1 : 0))))));
4050
+ };
4028
4051
  // Annotate the CommonJS export names for ESM import in node:
4029
4052
  0 && (module.exports = {
4030
4053
  AnimatedButton,
@@ -4054,5 +4077,6 @@ var FacebookPost = ({
4054
4077
  RatingStars,
4055
4078
  ReviewCard,
4056
4079
  Sidebar,
4057
- StatCard
4080
+ StatCard,
4081
+ TwitterPost
4058
4082
  });
package/dist/index.mjs CHANGED
@@ -3963,6 +3963,28 @@ var FacebookPost = ({
3963
3963
  };
3964
3964
  return /* @__PURE__ */ React28.createElement("div", { style: { background: bg, borderRadius: "16px", padding: "16px", width: "500px", fontFamily: "system-ui,sans-serif", color: "#fff", boxShadow: "0 10px 40px rgba(0,0,0,0.4)", border: "1px solid rgba(255,255,255,0.08)" } }, /* @__PURE__ */ React28.createElement("div", { style: { display: "flex", alignItems: "center", gap: "12px", marginBottom: "16px" } }, /* @__PURE__ */ React28.createElement("img", { src: profileImage, alt: username, style: { width: "40px", height: "40px", borderRadius: "50%", objectFit: "cover" } }), /* @__PURE__ */ React28.createElement("div", { style: { flex: 1 } }, /* @__PURE__ */ React28.createElement("div", { style: { fontSize: "14px", fontWeight: "700" } }, username), /* @__PURE__ */ React28.createElement("div", { style: { fontSize: "12px", color: "rgba(255,255,255,0.5)" } }, timestamp))), /* @__PURE__ */ React28.createElement("div", { style: { fontSize: "14px", lineHeight: 1.5, marginBottom: "16px" } }, content), image && /* @__PURE__ */ React28.createElement("div", { style: { width: "100%", height: "300px", borderRadius: "12px", overflow: "hidden", marginBottom: "16px" } }, /* @__PURE__ */ React28.createElement("img", { src: image, alt: "Post", style: { width: "100%", height: "100%", objectFit: "cover" } })), /* @__PURE__ */ React28.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", fontSize: "12px", color: "rgba(255,255,255,0.5)" } }, /* @__PURE__ */ React28.createElement("div", null, likes, " likes \xB7 ", comments, " comments \xB7 ", shares, " shares"), /* @__PURE__ */ React28.createElement("div", { style: { display: "flex", gap: "16px" } }, /* @__PURE__ */ React28.createElement("button", { onClick: onLikeClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ React28.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React28.createElement("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })), "Like"), /* @__PURE__ */ React28.createElement("button", { onClick: onCommentClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ React28.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React28.createElement("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })), "Comment"), /* @__PURE__ */ React28.createElement("button", { onClick: onShareClick, style: { background: "none", border: "none", color: "rgba(255,255,255,0.5)", cursor: "pointer", padding: "4px 8px", borderRadius: "6px", fontSize: "12px", fontWeight: "700", display: "flex", alignItems: "center", gap: "4px" } }, /* @__PURE__ */ React28.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "rgba(255,255,255,0.5)", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React28.createElement("path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" }), /* @__PURE__ */ React28.createElement("polyline", { points: "16 6 12 2 8 6" }), /* @__PURE__ */ React28.createElement("line", { x1: "12", y1: "2", x2: "12", y2: "15" })), "Share"))));
3965
3965
  };
3966
+
3967
+ // src/components/TwitterPost/TwitterPost.jsx
3968
+ import React29, { useState as useState23 } from "react";
3969
+ var TwitterPost = ({
3970
+ username = "johndoe",
3971
+ handle = "@johndoe",
3972
+ avatar = "https://randomuser.me/api/portraits/men/1.jpg",
3973
+ content = "Excited to share my thoughts on React components! \u{1F680}",
3974
+ timestamp = "2h",
3975
+ likes = 123,
3976
+ retweets = 45,
3977
+ replies = 12,
3978
+ accent = "#1d9bf0",
3979
+ bg = "#0f172a"
3980
+ }) => {
3981
+ const [liked, setLiked] = useState23(false);
3982
+ const alpha = (hex, op) => {
3983
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
3984
+ return "rgba(" + r + "," + g + "," + b + "," + op + ")";
3985
+ };
3986
+ return /* @__PURE__ */ React29.createElement("div", { style: { background: bg, borderRadius: "16px", padding: "16px", width: "400px", color: "#fff", fontFamily: "system-ui,sans-serif", boxShadow: "0 10px 40px rgba(0,0,0,0.5)", border: "1px solid rgba(255,255,255,0.08)" } }, /* @__PURE__ */ React29.createElement("div", { style: { display: "flex", gap: "12px" } }, /* @__PURE__ */ React29.createElement("img", { src: avatar, alt: username, style: { width: "48px", height: "48px", borderRadius: "50%" } }), /* @__PURE__ */ React29.createElement("div", { style: { flex: 1 } }, /* @__PURE__ */ React29.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px" } }, /* @__PURE__ */ React29.createElement("span", { style: { fontSize: "15px", fontWeight: "700", color: "#fff" } }, username), /* @__PURE__ */ React29.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, handle), /* @__PURE__ */ React29.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, "\xB7"), /* @__PURE__ */ React29.createElement("span", { style: { fontSize: "14px", color: "rgba(255,255,255,0.5)" } }, timestamp)), /* @__PURE__ */ React29.createElement("p", { style: { fontSize: "15px", color: "rgba(255,255,255,0.8)", lineHeight: 1.5, margin: "8px 0" } }, content), /* @__PURE__ */ React29.createElement("div", { style: { display: "flex", gap: "20px", marginTop: "12px" } }, /* @__PURE__ */ React29.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px", color: "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ React29.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React29.createElement("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })), replies), /* @__PURE__ */ React29.createElement("div", { style: { display: "flex", alignItems: "center", gap: "6px", color: "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ React29.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React29.createElement("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" })), retweets), /* @__PURE__ */ React29.createElement("div", { onClick: () => setLiked(!liked), style: { display: "flex", alignItems: "center", gap: "6px", color: liked ? accent : "rgba(255,255,255,0.5)", fontSize: "14px", cursor: "pointer" } }, /* @__PURE__ */ React29.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: liked ? accent : "none", stroke: liked ? accent : "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React29.createElement("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })), likes + (liked ? 1 : 0))))));
3987
+ };
3966
3988
  export {
3967
3989
  AnimatedButton,
3968
3990
  AnimatedForm,
@@ -3991,5 +4013,6 @@ export {
3991
4013
  RatingStars,
3992
4014
  ReviewCard,
3993
4015
  Sidebar,
3994
- StatCard
4016
+ StatCard,
4017
+ TwitterPost
3995
4018
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "virtual-ui-project-lib",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Virtual UI React Component Library",
5
5
  "author": "Rahul Kumar",
6
6
  "license": "ISC",