Files
web/packages/design-system/lib/components/SkeletonShimmer/index.tsx
Rasmus Langvad d0546926a9 Merged in fix/3697-prettier-configs (pull request #3396)
fix(SW-3691): Setup one prettier config for whole repo

* Setup prettierrc in root and remove other configs


Approved-by: Joakim Jäderberg
Approved-by: Linus Flood
2026-01-07 12:45:50 +00:00

50 lines
1.0 KiB
TypeScript

import { cva, cx } from "class-variance-authority"
import styles from "./skeleton.module.css"
const variants = cva(styles.shimmer, {
variants: {
contrast: {
light: styles.light,
dark: styles.dark,
},
display: {
block: styles.block,
"inline-block": styles.inlineBlock,
},
},
defaultVariants: {
contrast: "light",
display: "inline-block",
},
})
export default function SkeletonShimmer({
className,
height,
width,
contrast = "light",
display = "inline-block",
}: {
className?: string
height?: string
width?: string
contrast?: "light" | "dark"
display?: "block" | "inline-block"
}) {
return (
<span
className={cx(className, variants({ contrast, display }))}
style={{
height: height,
width: width,
maxWidth: "100%",
}}
>
{/* zero width space, allows for font styles to affect height */}
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
<span aria-hidden="true">&#8203;</span>
</span>
)
}