import { Icon } from '@iconify/react'; import type { CSSProperties } from 'react'; interface Props { readonly className?: string; /** Iconify icon name */ readonly icon?: string; /** Local svg icon name */ readonly localIcon?: string; readonly style?: CSSProperties; } const defaultLocalIcon = 'no-icon'; const { VITE_ICON_LOCAL_PREFIX: prefix } = import.meta.env; const symbolId = (localIcon: string = defaultLocalIcon) => { const iconName = localIcon || defaultLocalIcon; return `#${prefix}-${iconName}`; }; /** * Props * * - Support iconify and local svg icon * - If icon and localIcon are passed at the same time, localIcon will be rendered first */ const SvgIcon = ({ icon, localIcon, ...props }: Props) => { /** If localIcon is passed, render localIcon first */ return localIcon || !icon ? ( ) : ( ); }; export default SvgIcon;