---
// Propsの定義
interface Props {
	size?: string | number;
	fill?: string;
	viewBox?: string;
	path?: string;
	__html?: string;
	[key: string]: any;
}
let { size = '1em', fill = 'currentColor', viewBox = '0 0 24 24', path, __html, ...props } = Astro.props || {};
---

{
	__html ? (
		<svg xmlns='http://www.w3.org/2000/svg' viewBox={viewBox} width={size} height={size} fill={fill} focusable='false' {...props}>
			<Fragment set:html={__html} />
		</svg>
	) : (
		<svg xmlns='http://www.w3.org/2000/svg' viewBox={viewBox} width={size} height={size} fill={fill} focusable='false' {...props}>
			{path && <path d={path} />}
			<slot />
		</svg>
	)
}
