feat: optimize Material Symbols

This commit is contained in:
Michael Zetterberg
2025-04-06 05:41:34 +02:00
parent 1239f0c662
commit f31b374370
13 changed files with 343 additions and 22 deletions

View File

@@ -8,29 +8,17 @@ import { iconVariants } from '../variants'
import type { VariantProps } from 'class-variance-authority'
export interface MaterialIconProps
extends Omit<MaterialSymbolProps, 'color' | 'fill'>,
extends Pick<MaterialSymbolProps, 'size' | 'icon' | 'className' | 'style'>,
VariantProps<typeof iconVariants> {
isFilled?: boolean
}
export type MaterialIconSetIconProps = Omit<MaterialIconProps, 'icon'>
export function MaterialIcon({
icon,
color,
size = 24,
isFilled = false,
className,
isFilled = false,
...props
}: MaterialIconProps) {
const classNames = iconVariants({ className, color })
return (
<MaterialSymbol
icon={icon}
size={size}
className={classNames}
fill={isFilled}
{...props}
/>
)
return <MaterialSymbol className={classNames} {...props} fill={isFilled} />
}