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
37 lines
753 B
TypeScript
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}
|
|
/>
|
|
)
|
|
}
|