aura-ui-library 1.0.37 → 1.0.39

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.
Files changed (3) hide show
  1. package/dist/index.js +495 -545
  2. package/dist/index.mjs +499 -546
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -5275,99 +5275,104 @@ var import_gsap21 = require("gsap");
5275
5275
  var import_fi18 = require("react-icons/fi");
5276
5276
  var AuraLogin = ({
5277
5277
  title = "Welcome Back",
5278
- subtitle = "Step into the future of digital excellence. Enter your credentials to continue.",
5278
+ subtitle = "Log in to your account and continue your journey.",
5279
5279
  theme = "dark",
5280
5280
  accentColor = "#6366f1",
5281
- onSubmit = (data) => console.log("Login data:", data),
5281
+ // State Management Props (2-Way Binding)
5282
+ formData,
5283
+ onChange,
5284
+ onSubmit = (data) => console.log("Login submitted:", data),
5285
+ // Customization
5286
+ sideImage = "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?q=80&w=2564&auto=format&fit=crop",
5287
+ socialProviders,
5288
+ // Actions
5282
5289
  onForgotPassword = () => console.log("Forgot password clicked"),
5283
5290
  onRegister = () => console.log("Register clicked"),
5284
5291
  style = {},
5285
- animationDuration = 1.6,
5292
+ animationDuration = 1.4,
5286
5293
  easing = "expo.out"
5287
5294
  }) => {
5288
- const [email, setEmail] = (0, import_react21.useState)("");
5289
- const [password, setPassword] = (0, import_react21.useState)("");
5295
+ const [internalState, setInternalState] = (0, import_react21.useState)({ email: "", password: "" });
5290
5296
  const [showPassword, setShowPassword] = (0, import_react21.useState)(false);
5291
- const [isHovered, setIsHovered] = (0, import_react21.useState)(false);
5297
+ const data = formData || internalState;
5298
+ const handleChange = (e) => {
5299
+ const { name, value, type, checked } = e.target;
5300
+ const finalValue = type === "checkbox" ? checked : value;
5301
+ if (onChange) {
5302
+ onChange(name, finalValue);
5303
+ } else {
5304
+ setInternalState((prev) => ({ ...prev, [name]: finalValue }));
5305
+ }
5306
+ };
5292
5307
  const containerRef = (0, import_react21.useRef)(null);
5293
5308
  const cardRef = (0, import_react21.useRef)(null);
5309
+ const imageRef = (0, import_react21.useRef)(null);
5294
5310
  const titleRef = (0, import_react21.useRef)(null);
5295
5311
  const formRef = (0, import_react21.useRef)(null);
5296
5312
  const socialRef = (0, import_react21.useRef)(null);
5297
- const bgRef = (0, import_react21.useRef)(null);
5298
5313
  const inRouter = (0, import_react_router_dom13.useInRouterContext)();
5299
5314
  const navigate = inRouter ? (0, import_react_router_dom13.useNavigate)() : null;
5300
5315
  const isLight2 = theme === "light";
5301
- const bgMain = isLight2 ? "#f8fafc" : "#030303";
5302
- const cardBg = isLight2 ? "rgba(255, 255, 255, 0.9)" : "rgba(10, 10, 10, 0.4)";
5316
+ const bgMain = isLight2 ? "#f8fafc" : "#020617";
5317
+ const cardBg = isLight2 ? "rgba(255, 255, 255, 0.95)" : "rgba(15, 23, 42, 0.8)";
5303
5318
  const textPrimary = isLight2 ? "#0f172a" : "#ffffff";
5304
5319
  const textSecondary = isLight2 ? "rgba(15, 23, 42, 0.6)" : "rgba(255, 255, 255, 0.5)";
5305
5320
  const inputBg = isLight2 ? "rgba(0, 0, 0, 0.03)" : "rgba(255, 255, 255, 0.03)";
5306
5321
  const borderCol = isLight2 ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.1)";
