import type { CSSProperties } from "../CSSProperties"; export type AnimationLonghands = Required< Pick< CSSProperties, | "animationName" | "animationDuration" | "animationTimingFunction" | "animationDelay" | "animationIterationCount" | "animationDirection" | "animationFillMode" | "animationPlayState" > >; export function animation( name: NonNullable, duration: NonNullable, timingFunction: NonNullable< CSSProperties["animationTimingFunction"] > = "ease", delay: NonNullable = "0s", iterationCount: NonNullable< CSSProperties["animationIterationCount"] > = "infinite", direction: NonNullable = "normal", fillMode: NonNullable = "none", playState: NonNullable = "running", ): AnimationLonghands { return { animationName: name, animationDuration: duration, animationTimingFunction: timingFunction, animationDelay: delay, animationIterationCount: iterationCount, animationDirection: direction, animationFillMode: fillMode, animationPlayState: playState, }; }