import { styled, keyframes } from "../../lib/styles/stitches.config"; import type { ComponentProps } from "react"; // warning: super duper hacky CSS, probably don't use this. // inspired by https://codepen.io/Knovour/pen/boJNPN const Wrapper = styled("div", { position: "relative", overflowX: "hidden", width: "100%", height: "2em", }); const Track = styled("div", { position: "absolute", width: "100%", height: "100%", whiteSpace: "nowrap", textAlign: "left", "@media (prefers-reduced-motion: no-preference)": { animation: `${keyframes({ from: { transform: "translateX(100%)" }, to: { transform: "translateX(-100%)" }, })} 16s linear infinite`, willChange: "transform", "@medium": { animation: `${keyframes({ from: { transform: "translateX(100%)" }, to: { transform: "translateX(-180%)" }, })} 20s linear infinite`, }, }, }); export type MarqueeProps = ComponentProps; const Marquee = ({ children, ...rest }: MarqueeProps) => ( {children} ); export default Marquee;