feat: Add animation components and global styles for improved UX
This commit is contained in:
11
src/components/animations/index.js
Normal file
11
src/components/animations/index.js
Normal file
@@ -0,0 +1,11 @@
|
||||
// Animation Components
|
||||
export { default as PageTransition } from './PageTransition'
|
||||
export { default as LoadingScreen } from './LoadingScreen'
|
||||
export { default as SkeletonLoader } from './SkeletonLoader'
|
||||
export { default as SmoothButton } from './SmoothButton'
|
||||
export { default as SmoothCard } from './SmoothCard'
|
||||
export { default as AnimatedList } from './AnimatedList'
|
||||
export { default as StaggeredList } from './StaggeredList'
|
||||
|
||||
// Animation Styles
|
||||
import './PageTransition.css'
|
||||
@@ -1,3 +1,51 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
/* Global animations for smooth interactions */
|
||||
@keyframes spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* Smooth scrolling for better UX */
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
html {
|
||||
scroll-behavior: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/* Global focus styles for better accessibility */
|
||||
*:focus-visible {
|
||||
outline: 2px solid #0ea5e9;
|
||||
outline-offset: 2px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Improve button and interactive element performance */
|
||||
button, a, [role="button"] {
|
||||
transform: translateZ(0);
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
/* Ensure smooth transitions for dynamic content */
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Optimize animations for performance */
|
||||
.animate-optimized {
|
||||
will-change: transform, opacity;
|
||||
}
|
||||
|
||||
.animate-optimized.animation-complete {
|
||||
will-change: auto;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user