5322
+ const defaultProviders = [
5323
+ {
5324
+ name: "Google",
5325
+ icon: /* @__PURE__ */ import_react21.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor" }, /* @__PURE__ */ import_react21.default.createElement("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z", fill: "#4285F4" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z", fill: "#34A853" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.27.81-.57z", fill: "#FBBC05" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z", fill: "#EA4335" })),
5326
+ onClick: () => console.log("Google login")
5327
+ },
5328
+ { name: "GitHub", icon: /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiGithub, null), onClick: () => console.log("GitHub login") }
5329
+ ];
5330
+ const providersToUse = socialProviders || defaultProviders;
5307
5331
  (0, import_react21.useEffect)(() => {
5308
5332
  const ctx = import_gsap21.gsap.context(() => {
5309
5333
  const tl = import_gsap21.gsap.timeline({ defaults: { ease: easing, duration: animationDuration } });
5310
- tl.fromTo(containerRef.current, { opacity: 0 }, { opacity: 1, duration: 0.8 }).fromTo(bgRef.current, { scale: 1.2, filter: "blur(20px)", opacity: 0 }, { scale: 1, filter: "blur(0px)", opacity: 1 }, 0).fromTo(
5334
+ tl.fromTo(containerRef.current, { opacity: 0 }, { opacity: 1, duration: 0.8 });
5335
+ if (imageRef.current) {
5336
+ tl.fromTo(imageRef.current, { scale: 1.1, filter: "blur(20px)" }, { scale: 1, filter: "blur(0px)", duration: 1.5, ease: "power2.out" }, 0);
5337
+ }
5338
+ tl.fromTo(
5311
5339
  cardRef.current,
5312
- { y: 100, opacity: 0, rotateX: 10, transformPerspective: 1e3 },
5340
+ { y: 60, opacity: 0, rotateX: 5, transformPerspective: 1e3 },
5313
5341
  { y: 0, opacity: 1, rotateX: 0 },
5314
5342
  0.2
5315
5343
  );
5316
- const titleChars = titleRef.current.querySelectorAll(".char");
5317
- tl.fromTo(
5318
- titleChars,
5319
- { y: 20, opacity: 0, rotateX: 90 },
5320
- { y: 0, opacity: 1, rotateX: 0, stagger: 0.03, duration: 1 },
5321
- 0.4
5322
- );
5323
- const formItems = formRef.current.children;
5324
- tl.fromTo(
5325
- formItems,
5326
- { y: 30, opacity: 0, filter: "blur(10px)" },
5327
- { y: 0, opacity: 1, filter: "blur(0px)", stagger: 0.08 },
5328
- 0.6
5329
- );
5330
- tl.fromTo(
5331
- socialRef.current.children,
5332
- { scale: 0.8, opacity: 0 },
5333
- { scale: 1, opacity: 1, stagger: 0.05 },
5334
- "-=1"
5335
- );
5344
+ if (titleRef.current) {
5345
+ const titleChars = titleRef.current.querySelectorAll(".char");
5346
+ tl.fromTo(
5347
+ titleChars,
5348
+ { y: 20, opacity: 0, rotateX: -90 },
5349
+ { y: 0, opacity: 1, rotateX: 0, stagger: 0.03, duration: 1 },
5350
+ 0.4
5351
+ );
5352
+ }
5353
+ if (formRef.current) {
5354
+ tl.fromTo(
5355
+ formRef.current.children,
5356
+ { x: -20, opacity: 0 },
5357
+ { x: 0, opacity: 1, stagger: 0.08 },
5358
+ 0.6
5359
+ );
5360
+ }
5361
+ if (socialRef.current) {
5362
+ tl.fromTo(
5363
+ socialRef.current.children,
5364
+ { scale: 0.9, opacity: 0 },
5365
+ { scale: 1, opacity: 1, stagger: 0.05 },
5366
+ "-=0.8"
5367
+ );
5368
+ }
5336
5369
  }, containerRef);
5337
5370
  return () => ctx.revert();
5338
5371
  }, [theme]);
5339
- const handleMouseMove = (e) => {
5340
- if (!cardRef.current) return;
5341
- const { left, top, width, height } = cardRef.current.getBoundingClientRect();
5342
- const x = (e.clientX - (left + width / 2)) / (width / 2);
5343
- const y = (e.clientY - (top + height / 2)) / (height / 2);
5344
- import_gsap21.gsap.to(cardRef.current, {
5345
- rotateY: x * 8,
5346
- rotateX: -y * 8,
5347
- transformPerspective: 1200,
5348
- duration: 0.6,
5349
- ease: "power2.out"
5350
- });
5351
- import_gsap21.gsap.to(bgRef.current, {
5352
- x: x * 30,
5353
- y: y * 30,
5354
- duration: 1.2,
5355
- ease: "power1.out"
5356
- });
5357
- };
5358
- const handleMouseLeave = () => {
5359
- import_gsap21.gsap.to(cardRef.current, {
5360
- rotateY: 0,
5361
- rotateX: 0,
5362
- duration: 1.2,
5363
- ease: "elastic.out(1, 0.4)"
5364
- });
5365
- import_gsap21.gsap.to(bgRef.current, { x: 0, y: 0, duration: 1.5 });
5366
- };
5367
5372
  const handleMagneticMove = (e) => {
5368
5373
  const rect = e.currentTarget.getBoundingClientRect();
5369
- const x = (e.clientX - rect.left - rect.width / 2) * 0.4;
5370
- const y = (e.clientY - rect.top - rect.height / 2) * 0.4;
5374
+ const x = (e.clientX - rect.left - rect.width / 2) * 0.3;
5375
+ const y = (e.clientY - rect.top - rect.height / 2) * 0.3;
5371
5376
  import_gsap21.gsap.to(e.currentTarget, { x, y, duration: 0.5, ease: "power2.out" });
5372
5377
  };
5373
5378
  const handleMagneticLeave = (e) => {
@@ -5377,74 +5382,85 @@ var AuraLogin = ({
5377
5382
  e.preventDefault();
5378
5383
  const submitBtn = e.target.querySelector('button[type="submit"]');
5379
5384
  import_gsap21.gsap.to(submitBtn, { scale: 0.95, duration: 0.1, yoyo: true, repeat: 1 });
5380
- onSubmit({ email, password });
5385
+ onSubmit(data);
5381
5386
  };
5382
5387
  const SplitText = ({ text }) => {
5383
5388
  return text.split("").map((char, i) => /* @__PURE__ */ import_react21.default.createElement("span", { key: i, className: "char", style: { display: "inline-block", willChange: "transform" } }, char === " " ? "\xA0" : char));
5384
5389
  };
5385
5390
  const styles = {
5386
5391
  container: {
5387
- position: "relative",
5392
+ display: "flex",
5393
+ flexWrap: "wrap-reverse",
5394
+ // Ensures image stacks correctly on mobile
5388
5395
  width: "100%",
5389
5396
  minHeight: "100vh",
5390
5397
  backgroundColor: bgMain,
5398
+ fontFamily: '"Inter", -apple-system, sans-serif',
5399
+ ...style
5400
+ },
5401
+ formSide: {
5402
+ flex: "1 1 500px",
5391
5403
  display: "flex",
5392
5404
  alignItems: "center",
5393
5405
  justifyContent: "center",
5394
5406
  padding: "40px 20px",
5407
+ position: "relative",
5408
+ zIndex: 2
5409
+ },
5410
+ imageSide: {
5411
+ flex: "1 1 500px",
5412
+ position: "relative",
5395
5413
  overflow: "hidden",
5396
- fontFamily: '"Inter", -apple-system, sans-serif',
5397
- ...style
5414
+ minHeight: "30vh"
5415
+ // Ensures it has height when stacked on mobile
5398
5416
  },
5399
- background: {
5417
+ backgroundImage: {
5418
+ width: "100%",
5419
+ height: "100%",
5420
+ objectFit: "cover",
5400
5421
  position: "absolute",
5401
- width: "120vw",
5402
- height: "120vh",
5403
- top: "-10vh",
5404
- left: "-10vw",
5405
- background: isLight2 ? `radial-gradient(circle at 50% 50%, ${accentColor}11 0%, transparent 70%)` : `radial-gradient(circle at 50% 50%, ${accentColor}22 0%, transparent 60%)`,
5406
- zIndex: 1,
5407
- pointerEvents: "none",
5408
- willChange: "transform"
5422
+ inset: 0
5423
+ },
5424
+ overlay: {
5425
+ position: "absolute",
5426
+ inset: 0,
5427
+ background: `linear-gradient(135deg, ${accentColor}44 0%, ${bgMain} 100%)`,
5428
+ // Ties the image to the theme
5429
+ mixBlendMode: isLight2 ? "multiply" : "overlay"
5409
5430
  },
5410
5431
  card: {
5411
5432
  position: "relative",
5412
5433
  width: "100%",
5413
5434
  maxWidth: "480px",
5414
5435
  backgroundColor: cardBg,
5415
- backdropFilter: "blur(40px)",
5416
- WebkitBackdropFilter: "blur(40px)",
5417
- borderRadius: "40px",
5436
+ backdropFilter: "blur(20px)",
5437
+ WebkitBackdropFilter: "blur(20px)",
5438
+ borderRadius: "32px",
5418
5439
  border: `1px solid ${borderCol}`,
5419
- padding: "60px 50px",
5420
- zIndex: 10,
5421
- boxShadow: isLight2 ? "0 30px 60px rgba(0,0,0,0.05)" : "none",
5440
+ padding: "50px 40px",
5441
+ boxShadow: isLight2 ? "0 20px 50px rgba(0,0,0,0.05)" : "0 30px 60px rgba(0,0,0,0.4)",
5422
5442
  willChange: "transform, opacity"
5423
5443
  },
5424
5444
  title: {
5425
- fontSize: "clamp(32px, 4vw, 42px)",
5445
+ fontSize: "clamp(28px, 4vw, 36px)",
5426
5446
  fontWeight: "900",
5427
5447
  color: textPrimary,
5428
- marginBottom: "16px",
5429
- letterSpacing: "-2px",
5430
- textAlign: "center",
5431
- perspective: "1000px"
5448
+ marginBottom: "12px",
5449
+ letterSpacing: "-1.5px"
5432
5450
  },
5433
5451
  subtitle: {
5434
5452
  fontSize: "15px",
5435
5453
  color: textSecondary,
5436
5454
  lineHeight: "1.6",
5437
- textAlign: "center",
5438
- marginBottom: "48px",
5455
+ marginBottom: "40px",
5439
5456
  fontWeight: "500"
5440
5457
  },
5441
5458
  form: {
5442
5459
  display: "flex",
5443
5460
  flexDirection: "column",
5444
- gap: "24px"
5461
+ gap: "20px"
5445
5462
  },
5446
5463
  inputGroup: {
5447
- position: "relative",
5448
5464
  display: "flex",
5449
5465
  flexDirection: "column",
5450
5466
  gap: "8px"
@@ -5454,7 +5470,7 @@ var AuraLogin = ({
5454
5470
  fontWeight: "700",
5455
5471
  color: textSecondary,
5456
5472
  textTransform: "uppercase",
5457
- letterSpacing: "1px",
5473
+ letterSpacing: "0.5px",
5458
5474
  marginLeft: "4px"
5459
5475
  },
5460
5476
  inputWrapper: {
@@ -5464,26 +5480,26 @@ var AuraLogin = ({
5464
5480
  },
5465
5481
  inputIcon: {
5466
5482
  position: "absolute",
5467
- left: "20px",
5483
+ left: "16px",
5468
5484
  color: textSecondary,
5469
5485
  fontSize: "18px",
5470
5486
  transition: "color 0.3s ease"
5471
5487
  },
5472
5488
  input: {
5473
5489
  width: "100%",
5474
- padding: "18px 20px 18px 54px",
5490
+ padding: "16px 16px 16px 48px",
5475
5491
  backgroundColor: inputBg,
5476
5492
  border: `1px solid ${borderCol}`,
5477
5493
  borderRadius: "16px",
5478
5494
  color: textPrimary,
5479
- fontSize: "16px",
5495
+ fontSize: "15px",
5480
5496
  outline: "none",
5481
- transition: "all 0.3s cubic-bezier(0.16, 1, 0.3, 1)",
5482
- willChange: "border-color, box-shadow"
5497
+ transition: "all 0.3s ease",
5498
+ boxSizing: "border-box"
5483
5499
  },
5484
5500
  eyeIcon: {
5485
5501
  position: "absolute",
5486
- right: "20px",
5502
+ right: "16px",
5487
5503
  color: textSecondary,
5488
5504
  fontSize: "20px",
5489
5505
  cursor: "pointer",
@@ -5492,32 +5508,13 @@ var AuraLogin = ({
5492
5508
  justifyContent: "center",
5493
5509
  transition: "color 0.3s ease"
5494
5510
  },
5495
- submitBtn: {
5496
- marginTop: "12px",
5497
- padding: "20px",
5498
- backgroundColor: accentColor,
5499
- color: "#ffffff",
5500
- border: "none",
5501
- borderRadius: "20px",
5502
- fontSize: "15px",
5503
- fontWeight: "800",
5504
- letterSpacing: "1px",
5505
- textTransform: "uppercase",
5506
- cursor: "pointer",
5507
- display: "flex",
5508
- alignItems: "center",
5509
- justifyContent: "center",
5510
- gap: "12px",
5511
- boxShadow: `0 20px 40px ${accentColor}33`,
5512
- willChange: "transform, box-shadow"
5513
- },
5514
5511
  footerLinks: {
5515
5512
  display: "flex",
5516
5513
  justifyContent: "space-between",
5517
5514
  alignItems: "center",
5518
5515
  fontSize: "14px",
5519
5516
  fontWeight: "600",
5520
- marginTop: "12px"
5517
+ marginTop: "8px"
5521
5518
  },
5522
5519
  link: {
5523
5520
  color: accentColor,
@@ -5525,205 +5522,133 @@ var AuraLogin = ({
5525
5522
  cursor: "pointer",
5526
5523
  transition: "opacity 0.2s ease"
5527
5524
  },
5525
+ submitBtn: {
5526
+ marginTop: "16px",
5527
+ padding: "18px",
5528
+ backgroundColor: accentColor,
5529
+ color: "#ffffff",
5530
+ border: "none",
5531
+ borderRadius: "16px",
5532
+ fontSize: "15px",
5533
+ fontWeight: "700",
5534
+ letterSpacing: "1px",
5535
+ cursor: "pointer",
5536
+ display: "flex",
5537
+ alignItems: "center",
5538
+ justifyContent: "center",
5539
+ gap: "12px",
5540
+ boxShadow: `0 15px 30px ${accentColor}33`,
5541
+ willChange: "transform"
5542
+ },
5528
5543
  divider: {
5529
5544
  position: "relative",
5530
5545
  width: "100%",
5531
5546
  height: "1px",
5532
5547
  backgroundColor: borderCol,
5533
- margin: "40px 0",
5548
+ margin: "35px 0",
5534
5549
  display: "flex",
5535
5550
  alignItems: "center",
5536
5551
  justifyContent: "center"
5537
5552
  },
5538
5553
  dividerText: {
5539
5554
  position: "absolute",
5540
- backgroundColor: isLight2 ? "#f9fafb" : "#0d0d0d",
5541
- // Match card backdrop slightly
5542
- padding: "0 16px",
5555
+ backgroundColor: cardBg,
5556
+ padding: "0 12px",
5543
5557
  color: textSecondary,
5544
5558
  fontSize: "12px",
5545
5559
  fontWeight: "700",
5546
- textTransform: "uppercase",
5547
- borderRadius: "10px"
5560
+ textTransform: "uppercase"
5548
5561
  },
5549
5562
  socialArea: {
5550
5563
  display: "flex",
5551
- justifyContent: "center",
5552
- gap: "16px"
5564
+ gap: "12px"
5553
5565
  },
5554
5566
  socialBtn: {
5555
5567
  flex: 1,
5556
5568
  display: "flex",
5557
5569
  alignItems: "center",
5558
5570
  justifyContent: "center",
5559
- padding: "16px",
5571
+ gap: "8px",
5572
+ padding: "14px",
5560
5573
  backgroundColor: inputBg,
5561
5574
  border: `1px solid ${borderCol}`,
5562
- borderRadius: "16px",
5575
+ borderRadius: "14px",
5563
5576
  color: textPrimary,
5564
- fontSize: "20px",
5577
+ fontSize: "14px",
5578
+ fontWeight: "600",
5565
5579
  cursor: "pointer",
5566
5580
  transition: "all 0.3s ease"
5567
5581
  }
5568
5582
  };
5569
- return /* @__PURE__ */ import_react21.default.createElement("div", { ref: containerRef, style: styles.container }, /* @__PURE__ */ import_react21.default.createElement("div", { ref: bgRef, style: styles.background }), /* @__PURE__ */ import_react21.default.createElement(
5570
- "div",
5583
+ return /* @__PURE__ */ import_react21.default.createElement("div", { ref: containerRef, style: styles.container }, /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.formSide }, /* @__PURE__ */ import_react21.default.createElement("div", { ref: cardRef, style: styles.card }, /* @__PURE__ */ import_react21.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "12px", marginBottom: "24px" } }, /* @__PURE__ */ import_react21.default.createElement("div", { style: { width: "40px", height: "40px", borderRadius: "12px", backgroundColor: `${accentColor}22`, display: "flex", alignItems: "center", justifyContent: "center", color: accentColor, fontSize: "20px" } }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiZap, null)), /* @__PURE__ */ import_react21.default.createElement("span", { style: { fontWeight: "700", letterSpacing: "1px", color: textSecondary } }, "AURA UI")), /* @__PURE__ */ import_react21.default.createElement("h1", { ref: titleRef, style: styles.title }, /* @__PURE__ */ import_react21.default.createElement(SplitText, { text: title })), /* @__PURE__ */ import_react21.default.createElement("p", { style: styles.subtitle }, subtitle), /* @__PURE__ */ import_react21.default.createElement("form", { ref: formRef, style: styles.form, onSubmit: handleSubmit }, /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react21.default.createElement("label", { style: styles.inputLabel }, "Email Address"), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiMail, { style: styles.inputIcon }), /* @__PURE__ */ import_react21.default.createElement(
5584
+ "input",
5571
5585
  {
5572
- ref: cardRef,
5573
- style: styles.card,
5574
- onMouseMove: handleMouseMove,
5575
- onMouseLeave: handleMouseLeave
5576
- },
5577
- /* @__PURE__ */ import_react21.default.createElement("div", { style: { display: "flex", justifyContent: "center", marginBottom: "32px" } }, /* @__PURE__ */ import_react21.default.createElement("div", { style: {
5578
- width: "64px",
5579
- height: "64px",
5580
- borderRadius: "18px",
5581
- backgroundColor: `${accentColor}22`,
5582
- display: "flex",
5583
- alignItems: "center",
5584
- justifyContent: "center",
5585
- color: accentColor,
5586
- fontSize: "32px",
5587
- boxShadow: `0 0 30px ${accentColor}22`
5588
- } }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiZap, null))),
5589
- /* @__PURE__ */ import_react21.default.createElement("h1", { ref: titleRef, style: styles.title }, /* @__PURE__ */ import_react21.default.createElement(SplitText, { text: title })),
5590
- /* @__PURE__ */ import_react21.default.createElement("p", { style: styles.subtitle }, subtitle),
5591
- /* @__PURE__ */ import_react21.default.createElement("form", { ref: formRef, style: styles.form, onSubmit: handleSubmit }, /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react21.default.createElement("label", { style: styles.inputLabel }, "Email Address"), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiMail, { style: styles.inputIcon, className: "input-icon" }), /* @__PURE__ */ import_react21.default.createElement(
5592
- "input",
5593
- {
5594
- type: "email",
5595
- placeholder: "name@company.com",
5596
- required: true,
5597
- value: email,
5598
- onChange: (e) => setEmail(e.target.value),
5599
- style: styles.input,
5600
- onFocus: (e) => {
5601
- e.target.style.borderColor = accentColor;
5602
- e.target.style.boxShadow = `0 0 20px ${accentColor}11`;
5603
- e.target.previousSibling.style.color = accentColor;
5604
- },
5605
- onBlur: (e) => {
5606
- e.target.style.borderColor = borderCol;
5607
- e.target.style.boxShadow = "none";
5608
- e.target.previousSibling.style.color = textSecondary;
5609
- }
5610
- }
5611
- ))), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react21.default.createElement("label", { style: styles.inputLabel }, "Password"), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiLock, { style: styles.inputIcon, className: "input-icon" }), /* @__PURE__ */ import_react21.default.createElement(
5612
- "input",
5613
- {
5614
- type: showPassword ? "text" : "password",
5615
- placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
5616
- required: true,
5617
- value: password,
5618
- onChange: (e) => setPassword(e.target.value),
5619
- style: styles.input,
5620
- onFocus: (e) => {
5621
- e.target.style.borderColor = accentColor;
5622
- e.target.style.boxShadow = `0 0 20px ${accentColor}11`;
5623
- e.target.previousSibling.style.color = accentColor;
5624
- },
5625
- onBlur: (e) => {
5626
- e.target.style.borderColor = borderCol;
5627
- e.target.style.boxShadow = "none";
5628
- e.target.previousSibling.style.color = textSecondary;
5629
- }
5630
- }
5631
- ), /* @__PURE__ */ import_react21.default.createElement(
5632
- "div",
5633
- {
5634
- style: styles.eyeIcon,
5635
- onClick: () => setShowPassword(!showPassword),
5636
- onMouseEnter: (e) => e.currentTarget.style.color = accentColor,
5637
- onMouseLeave: (e) => e.currentTarget.style.color = textSecondary
5638
- },
5639
- showPassword ? /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiEyeOff, null) : /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiEye, null)
5640
- ))), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.footerLinks }, /* @__PURE__ */ import_react21.default.createElement(
5641
- "span",
5642
- {
5643
- style: styles.link,
5644
- onClick: onForgotPassword,
5645
- onMouseEnter: (e) => e.currentTarget.style.opacity = 0.7,
5646
- onMouseLeave: (e) => e.currentTarget.style.opacity = 1
5586
+ name: "email",
5587
+ type: "email",
5588
+ placeholder: "name@company.com",
5589
+ required: true,
5590
+ value: data.email || "",
5591
+ onChange: handleChange,
5592
+ style: styles.input,
5593
+ onFocus: (e) => {
5594
+ e.target.style.borderColor = accentColor;
5595
+ e.target.previousSibling.style.color = accentColor;
5647
5596
  },
5648
- "Forgot Password?"
5649
- ), /* @__PURE__ */ import_react21.default.createElement(
5650
- "span",
5651
- {
5652
- style: isLight2 ? { color: "#0f172a" } : { color: "#ffffff" }
5653
- },
5654
- "Don't have an account? ",
5655
- /* @__PURE__ */ import_react21.default.createElement(
5656
- "span",
5657
- {
5658
- style: styles.link,
5659
- onClick: onRegister,
5660
- onMouseEnter: (e) => e.currentTarget.style.opacity = 0.7,
5661
- onMouseLeave: (e) => e.currentTarget.style.opacity = 1
5662
- },
5663
- "Sign Up"
5664
- )
5665
- )), /* @__PURE__ */ import_react21.default.createElement(
5666
- "button",
5667
- {
5668
- type: "submit",
5669
- style: styles.submitBtn,
5670
- onMouseEnter: (e) => {
5671
- import_gsap21.gsap.to(e.currentTarget, { y: -4, scale: 1.02, boxShadow: `0 30px 60px ${accentColor}50`, duration: 0.4 });
5672
- },
5673
- onMouseLeave: (e) => {
5674
- import_gsap21.gsap.to(e.currentTarget, { y: 0, scale: 1, boxShadow: `0 20px 40px ${accentColor}33`, duration: 0.4 });
5675
- },
5676
- onMouseMove: handleMagneticMove,
5677
- onMouseUp: handleMagneticLeave
5678
- },
5679
- "Sign In ",
5680
- /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiArrowRight, { fontSize: "20px" })
5681
- )),
5682
- /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.divider }, /* @__PURE__ */ import_react21.default.createElement("span", { style: styles.dividerText }, "Or Continue With")),
5683
- /* @__PURE__ */ import_react21.default.createElement("div", { ref: socialRef, style: styles.socialArea }, /* @__PURE__ */ import_react21.default.createElement(
5684
- "button",
5685
- {
5686
- style: styles.socialBtn,
5687
- onMouseEnter: (e) => {
5688
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.06)" : "rgba(255,255,255,0.08)", y: -4 });
5689
- e.currentTarget.style.borderColor = accentColor;
5690
- },
5691
- onMouseLeave: (e) => {
5692
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
5693
- e.currentTarget.style.borderColor = borderCol;
5694
- }
5695
- },
5696
- /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiGithub, null)
5697
- ), /* @__PURE__ */ import_react21.default.createElement(
5698
- "button",
5699
- {
5700
- style: styles.socialBtn,
5701
- onMouseEnter: (e) => {
5702
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.06)" : "rgba(255,255,255,0.08)", y: -4 });
5703
- e.currentTarget.style.borderColor = accentColor;
5704
- },
5705
- onMouseLeave: (e) => {
5706
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
5707
- e.currentTarget.style.borderColor = borderCol;
5708
- }
5597
+ onBlur: (e) => {
5598
+ e.target.style.borderColor = borderCol;
5599
+ e.target.previousSibling.style.color = textSecondary;
5600
+ }
5601
+ }
5602
+ ))), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react21.default.createElement("label", { style: styles.inputLabel }, "Password"), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiLock, { style: styles.inputIcon }), /* @__PURE__ */ import_react21.default.createElement(
5603
+ "input",
5604
+ {
5605
+ name: "password",
5606
+ type: showPassword ? "text" : "password",
5607
+ placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
5608
+ required: true,
5609
+ value: data.password || "",
5610
+ onChange: handleChange,
5611
+ style: styles.input,
5612
+ onFocus: (e) => {
5613
+ e.target.style.borderColor = accentColor;
5614
+ e.target.previousSibling.style.color = accentColor;
5709
5615
  },
5710
- /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiFacebook, null)
5711
- ), /* @__PURE__ */ import_react21.default.createElement(
5712
- "button",
5713
- {
5714
- style: styles.socialBtn,
5715
- onMouseEnter: (e) => {
5716
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.06)" : "rgba(255,255,255,0.08)", y: -4 });
5717
- e.currentTarget.style.borderColor = accentColor;
5718
- },
5719
- onMouseLeave: (e) => {
5720
- import_gsap21.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
5721
- e.currentTarget.style.borderColor = borderCol;
5722
- }
5616
+ onBlur: (e) => {
5617
+ e.target.style.borderColor = borderCol;
5618
+ e.target.previousSibling.style.color = textSecondary;
5619
+ }
5620
+ }
5621
+ ), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.eyeIcon, onClick: () => setShowPassword(!showPassword) }, showPassword ? /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiEyeOff, null) : /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiEye, null)))), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.footerLinks }, /* @__PURE__ */ import_react21.default.createElement("span", { style: styles.link, onClick: onForgotPassword }, "Forgot Password?"), /* @__PURE__ */ import_react21.default.createElement("span", { style: { color: textSecondary } }, "New here? ", /* @__PURE__ */ import_react21.default.createElement("span", { style: styles.link, onClick: onRegister }, "Sign Up"))), /* @__PURE__ */ import_react21.default.createElement(
5622
+ "button",
5623
+ {
5624
+ type: "submit",
5625
+ style: styles.submitBtn,
5626
+ onMouseEnter: (e) => import_gsap21.gsap.to(e.currentTarget, { scale: 1.02, duration: 0.4 }),
5627
+ onMouseLeave: (e) => import_gsap21.gsap.to(e.currentTarget, { scale: 1, duration: 0.4 }),
5628
+ onMouseMove: handleMagneticMove,
5629
+ onMouseUp: handleMagneticLeave
5630
+ },
5631
+ "Sign In ",
5632
+ /* @__PURE__ */ import_react21.default.createElement(import_fi18.FiArrowRight, { fontSize: "18px" })
5633
+ )), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.divider }, /* @__PURE__ */ import_react21.default.createElement("span", { style: styles.dividerText }, "Or Continue With")), /* @__PURE__ */ import_react21.default.createElement("div", { ref: socialRef, style: styles.socialArea }, providersToUse.map((provider, i) => /* @__PURE__ */ import_react21.default.createElement(
5634
+ "button",
5635
+ {
5636
+ key: i,
5637
+ type: "button",
5638
+ onClick: provider.onClick,
5639
+ style: styles.socialBtn,
5640
+ onMouseEnter: (e) => {
5641
+ import_gsap21.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.06)" : "rgba(255,255,255,0.08)", y: -2 });
5642
+ e.currentTarget.style.borderColor = accentColor;
5723
5643
  },
5724
- /* @__PURE__ */ import_react21.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor" }, /* @__PURE__ */ import_react21.default.createElement("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z", fill: "#4285F4" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z", fill: "#34A853" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.27.81-.57z", fill: "#FBBC05" }), /* @__PURE__ */ import_react21.default.createElement("path", { d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z", fill: "#EA4335" }))
5725
- ))
5726
- ));
5644
+ onMouseLeave: (e) => {
5645
+ import_gsap21.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
5646
+ e.currentTarget.style.borderColor = borderCol;
5647
+ }
5648
+ },
5649
+ provider.icon,
5650
+ /* @__PURE__ */ import_react21.default.createElement("span", { style: { display: providersToUse.length > 2 ? "none" : "inline" } }, provider.name)
5651
+ ))))), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.imageSide }, /* @__PURE__ */ import_react21.default.createElement("img", { ref: imageRef, src: sideImage, alt: "Login Side Cover", style: styles.backgroundImage }), /* @__PURE__ */ import_react21.default.createElement("div", { style: styles.overlay })));
5727
5652
  };
