virtual-ui-lib 1.0.9 → 1.0.10

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,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var index_exports = {};
31
31
  __export(index_exports, {
32
32
  Alert: () => Alert,
33
+ AnimatedButton: () => AnimatedButton,
33
34
  Avatar: () => Avatar,
34
35
  Badge: () => Badge,
35
36
  Button: () => Button,
@@ -335,9 +336,61 @@ var ProgressBar = ({
335
336
  position: "relative"
336
337
  } }, /* @__PURE__ */ import_react9.default.createElement("span", { style: { color: textColor, fontWeight: "600", fontSize: "14px" } }, label, ": ", progress, "%")));
337
338
  };
339
+
340
+ // src/components/AnimatedButton/AnimatedButton.jsx
341
+ var import_react10 = __toESM(require("react"));
342
+ var AnimatedButton = ({
343
+ text = "Click Me",
344
+ gradient = "linear-gradient(45deg, #2563eb, #7c3aed)",
345
+ color = "white",
346
+ size = "md",
347
+ width = "auto",
348
+ radius = "12px",
349
+ shadow = "0 4px 14px rgba(0, 0, 0, 0.2)",
350
+ loading = false,
351
+ onClick
352
+ }) => {
353
+ const sizes = { sm: "8px 16px", md: "12px 24px", lg: "16px 32px" };
354
+ const handleMouseEnter = (e) => {
355
+ e.target.style.transform = "scale(1.05)";
356
+ };
357
+ const handleMouseLeave = (e) => {
358
+ e.target.style.transform = "scale(1)";
359
+ };
360
+ return /* @__PURE__ */ import_react10.default.createElement(
361
+ "button",
362
+ {
363
+ onClick,
364
+ onMouseEnter: handleMouseEnter,
365
+ onMouseLeave: handleMouseLeave,
366
+ disabled: loading,
367
+ style: {
368
+ background: gradient,
369
+ color,
370
+ padding: sizes[size],
371
+ width,
372
+ border: "none",
373
+ borderRadius: radius,
374
+ boxShadow: shadow,
375
+ cursor: loading ? "not-allowed" : "pointer",
376
+ fontWeight: "600",
377
+ fontSize: "15px",
378
+ transition: "transform 0.3s, box-shadow 0.3s",
379
+ fontFamily: "system-ui, sans-serif",
380
+ opacity: loading ? 0.6 : 1,
381
+ display: "flex",
382
+ alignItems: "center",
383
+ justifyContent: "center",
384
+ gap: "8px"
385
+ }
386
+ },
387
+ loading ? "Loading..." : text
388
+ );
389
+ };
338
390
  // Annotate the CommonJS export names for ESM import in node:
339
391
  0 && (module.exports = {
340
392
  Alert,
393
+ AnimatedButton,
341
394
  Avatar,
342
395
  Badge,
343
396
  Button,
package/dist/index.mjs CHANGED
@@ -292,8 +292,60 @@ var ProgressBar = ({
292
292
  position: "relative"
293
293
  } }, /* @__PURE__ */ React9.createElement("span", { style: { color: textColor, fontWeight: "600", fontSize: "14px" } }, label, ": ", progress, "%")));
294
294
  };
295
+
296
+ // src/components/AnimatedButton/AnimatedButton.jsx
297
+ import React10 from "react";
298
+ var AnimatedButton = ({
299
+ text = "Click Me",
300
+ gradient = "linear-gradient(45deg, #2563eb, #7c3aed)",
301
+ color = "white",
302
+ size = "md",
303
+ width = "auto",
304
+ radius = "12px",
305
+ shadow = "0 4px 14px rgba(0, 0, 0, 0.2)",
306
+ loading = false,
307
+ onClick
308
+ }) => {
309
+ const sizes = { sm: "8px 16px", md: "12px 24px", lg: "16px 32px" };
310
+ const handleMouseEnter = (e) => {
311
+ e.target.style.transform = "scale(1.05)";
312
+ };
313
+ const handleMouseLeave = (e) => {
314
+ e.target.style.transform = "scale(1)";
315
+ };
316
+ return /* @__PURE__ */ React10.createElement(
317
+ "button",
318
+ {
319
+ onClick,
320
+ onMouseEnter: handleMouseEnter,
321
+ onMouseLeave: handleMouseLeave,
322
+ disabled: loading,
323
+ style: {
324
+ background: gradient,
325
+ color,
326
+ padding: sizes[size],
327
+ width,
328
+ border: "none",
329
+ borderRadius: radius,
330
+ boxShadow: shadow,
331
+ cursor: loading ? "not-allowed" : "pointer",
332
+ fontWeight: "600",
333
+ fontSize: "15px",
334
+ transition: "transform 0.3s, box-shadow 0.3s",
335
+ fontFamily: "system-ui, sans-serif",
336
+ opacity: loading ? 0.6 : 1,
337
+ display: "flex",
338
+ alignItems: "center",
339
+ justifyContent: "center",
340
+ gap: "8px"
341
+ }
342
+ },
343
+ loading ? "Loading..." : text
344
+ );
345
+ };
295
346
  export {
296
347
  Alert,
348
+ AnimatedButton,
297
349
  Avatar,
298
350
  Badge,
299
351
  Button,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "virtual-ui-lib",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Virtual UI React Component Library",
5
5
  "author": "Ankush",
6
6
  "license": "ISC",