badmanners.xyz/src/components/icons/SVGIcon.astro

25 lines
503 B
Text

---
type Props = {
width: string;
height: string;
viewBox: string;
class?: string;
fill?: string;
children: any;
"aria-label"?: string;
};
const { width, height, class: className, fill = "currentColor", viewBox, "aria-label": ariaLabel } = Astro.props;
---
<svg
style={{ width, height, fill }}
class={className}
viewBox={viewBox}
aria-hidden={ariaLabel ? undefined : "true"}
role={ariaLabel ? "img" : undefined}
aria-label={ariaLabel}
focusable="false"
>
<slot />
</svg>