@umituz/web-design-system 3.1.5 → 3.1.7

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.5",
3
+ "version": "3.1.7",
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,23 +29,41 @@ export const Footer = forwardRef<HTMLElement, FooterProps>(
29
29
  return (
30
30
  <footer
31
31
  ref={ref}
32
- className={cn('relative mt-20 transition-theme', className)}
32
+ className={cn('relative mt-12 transition-theme overflow-hidden', className)}
33
33
  {...props}
34
34
  >
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>
35
+ <style>{`
36
+ @keyframes gradient-shift {
37
+ 0%, 100% { opacity: 0.3; transform: scale(1) translate(0, 0); }
38
+ 50% { opacity: 0.5; transform: scale(1.1) translate(-10px, -10px); }
39
+ }
40
+ .animate-gradient-shift {
41
+ animation: gradient-shift 8s ease-in-out infinite;
42
+ }
43
+ `}</style>
38
44
 
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">
45
+ {/* Animated Gradient Background */}
46
+ <div className="absolute inset-0 bg-gradient-to-br from-bg-card via-bg-secondary/20 to-bg-card"></div>
47
+ <div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-primary/8 via-transparent to-transparent animate-gradient-shift"></div>
48
+
49
+ {/* Gradient Top Border */}
50
+ <div className="absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-primary/50 to-transparent"></div>
51
+
52
+ <div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 sm:py-16">
53
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-10 lg:gap-12">
41
54
  {/* Brand Section - Prominent */}
42
55
  {brand && (
43
- <div className="lg:col-span-1">
44
- <h3 className="text-2xl font-bold text-text-primary mb-4 tracking-tight">{brand.name}</h3>
45
- {brand.description && (
46
- <p className="text-text-secondary text-base leading-relaxed mb-6">{brand.description}</p>
47
- )}
48
- {/* Social Icons in Brand Section */}
56
+ <div className="lg:col-span-1 space-y-6">
57
+ <div className="space-y-2">
58
+ <h3 className="text-2xl font-bold text-text-primary tracking-tight">
59
+ {brand.name}
60
+ </h3>
61
+ {brand.description && (
62
+ <p className="text-text-secondary text-sm leading-relaxed">{brand.description}</p>
63
+ )}
64
+ </div>
65
+
66
+ {/* Social Icons */}
49
67
  {social && social.length > 0 && (
50
68
  <div className="flex items-center gap-3">
51
69
  {social.map((item, index) => (
@@ -54,11 +72,14 @@ export const Footer = forwardRef<HTMLElement, FooterProps>(
54
72
  href={item.href}
55
73
  target="_blank"
56
74
  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"
75
+ className="group relative flex items-center justify-center w-12 h-12 rounded-xl bg-bg-secondary/50 text-text-secondary hover:bg-primary-gradient hover:text-white border border-border/50 hover:border-transparent transition-all duration-300 hover:scale-110 hover:shadow-lg hover:shadow-primary/20"
58
76
  aria-label={item.name}
59
77
  title={item.name}
60
78
  >
61
- {item.icon}
79
+ {/* Glow effect */}
80
+ <span className="absolute inset-0 rounded-xl bg-primary/15 blur-lg opacity-0 group-hover:opacity-100 transition-opacity duration-300"></span>
81
+ {/* Icon */}
82
+ <span className="relative">{item.icon}</span>
62
83
  </a>
63
84
  ))}
64
85
  </div>
@@ -68,19 +89,19 @@ export const Footer = forwardRef<HTMLElement, FooterProps>(
68
89
 
69
90
  {/* Links Sections */}
70
91
  <div className="md:col-span-1 lg:col-span-2">
71
- <div className="grid grid-cols-2 sm:grid-cols-3 gap-8">
92
+ <div className="grid grid-cols-2 sm:grid-cols-3 gap-10">
72
93
  {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">
94
+ <div key={index} className="space-y-3">
95
+ <h4 className="font-semibold text-text-primary text-sm uppercase tracking-wider">{section.title}</h4>
96
+ <ul className="space-y-2">
76
97
  {section.links.map((link, linkIndex) => (
77
98
  <li key={linkIndex}>
78
99
  <a
79
100
  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"
101
+ className="text-text-secondary text-sm hover:text-primary-light transition-colors duration-200 inline-flex items-center gap-2 group"
81
102
  >
82
- <span className="group-hover:translate-x-1 transition-transform duration-200">→</span>
83
- {link.label}
103
+ <span className="opacity-0 group-hover:opacity-100 transition-opacity duration-200 text-primary-light text-xs">→</span>
104
+ <span>{link.label}</span>
84
105
  </a>
85
106
  </li>
86
107
  ))}
@@ -93,11 +114,9 @@ export const Footer = forwardRef<HTMLElement, FooterProps>(
93
114
 
94
115
  {/* Copyright Bar */}
95
116
  {copyright && (
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>
117
+ <div className="border-t border-border/30 mt-12 pt-6">
118
+ <div className="flex flex-col sm:flex-row items-center justify-center gap-4 text-center">
119
+ <p className="text-sm text-text-secondary/80">{copyright}</p>
101
120
  </div>
102
121
  </div>
103
122
  )}