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;