@umituz/web-design-system 3.1.3 → 3.1.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/web-design-system",
3
- "version": "3.1.3",
3
+ "version": "3.1.5",
4
4
  "private": false,
5
5
  "description": "Web Design System - Atomic Design components (Atoms, Molecules, Organisms, Templates) for React applications",
6
6
  "main": "./src/index.ts",
@@ -29,65 +29,76 @@ export const Footer = forwardRef<HTMLElement, FooterProps>(
29
29
  return (
30
30
  <footer
31
31
  ref={ref}
32
- className={cn('bg-bg-primary border-t border-border mt-20 transition-theme', className)}
32
+ className={cn('relative mt-20 transition-theme', className)}
33
33
  {...props}
34
34
  >
35
- <div className="max-w-7xl mx-auto px-4 py-12">
36
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
37
- {/* Brand */}
35
+ {/* Gradient Background */}
36
+ <div className="absolute inset-0 bg-gradient-to-br from-bg-card via-bg-card to-bg-secondary opacity-50"></div>
37
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-primary/5 via-transparent to-transparent"></div>
38
+
39
+ <div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 sm:py-20">
40
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-12 lg:gap-16">
41
+ {/* Brand Section - Prominent */}
38
42
  {brand && (
39
- <div>
40
- <h3 className="text-xl font-bold text-text-primary mb-3">{brand.name}</h3>
43
+ <div className="lg:col-span-1">
44
+ <h3 className="text-2xl font-bold text-text-primary mb-4 tracking-tight">{brand.name}</h3>
41
45
  {brand.description && (
42
- <p className="text-text-secondary text-sm">{brand.description}</p>
46
+ <p className="text-text-secondary text-base leading-relaxed mb-6">{brand.description}</p>
43
47
  )}
44
- </div>
45
- )}
46
-
47
- {/* Sections */}
48
- {sections?.map((section, index) => (
49
- <div key={index}>
50
- <h4 className="font-semibold text-text-primary mb-3">{section.title}</h4>
51
- <ul className="space-y-2 text-sm">
52
- {section.links.map((link, linkIndex) => (
53
- <li key={linkIndex}>
48
+ {/* Social Icons in Brand Section */}
49
+ {social && social.length > 0 && (
50
+ <div className="flex items-center gap-3">
51
+ {social.map((item, index) => (
54
52
  <a
55
- href={link.href}
56
- className="text-text-secondary hover:text-primary-light transition-colors"
53
+ key={index}
54
+ href={item.href}
55
+ target="_blank"
56
+ rel="noopener noreferrer"
57
+ className="flex items-center justify-center w-12 h-12 rounded-xl bg-bg-secondary text-text-secondary hover:bg-primary-gradient hover:text-text-primary border border-border hover:border-transparent transition-all duration-300 hover:scale-110 hover:shadow-xl hover:shadow-primary/20"
58
+ aria-label={item.name}
59
+ title={item.name}
57
60
  >
58
- {link.label}
61
+ {item.icon}
59
62
  </a>
60
- </li>
61
- ))}
62
- </ul>
63
+ ))}
64
+ </div>
65
+ )}
63
66
  </div>
64
- ))}
67
+ )}
65
68
 
66
- {/* Social */}
67
- {social && (
68
- <div>
69
- <h4 className="font-semibold text-text-primary mb-3">Connect</h4>
70
- <div className="flex flex-col sm:flex-row gap-3 sm:gap-4">
71
- {social.map((item, index) => (
72
- <a
73
- key={index}
74
- href={item.href}
75
- target="_blank"
76
- rel="noopener noreferrer"
77
- className="text-text-secondary hover:text-primary-light transition-colors"
78
- >
79
- {item.icon}
80
- </a>
81
- ))}
82
- </div>
69
+ {/* Links Sections */}
70
+ <div className="md:col-span-1 lg:col-span-2">
71
+ <div className="grid grid-cols-2 sm:grid-cols-3 gap-8">
72
+ {sections?.map((section, index) => (
73
+ <div key={index}>
74
+ <h4 className="font-semibold text-text-primary mb-4 text-sm uppercase tracking-wider">{section.title}</h4>
75
+ <ul className="space-y-3">
76
+ {section.links.map((link, linkIndex) => (
77
+ <li key={linkIndex}>
78
+ <a
79
+ href={link.href}
80
+ className="text-text-secondary text-base hover:text-primary-light transition-colors duration-200 inline-flex items-center gap-2 group"
81
+ >
82
+ <span className="group-hover:translate-x-1 transition-transform duration-200">→</span>
83
+ {link.label}
84
+ </a>
85
+ </li>
86
+ ))}
87
+ </ul>
88
+ </div>
89
+ ))}
83
90
  </div>
84
- )}
91
+ </div>
85
92
  </div>
86
93
 
87
- {/* Copyright */}
94
+ {/* Copyright Bar */}
88
95
  {copyright && (
89
- <div className="border-t border-border mt-8 pt-8 text-center text-sm text-text-secondary">
90
- <p>{copyright}</p>
96
+ <div className="border-t border-border/50 mt-12 pt-8 flex flex-col sm:flex-row items-center justify-between gap-4">
97
+ <p className="text-sm text-text-secondary">{copyright}</p>
98
+ <div className="flex items-center gap-6 text-sm text-text-secondary">
99
+ <a href="#" className="hover:text-primary-light transition-colors">Privacy</a>
100
+ <a href="#" className="hover:text-primary-light transition-colors">Terms</a>
101
+ </div>
91
102
  </div>
92
103
  )}
93
104
  </div>
@@ -87,9 +87,10 @@ export const MainNavbar = ({
87
87
  <nav className={`bg-bg-primary sticky top-0 z-50 border-b border-border transition-theme ${className || ''}`}>
88
88
  <div className="max-w-7xl mx-auto px-4">
89
89
  <div className="flex justify-between h-16 items-center">
90
- {/* Logo */}
91
- <Link to="/" className="flex items-center gap-2">
92
- {logo || <span className="text-xl font-bold text-text-primary">{appName}</span>}
90
+ {/* Logo + App Name */}
91
+ <Link to="/" className="flex items-center gap-2 sm:gap-3">
92
+ {logo}
93
+ <span className="text-xl font-bold text-text-primary">{appName}</span>
93
94
  </Link>
94
95
 
95
96
  {/* Desktop Menu */}