Files
web/packages/design-system/lib/components/Icons/MaterialIcon/MaterialIcon.tsx
Matilda Landström 5de2a993a7 Merged in feat/SW-1711-switch-icons (pull request #1558)
Switches out all the old icons to new ones, and moves them to the design system. The new icons are of three different types: Materialise Symbol, Nucleo, and Customized. Also adds further mapping between facilities/amenities and icons.

Approved-by: Michael Zetterberg
Approved-by: Erik Tiekstra
2025-03-27 09:42:52 +00:00

37 lines
753 B
TypeScript

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