import { keyframes } from "@vanilla-extract/css" /** * Animation keyframes * Used throughout the component library for consistent motion */ export const fadeIn = keyframes({ from: { opacity: 0 }, to: { opacity: 1 }, }) export const fadeOut = keyframes({ from: { opacity: 1 }, to: { opacity: 0 }, }) export const slideInFromRight = keyframes({ from: { transform: "translateX(100%)", opacity: 0, }, to: { transform: "translateX(0)", opacity: 1, }, }) export const slideInFromLeft = keyframes({ from: { transform: "translateX(-100%)", opacity: 0, }, to: { transform: "translateX(0)", opacity: 1, }, }) export const slideInFromTop = keyframes({ from: { transform: "translateY(-100%)", opacity: 0, }, to: { transform: "translateY(0)", opacity: 1, }, }) export const slideInFromBottom = keyframes({ from: { transform: "translateY(100%)", opacity: 0, }, to: { transform: "translateY(0)", opacity: 1, }, }) export const spin = keyframes({ from: { transform: "rotate(0deg)" }, to: { transform: "rotate(360deg)" }, }) export const pulse = keyframes({ "0%, 100%": { opacity: 1, }, "50%": { opacity: 0.5, }, }) export const bounce = keyframes({ "0%, 100%": { transform: "translateY(-25%)", animationTimingFunction: "cubic-bezier(0.8, 0, 1, 1)", }, "50%": { transform: "translateY(0)", animationTimingFunction: "cubic-bezier(0, 0, 0.2, 1)", }, }) export const scaleIn = keyframes({ from: { transform: "scale(0.95)", opacity: 0, }, to: { transform: "scale(1)", opacity: 1, }, }) export const scaleOut = keyframes({ from: { transform: "scale(1)", opacity: 1, }, to: { transform: "scale(0.95)", opacity: 0, }, }) export const shimmer = keyframes({ "0%": { backgroundPosition: "-1000px 0", }, "100%": { backgroundPosition: "1000px 0", }, })