Files
website/node_modules/@astrojs/starlight/user-components/Icon.astro
2024-05-06 17:15:30 -04:00

34 lines
661 B
Plaintext

---
import { Icons } from '../components/Icons';
interface Props {
name: keyof typeof Icons;
label?: string;
color?: string;
size?: string;
class?: string;
}
const { name, label, size = '1em', color } = Astro.props;
const a11yAttrs = label ? ({ 'aria-label': label } as const) : ({ 'aria-hidden': 'true' } as const);
---
<svg
{...a11yAttrs}
class={Astro.props.class}
width="16"
height="16"
viewBox="0 0 24 24"
fill="currentColor"
set:html={Icons[name]}
/>
<style define:vars={{ 'sl-icon-color': color, 'sl-icon-size': size }}>
svg {
color: var(--sl-icon-color);
font-size: var(--sl-icon-size, 1em);
width: 1em;
height: 1em;
}
</style>