5728
5653
 
5729
5654
  // src/components/Froms/Register.jsx
@@ -5733,101 +5658,109 @@ var import_gsap22 = require("gsap");
5733
5658
  var import_fi19 = require("react-icons/fi");
5734
5659
  var AuraRegister = ({
5735
5660
  title = "Begin Your Journey",
5736
- subtitle = "Join the elite circle of designers and developers building the future of the web.",
5661
+ subtitle = "Join the elite circle of designers and developers building the future.",
5737
5662
  theme = "dark",
5738
5663
  accentColor = "#6366f1",
5739
- onSubmit = (data) => console.log("Register data:", data),
5664
+ // State Management Props (2-Way Binding)
5665
+ formData,
5666
+ onChange,
5667
+ onSubmit = (data) => console.log("Register submitted:", data),
5668
+ // Customization
5669
+ sideImage = "https://images.unsplash.com/photo-1620641788421-7a1c342ea42e?q=80&w=2574&auto=format&fit=crop",
5670
+ socialProviders,
5671
+ // Actions
5740
5672
  onLogin = () => console.log("Login clicked"),
5741
5673
  style = {},
5742
- animationDuration = 1.6,
5674
+ animationDuration = 1.4,
5743
5675
  easing = "expo.out"
5744
5676
  }) => {
5745
- const [formData, setFormData] = (0, import_react22.useState)({
5746
- name: "",
5677
+ const [internalState, setInternalState] = (0, import_react22.useState)({
5678
+ fullname: "",
5747
5679
  email: "",
5680
+ contact: "",
5748
5681
  password: "",
5749
- confirmPassword: ""
5682
+ isSeller: false
5750
5683
  });
5751
- const [isHovered, setIsHovered] = (0, import_react22.useState)(false);
5684
+ const [showPassword, setShowPassword] = (0, import_react22.useState)(false);
5685
+ const data = formData || internalState;
5686
+ const handleChange = (e) => {
5687
+ const { name, value, type, checked } = e.target;
5688
+ const finalValue = type === "checkbox" ? checked : value;
5689
+ if (onChange) {
5690
+ onChange(name, finalValue);
5691
+ } else {
5692
+ setInternalState((prev) => ({ ...prev, [name]: finalValue }));
5693
+ }
5694
+ };
5752
5695
  const containerRef = (0, import_react22.useRef)(null);
5753
5696
  const cardRef = (0, import_react22.useRef)(null);
5697
+ const imageRef = (0, import_react22.useRef)(null);
5754
5698
  const titleRef = (0, import_react22.useRef)(null);
5755
5699
  const formRef = (0, import_react22.useRef)(null);
5756
5700
  const socialRef = (0, import_react22.useRef)(null);
5757
- const bgRef = (0, import_react22.useRef)(null);
5758
5701
  const inRouter = (0, import_react_router_dom14.useInRouterContext)();
5759
5702
  const navigate = inRouter ? (0, import_react_router_dom14.useNavigate)() : null;
5760
5703
  const isLight2 = theme === "light";
5761
- const bgMain = isLight2 ? "#f8fafc" : "#030303";
5762
- const cardBg = isLight2 ? "rgba(255, 255, 255, 0.9)" : "rgba(10, 10, 10, 0.4)";
5704
+ const bgMain = isLight2 ? "#f8fafc" : "#020617";
5705
+ const cardBg = isLight2 ? "rgba(255, 255, 255, 0.95)" : "rgba(15, 23, 42, 0.8)";
5763
5706
  const textPrimary = isLight2 ? "#0f172a" : "#ffffff";
5764
5707
  const textSecondary = isLight2 ? "rgba(15, 23, 42, 0.6)" : "rgba(255, 255, 255, 0.5)";
5765
5708
  const inputBg = isLight2 ? "rgba(0, 0, 0, 0.03)" : "rgba(255, 255, 255, 0.03)";
5766
5709
  const borderCol = isLight2 ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.1)";
5710
+ const defaultProviders = [
5711
+ {
5712
+ name: "Google",
5713
+ icon: /* @__PURE__ */ import_react22.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor" }, /* @__PURE__ */ import_react22.default.createElement("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z", fill: "#4285F4" }), /* @__PURE__ */ import_react22.default.createElement("path", { d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z", fill: "#34A853" }), /* @__PURE__ */ import_react22.default.createElement("path", { d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.27.81-.57z", fill: "#FBBC05" }), /* @__PURE__ */ import_react22.default.createElement("path", { d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z", fill: "#EA4335" })),
5714
+ onClick: () => console.log("Google register")
5715
+ },
5716
+ { name: "GitHub", icon: /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiGithub, { size: 18 }), onClick: () => console.log("GitHub register") }
5717
+ ];
5718
+ const providersToUse = socialProviders || defaultProviders;
5767
5719
  (0, import_react22.useEffect)(() => {
5768
5720
  const ctx = import_gsap22.gsap.context(() => {
5769
5721
  const tl = import_gsap22.gsap.timeline({ defaults: { ease: easing, duration: animationDuration } });
5770
- tl.fromTo(containerRef.current, { opacity: 0 }, { opacity: 1, duration: 0.8 }).fromTo(bgRef.current, { scale: 1.2, filter: "blur(30px)", opacity: 0 }, { scale: 1, filter: "blur(0px)", opacity: 1 }, 0).fromTo(
5722
+ tl.fromTo(containerRef.current, { opacity: 0 }, { opacity: 1, duration: 0.8 });
5723
+ if (imageRef.current) {
5724
+ tl.fromTo(imageRef.current, { scale: 1.1, filter: "blur(20px)" }, { scale: 1, filter: "blur(0px)", duration: 1.5, ease: "power2.out" }, 0);
5725
+ }
5726
+ tl.fromTo(
5771
5727
  cardRef.current,
5772
- { y: 80, opacity: 0, rotateX: 10, transformPerspective: 1e3 },
5728
+ { y: 40, opacity: 0, rotateX: 5, transformPerspective: 1e3 },
5773
5729
  { y: 0, opacity: 1, rotateX: 0 },
5774
5730
  0.2
5775
5731
  );
5776
- const titleChars = titleRef.current.querySelectorAll(".char");
5777
- tl.fromTo(
5778
- titleChars,
5779
- { y: 30, opacity: 0, scale: 0.8 },
5780
- { y: 0, opacity: 1, scale: 1, stagger: 0.04, duration: 1.2 },
5781
- 0.4
5782
- );
5783
- const formItems = formRef.current.children;
5784
- tl.fromTo(
5785
- formItems,
5786
- { x: -20, opacity: 0, filter: "blur(5px)" },
5787
- { x: 0, opacity: 1, filter: "blur(0px)", stagger: 0.06 },
5788
- 0.6
5789
- );
5790
- tl.fromTo(
5791
- socialRef.current.children,
5792
- { y: 20, opacity: 0 },
5793
- { y: 0, opacity: 1, stagger: 0.05 },
5794
- "-=0.8"
5795
- );
5732
+ if (titleRef.current) {
5733
+ const titleChars = titleRef.current.querySelectorAll(".char");
5734
+ tl.fromTo(
5735
+ titleChars,
5736
+ { y: 15, opacity: 0, scale: 0.9 },
5737
+ { y: 0, opacity: 1, scale: 1, stagger: 0.02, duration: 0.8 },
5738
+ 0.3
5739
+ );
5740
+ }
5741
+ if (formRef.current) {
5742
+ tl.fromTo(
5743
+ formRef.current.children,
5744
+ { x: -15, opacity: 0 },
5745
+ { x: 0, opacity: 1, stagger: 0.06 },
5746
+ 0.4
5747
+ );
5748
+ }
5749
+ if (socialRef.current) {
5750
+ tl.fromTo(
5751
+ socialRef.current.children,
5752
+ { y: 10, opacity: 0 },
5753
+ { y: 0, opacity: 1, stagger: 0.04 },
5754
+ "-=0.6"
5755
+ );
5756
+ }
5796
5757
  }, containerRef);
5797
5758
  return () => ctx.revert();
5798
5759
  }, [theme]);
5799
- const handleMouseMove = (e) => {
5800
- if (!cardRef.current) return;
5801
- const { left, top, width, height } = cardRef.current.getBoundingClientRect();
5802
- const x = (e.clientX - (left + width / 2)) / (width / 2);
5803
- const y = (e.clientY - (top + height / 2)) / (height / 2);
5804
- import_gsap22.gsap.to(cardRef.current, {
5805
- rotateY: x * 6,
5806
- rotateX: -y * 6,
5807
- transformPerspective: 1200,
5808
- duration: 0.6,
5809
- ease: "power2.out"
5810
- });
5811
- import_gsap22.gsap.to(bgRef.current, {
5812
- x: x * 20,
5813
- y: y * 20,
5814
- duration: 1.2,
5815
- ease: "power1.out"
5816
- });
5817
- };
5818
- const handleMouseLeave = () => {
5819
- import_gsap22.gsap.to(cardRef.current, {
5820
- rotateY: 0,
5821
- rotateX: 0,
5822
- duration: 1.2,
5823
- ease: "elastic.out(1, 0.4)"
5824
- });
5825
- import_gsap22.gsap.to(bgRef.current, { x: 0, y: 0, duration: 1.5 });
5826
- };
5827
5760
  const handleMagneticMove = (e) => {
5828
5761
  const rect = e.currentTarget.getBoundingClientRect();
5829
- const x = (e.clientX - rect.left - rect.width / 2) * 0.35;
5830
- const y = (e.clientY - rect.top - rect.height / 2) * 0.35;
5762
+ const x = (e.clientX - rect.left - rect.width / 2) * 0.3;
5763
+ const y = (e.clientY - rect.top - rect.height / 2) * 0.3;
5831
5764
  import_gsap22.gsap.to(e.currentTarget, { x, y, duration: 0.5, ease: "power2.out" });
5832
5765
  };
5833
5766
  const handleMagneticLeave = (e) => {
@@ -5836,88 +5769,97 @@ var AuraRegister = ({
5836
5769
  const handleSubmit = (e) => {
5837
5770
  e.preventDefault();
5838
5771
  const submitBtn = e.target.querySelector('button[type="submit"]');
5839
- import_gsap22.gsap.to(submitBtn, { scale: 0.96, duration: 0.1, yoyo: true, repeat: 1 });
5840
- onSubmit(formData);
5841
- };
5842
- const handleChange = (e) => {
5843
- setFormData({ ...formData, [e.target.name]: e.target.value });
5772
+ import_gsap22.gsap.to(submitBtn, { scale: 0.95, duration: 0.1, yoyo: true, repeat: 1 });
5773
+ onSubmit(data);
5844
5774
  };
5845
5775
  const SplitText = ({ text }) => {
5846
5776
  return text.split("").map((char, i) => /* @__PURE__ */ import_react22.default.createElement("span", { key: i, className: "char", style: { display: "inline-block", willChange: "transform" } }, char === " " ? "\xA0" : char));
5847
5777
  };
5848
5778
  const styles = {
5849
5779
  container: {
5850
- position: "relative",
5780
+ display: "flex",
5781
+ flexWrap: "wrap-reverse",
5782
+ // Image on bottom/right for mobile, form on top/left
5851
5783
  width: "100%",
5852
5784
  minHeight: "100vh",
5853
5785
  backgroundColor: bgMain,
5786
+ fontFamily: '"Inter", -apple-system, sans-serif',
5787
+ ...style
5788
+ },
5789
+ // For Register, let's put the image on the right (so flex-direction row)
5790
+ formSide: {
5791
+ flex: "1 1 500px",
5854
5792
  display: "flex",
5855
5793
  alignItems: "center",
5856
5794
  justifyContent: "center",
5857
- padding: "60px 20px",
5795
+ padding: "40px 20px",
5796
+ position: "relative",
5797
+ zIndex: 2
5798
+ },
5799
+ imageSide: {
5800
+ flex: "1 1 500px",
5801
+ position: "relative",
5858
5802
  overflow: "hidden",
5859
- fontFamily: '"Inter", -apple-system, sans-serif',
5860
- ...style
5803
+ minHeight: "30vh"
5861
5804
  },
5862
- background: {
5805
+ backgroundImage: {
5806
+ width: "100%",
5807
+ height: "100%",
5808
+ objectFit: "cover",
5863
5809
  position: "absolute",
5864
- width: "140vw",
5865
- height: "140vh",
5866
- top: "-20vh",
5867
- left: "-20vw",
5868
- background: isLight2 ? `radial-gradient(circle at 50% 50%, ${accentColor}08 0%, transparent 60%)` : `radial-gradient(circle at 50% 50%, ${accentColor}18 0%, transparent 50%)`,
5869
- zIndex: 1,
5870
- pointerEvents: "none"
5810
+ inset: 0
5811
+ },
5812
+ overlay: {
5813
+ position: "absolute",
5814
+ inset: 0,
5815
+ background: `linear-gradient(135deg, ${accentColor}33 0%, ${bgMain} 100%)`,
5816
+ mixBlendMode: isLight2 ? "multiply" : "overlay"
5871
5817
  },
5872
5818
  card: {
5873
5819
  position: "relative",
5874
5820
  width: "100%",
5875
- maxWidth: "520px",
5821
+ maxWidth: "480px",
5822
+ // slightly wider than login
5876
5823
  backgroundColor: cardBg,
5877
- backdropFilter: "blur(30px)",
5878
- WebkitBackdropFilter: "blur(30px)",
5879
- borderRadius: "40px",
5824
+ backdropFilter: "blur(20px)",
5825
+ WebkitBackdropFilter: "blur(20px)",
5826
+ borderRadius: "32px",
5880
5827
  border: `1px solid ${borderCol}`,
5881
- padding: "50px 40px",
5882
- zIndex: 10,
5883
- boxShadow: isLight2 ? "0 40px 100px rgba(0,0,0,0.06)" : "none",
5828
+ padding: "40px",
5829
+ boxShadow: isLight2 ? "0 20px 50px rgba(0,0,0,0.05)" : "0 30px 60px rgba(0,0,0,0.4)",
5884
5830
  willChange: "transform, opacity"
5885
5831
  },
5886
5832
  title: {
5887
- fontSize: "clamp(28px, 4.5vw, 40px)",
5833
+ fontSize: "clamp(24px, 3.5vw, 32px)",
5888
5834
  fontWeight: "900",
5889
5835
  color: textPrimary,
5890
- marginBottom: "12px",
5891
- letterSpacing: "-1.5px",
5892
- textAlign: "center"
5836
+ marginBottom: "8px",
5837
+ letterSpacing: "-1px"
5893
5838
  },
5894
5839
  subtitle: {
5895
5840
  fontSize: "14px",
5896
5841
  color: textSecondary,
5897
- lineHeight: "1.6",
5898
- textAlign: "center",
5899
- marginBottom: "40px",
5900
- fontWeight: "500",
5901
- maxWidth: "380px",
5902
- margin: "0 auto 40px auto"
5842
+ lineHeight: "1.5",
5843
+ marginBottom: "30px",
5844
+ fontWeight: "500"
5903
5845
  },
5904
5846
  form: {
5905
5847
  display: "flex",
5906
5848
  flexDirection: "column",
5907
- gap: "20px"
5849
+ gap: "16px"
5850
+ // tighter gap for more fields
5908
5851
  },
5909
5852
  inputGroup: {
5910
- position: "relative",
5911
5853
  display: "flex",
5912
5854
  flexDirection: "column",
5913
5855
  gap: "6px"
5914
5856
  },
5915
5857
  inputLabel: {
5916
5858
  fontSize: "12px",
5917
- fontWeight: "750",
5859
+ fontWeight: "700",
5918
5860
  color: textSecondary,
5919
5861
  textTransform: "uppercase",
5920
- letterSpacing: "0.8px",
5862
+ letterSpacing: "0.5px",
5921
5863
  marginLeft: "4px"
5922
5864
  },
5923
5865
  inputWrapper: {
@@ -5927,67 +5869,100 @@ var AuraRegister = ({
5927
5869
  },
5928
5870
  inputIcon: {
5929
5871
  position: "absolute",
5930
- left: "18px",
5872
+ left: "16px",
5931
5873
  color: textSecondary,
5932
5874
  fontSize: "16px",
5933
5875
  transition: "color 0.3s ease"
5934
5876
  },
5935
5877
  input: {
5936
5878
  width: "100%",
5937
- padding: "16px 18px 16px 48px",
5879
+ padding: "14px 16px 14px 44px",
5938
5880
  backgroundColor: inputBg,
5939
5881
  border: `1px solid ${borderCol}`,
5940
5882
  borderRadius: "14px",
5941
5883
  color: textPrimary,
5942
- fontSize: "15px",
5884
+ fontSize: "14px",
5943
5885
  outline: "none",
5944
- transition: "all 0.3s cubic-bezier(0.16, 1, 0.3, 1)"
5886
+ transition: "all 0.3s ease",
5887
+ boxSizing: "border-box"
5945
5888
  },
5946
- submitBtn: {
5947
- marginTop: "10px",
5948
- padding: "18px",
5949
- backgroundColor: accentColor,
5950
- color: "#ffffff",
5951
- border: "none",
5952
- borderRadius: "16px",
5953
- fontSize: "14px",
5954
- fontWeight: "800",
5955
- letterSpacing: "2px",
5956
- textTransform: "uppercase",
5889
+ eyeIcon: {
5890
+ position: "absolute",
5891
+ right: "16px",
5892
+ color: textSecondary,
5893
+ fontSize: "18px",
5957
5894
  cursor: "pointer",
5958
5895
  display: "flex",
5959
5896
  alignItems: "center",
5960
5897
  justifyContent: "center",
5961
- gap: "12px",
5962
- boxShadow: `0 15px 30px ${accentColor}33`,
5963
- willChange: "transform, box-shadow"
5898
+ transition: "color 0.3s ease"
5899
+ },
5900
+ checkboxWrapper: {
5901
+ display: "flex",
5902
+ alignItems: "center",
5903
+ gap: "10px",
5904
+ marginTop: "4px",
5905
+ cursor: "pointer"
5906
+ },
5907
+ checkboxInput: {
5908
+ cursor: "pointer",
5909
+ width: "18px",
5910
+ height: "18px",
5911
+ accentColor
5912
+ },
5913
+ checkboxLabel: {
5914
+ fontSize: "13px",
5915
+ color: textSecondary,
5916
+ fontWeight: "500",
5917
+ cursor: "pointer"
5964
5918
  },
5965
5919
  footerLinks: {
5966
- textAlign: "center",
5967
- fontSize: "14px",
5920
+ display: "flex",
5921
+ justifyContent: "center",
5922
+ alignItems: "center",
5923
+ fontSize: "13px",
5968
5924
  fontWeight: "600",
5969
- marginTop: "20px",
5925
+ marginTop: "10px",
5970
5926
  color: textSecondary
5971
5927
  },
5972
5928
  link: {
5973
5929
  color: accentColor,
5974
5930
  textDecoration: "none",
5975
5931
  cursor: "pointer",
5976
- marginLeft: "6px"
5932
+ marginLeft: "6px",
5933
+ transition: "opacity 0.2s ease"
5934
+ },
5935
+ submitBtn: {
5936
+ marginTop: "12px",
5937
+ padding: "16px",
5938
+ backgroundColor: accentColor,
5939
+ color: "#ffffff",
5940
+ border: "none",
5941
+ borderRadius: "14px",
5942
+ fontSize: "15px",
5943
+ fontWeight: "700",
5944
+ letterSpacing: "1px",
5945
+ cursor: "pointer",
5946
+ display: "flex",
5947
+ alignItems: "center",
5948
+ justifyContent: "center",
5949
+ gap: "12px",
5950
+ boxShadow: `0 15px 30px ${accentColor}33`,
5951
+ willChange: "transform"
5977
5952
  },
5978
5953
  divider: {
5979
5954
  position: "relative",
5980
5955
  width: "100%",
5981
5956
  height: "1px",
5982
5957
  backgroundColor: borderCol,
5983
- margin: "35px 0",
5958
+ margin: "25px 0",
5984
5959
  display: "flex",
5985
5960
  alignItems: "center",
5986
5961
  justifyContent: "center"
5987
5962
  },
5988
5963
  dividerText: {
5989
5964
  position: "absolute",
5990
- backgroundColor: isLight2 ? "#f9fafb" : "#0d0d0d",
5965
+ backgroundColor: cardBg,
5991
5966
  padding: "0 12px",
5992
5967
  color: textSecondary,
5993
5968
  fontSize: "11px",
@@ -5996,7 +5971,6 @@ var AuraRegister = ({
5996
5971
  },
5997
5972
  socialArea: {
5998
5973
  display: "flex",
5999
- justifyContent: "center",
6000
5974
  gap: "12px"
6001
5975
  },
6002
5976
  socialBtn: {
@@ -6004,158 +5978,134 @@ var AuraRegister = ({
6004
5978
  display: "flex",
6005
5979
  alignItems: "center",
6006
5980
  justifyContent: "center",
6007
- padding: "14px",
5981
+ gap: "8px",
5982
+ padding: "12px",
6008
5983
  backgroundColor: inputBg,
6009
5984
  border: `1px solid ${borderCol}`,
6010
- borderRadius: "14px",
5985
+ borderRadius: "12px",
6011
5986
  color: textPrimary,
6012
- fontSize: "18px",
5987
+ fontSize: "13px",
5988
+ fontWeight: "600",
6013
5989
  cursor: "pointer",
6014
5990
  transition: "all 0.3s ease"
6015
5991
  }
6016
5992
  };
6017
- return /* @__PURE__ */ import_react22.default.createElement("div", { ref: containerRef, style: styles.container }, /* @__PURE__ */ import_react22.default.createElement("div", { ref: bgRef, style: styles.background }), /* @__PURE__ */ import_react22.default.createElement(
6018
- "div",
5993
+ return /* @__PURE__ */ import_react22.default.createElement("div", { ref: containerRef, style: styles.container }, /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.formSide }, /* @__PURE__ */ import_react22.default.createElement("div", { ref: cardRef, style: styles.card }, /* @__PURE__ */ import_react22.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "12px", marginBottom: "20px" } }, /* @__PURE__ */ import_react22.default.createElement("div", { style: { width: "36px", height: "36px", borderRadius: "10px", backgroundColor: `${accentColor}22`, display: "flex", alignItems: "center", justifyContent: "center", color: accentColor, fontSize: "18px" } }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiShield, null)), /* @__PURE__ */ import_react22.default.createElement("span", { style: { fontWeight: "700", letterSpacing: "1px", color: textSecondary, fontSize: "13px" } }, "AURA UI")), /* @__PURE__ */ import_react22.default.createElement("h1", { ref: titleRef, style: styles.title }, /* @__PURE__ */ import_react22.default.createElement(SplitText, { text: title })), /* @__PURE__ */ import_react22.default.createElement("p", { style: styles.subtitle }, subtitle), /* @__PURE__ */ import_react22.default.createElement("form", { ref: formRef, style: styles.form, onSubmit: handleSubmit }, /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Full Name"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiUser, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
5994
+ "input",
6019
5995
  {
6020
- ref: cardRef,
6021
- style: styles.card,
6022
- onMouseMove: handleMouseMove,
6023
- onMouseLeave: handleMouseLeave
6024
- },
6025
- /* @__PURE__ */ import_react22.default.createElement("div", { style: { display: "flex", justifyContent: "center", marginBottom: "24px" } }, /* @__PURE__ */ import_react22.default.createElement("div", { style: {
6026
- width: "56px",
6027
- height: "56px",
6028
- borderRadius: "16px",
6029
- backgroundColor: `${accentColor}22`,
6030
- display: "flex",
6031
- alignItems: "center",
6032
- justifyContent: "center",
6033
- color: accentColor,
6034
- fontSize: "28px"
6035
- } }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiShield, null))),
6036
- /* @__PURE__ */ import_react22.default.createElement("h1", { ref: titleRef, style: styles.title }, /* @__PURE__ */ import_react22.default.createElement(SplitText, { text: title })),
6037
- /* @__PURE__ */ import_react22.default.createElement("p", { style: styles.subtitle }, subtitle),
6038
- /* @__PURE__ */ import_react22.default.createElement("form", { ref: formRef, style: styles.form, onSubmit: handleSubmit }, /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Full Name"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiUser, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6039
- "input",
6040
- {
6041
- name: "name",
6042
- type: "text",
6043
- placeholder: "John Doe",
6044
- required: true,
6045
- value: formData.name,
6046
- onChange: handleChange,
6047
- style: styles.input,
6048
- onFocus: (e) => {
6049
- e.target.style.borderColor = accentColor;
6050
- e.target.style.boxShadow = `0 0 15px ${accentColor}11`;
6051
- e.target.previousSibling.style.color = accentColor;
6052
- },
6053
- onBlur: (e) => {
6054
- e.target.style.borderColor = borderCol;
6055
- e.target.style.boxShadow = "none";
6056
- e.target.previousSibling.style.color = textSecondary;
6057
- }
6058
- }
6059
- ))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Email Address"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiMail, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6060
- "input",
6061
- {
6062
- name: "email",
6063
- type: "email",
6064
- placeholder: "name@aura.com",
6065
- required: true,
6066
- value: formData.email,
6067
- onChange: handleChange,
6068
- style: styles.input,
6069
- onFocus: (e) => {
6070
- e.target.style.borderColor = accentColor;
6071
- e.target.style.boxShadow = `0 0 15px ${accentColor}11`;
6072
- e.target.previousSibling.style.color = accentColor;
6073
- },
6074
- onBlur: (e) => {
6075
- e.target.style.borderColor = borderCol;
6076
- e.target.style.boxShadow = "none";
6077
- e.target.previousSibling.style.color = textSecondary;
6078
- }
6079
- }
6080
- ))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Secret Passcode"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiLock, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6081
- "input",
6082
- {
6083
- name: "password",
6084
- type: "password",
6085
- placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
6086
- required: true,
6087
- value: formData.password,
6088
- onChange: handleChange,
6089
- style: styles.input,
6090
- onFocus: (e) => {
6091
- e.target.style.borderColor = accentColor;
6092
- e.target.style.boxShadow = `0 0 15px ${accentColor}11`;
6093
- e.target.previousSibling.style.color = accentColor;
6094
- },
6095
- onBlur: (e) => {
6096
- e.target.style.borderColor = borderCol;
6097
- e.target.style.boxShadow = "none";
6098
- e.target.previousSibling.style.color = textSecondary;
6099
- }
5996
+ name: "fullname",
5997
+ type: "text",
5998
+ placeholder: "John Doe",
5999
+ required: true,
6000
+ value: data.fullname || "",
6001
+ onChange: handleChange,
6002
+ style: styles.input,
6003
+ onFocus: (e) => {
6004
+ e.target.style.borderColor = accentColor;
6005
+ e.target.previousSibling.style.color = accentColor;
6006
+ },
6007
+ onBlur: (e) => {
6008
+ e.target.style.borderColor = borderCol;
6009
+ e.target.previousSibling.style.color = textSecondary;
6100
6010
  }
6101
- ))), /* @__PURE__ */ import_react22.default.createElement(
6102
- "button",
6103
- {
6104
- type: "submit",
6105
- style: styles.submitBtn,
6106
- onMouseEnter: (e) => {
6107
- import_gsap22.gsap.to(e.currentTarget, { y: -4, scale: 1.01, boxShadow: `0 25px 50px ${accentColor}44`, duration: 0.4 });
6108
- },
6109
- onMouseLeave: (e) => {
6110
- import_gsap22.gsap.to(e.currentTarget, { y: 0, scale: 1, boxShadow: `0 15px 30px ${accentColor}33`, duration: 0.4 });
6111
- },
6112
- onMouseMove: handleMagneticMove,
6113
- onMouseUp: handleMagneticLeave
6011
+ }
6012
+ ))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Email Address"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiMail, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6013
+ "input",
6014
+ {
6015
+ name: "email",
6016
+ type: "email",
6017
+ placeholder: "name@company.com",
6018
+ required: true,
6019
+ value: data.email || "",
6020
+ onChange: handleChange,
6021
+ style: styles.input,
6022
+ onFocus: (e) => {
6023
+ e.target.style.borderColor = accentColor;
6024
+ e.target.previousSibling.style.color = accentColor;
6114
6025
  },
6115
- "Create Account ",
6116
- /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiArrowRight, { fontSize: "18px" })
6117
- )),
6118
- /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.footerLinks }, "Already part of the network?", /* @__PURE__ */ import_react22.default.createElement(
6119
- "span",
6120
- {
6121
- style: styles.link,
6122
- onClick: onLogin,
6123
- onMouseEnter: (e) => e.currentTarget.style.opacity = 0.7,
6124
- onMouseLeave: (e) => e.currentTarget.style.opacity = 1
6026
+ onBlur: (e) => {
6027
+ e.target.style.borderColor = borderCol;
6028
+ e.target.previousSibling.style.color = textSecondary;
6029
+ }
6030
+ }
6031
+ ))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Contact Number"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiPhone, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6032
+ "input",
6033
+ {
6034
+ name: "contact",
6035
+ type: "tel",
6036
+ placeholder: "+1 (555) 000-0000",
6037
+ required: true,
6038
+ value: data.contact || "",
6039
+ onChange: handleChange,
6040
+ style: styles.input,
6041
+ onFocus: (e) => {
6042
+ e.target.style.borderColor = accentColor;
6043
+ e.target.previousSibling.style.color = accentColor;
6125
6044
  },
6126
- "Sign In"
6127
- )),
6128
- /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.divider }, /* @__PURE__ */ import_react22.default.createElement("span", { style: styles.dividerText }, "Sign Up With")),
6129
- /* @__PURE__ */ import_react22.default.createElement("div", { ref: socialRef, style: styles.socialArea }, /* @__PURE__ */ import_react22.default.createElement(
6130
- "button",
6131
- {
6132
- style: styles.socialBtn,
6133
- onMouseEnter: (e) => {
6134
- import_gsap22.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.06)", y: -2 });
6135
- e.currentTarget.style.borderColor = accentColor;
6136
- },
6137
- onMouseLeave: (e) => {
6138
- import_gsap22.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
6139
- e.currentTarget.style.borderColor = borderCol;
6140
- }
6045
+ onBlur: (e) => {
6046
+ e.target.style.borderColor = borderCol;
6047
+ e.target.previousSibling.style.color = textSecondary;
6048
+ }
6049
+ }
6050
+ ))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputGroup }, /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.inputLabel }, "Password"), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.inputWrapper }, /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiLock, { style: styles.inputIcon }), /* @__PURE__ */ import_react22.default.createElement(
6051
+ "input",
6052
+ {
6053
+ name: "password",
6054
+ type: showPassword ? "text" : "password",
6055
+ placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",
6056
+ required: true,
6057
+ value: data.password || "",
6058
+ onChange: handleChange,
6059
+ style: styles.input,
6060
+ onFocus: (e) => {
6061
+ e.target.style.borderColor = accentColor;
6062
+ e.target.previousSibling.style.color = accentColor;
6141
6063
  },
6142
- /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiGithub, null)
6143
- ), /* @__PURE__ */ import_react22.default.createElement(
6144
- "button",
6145
- {
6146
- style: styles.socialBtn,
6147
- onMouseEnter: (e) => {
6148
- import_gsap22.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.06)", y: -2 });
6149
- e.currentTarget.style.borderColor = accentColor;
6150
- },
6151
- onMouseLeave: (e) => {
6152
- import_gsap22.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
6153
- e.currentTarget.style.borderColor = borderCol;
6154
- }
6064
+ onBlur: (e) => {
6065
+ e.target.style.borderColor = borderCol;
6066
+ e.target.previousSibling.style.color = textSecondary;
6067
+ }
6068
+ }
6069
+ ), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.eyeIcon, onClick: () => setShowPassword(!showPassword) }, showPassword ? /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiEyeOff, null) : /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiEye, null)))), /* @__PURE__ */ import_react22.default.createElement("label", { style: styles.checkboxWrapper }, /* @__PURE__ */ import_react22.default.createElement(
6070
+ "input",
6071
+ {
6072
+ type: "checkbox",
6073
+ name: "isSeller",
6074
+ checked: data.isSeller || false,
6075
+ onChange: handleChange,
6076
+ style: styles.checkboxInput
6077
+ }
6078
+ ), /* @__PURE__ */ import_react22.default.createElement("span", { style: styles.checkboxLabel }, "Register me as a Seller account")), /* @__PURE__ */ import_react22.default.createElement(
6079
+ "button",
6080
+ {
6081
+ type: "submit",
6082
+ style: styles.submitBtn,
6083
+ onMouseEnter: (e) => import_gsap22.gsap.to(e.currentTarget, { scale: 1.02, duration: 0.4 }),
6084
+ onMouseLeave: (e) => import_gsap22.gsap.to(e.currentTarget, { scale: 1, duration: 0.4 }),
6085
+ onMouseMove: handleMagneticMove,
6086
+ onMouseUp: handleMagneticLeave
6087
+ },
6088
+ "Create Account ",
6089
+ /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiArrowRight, { fontSize: "18px" })
6090
+ )), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.footerLinks }, "Already have an account? ", /* @__PURE__ */ import_react22.default.createElement("span", { style: styles.link, onClick: onLogin }, "Sign In")), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.divider }, /* @__PURE__ */ import_react22.default.createElement("span", { style: styles.dividerText }, "Or Register With")), /* @__PURE__ */ import_react22.default.createElement("div", { ref: socialRef, style: styles.socialArea }, providersToUse.map((provider, i) => /* @__PURE__ */ import_react22.default.createElement(
6091
+ "button",
6092
+ {
6093
+ key: i,
6094
+ type: "button",
6095
+ onClick: provider.onClick,
6096
+ style: styles.socialBtn,
6097
+ onMouseEnter: (e) => {
6098
+ import_gsap22.gsap.to(e.currentTarget, { backgroundColor: isLight2 ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.06)", y: -2 });
6099
+ e.currentTarget.style.borderColor = accentColor;
6155
6100
  },
6156
- /* @__PURE__ */ import_react22.default.createElement(import_fi19.FiFacebook, null)
6157
- ))
6158
- ));
6101
+ onMouseLeave: (e) => {
6102
+ import_gsap22.gsap.to(e.currentTarget, { backgroundColor: inputBg, y: 0 });
6103
+ e.currentTarget.style.borderColor = borderCol;
6104
+ }
6105
+ },
6106
+ provider.icon,
6107
+ /* @__PURE__ */ import_react22.default.createElement("span", { style: { display: providersToUse.length > 2 ? "none" : "inline" } }, provider.name)
6108
+ ))))), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.imageSide }, /* @__PURE__ */ import_react22.default.createElement("img", { ref: imageRef, src: sideImage, alt: "Register Side Cover", style: styles.backgroundImage }), /* @__PURE__ */ import_react22.default.createElement("div", { style: styles.overlay })));
6159
6109
  };
6160
6110
 
6161
6111
  // src/components/Tooltip/Tooltip.jsx