'use client';

import React from 'react';

type IconFontProps = {
  /** 图标名称，对应 iconfont 中的图标 ID */
  type: string;
  /** 图标大小，如果不传则继承父元素的 font-size */
  size?: number;
  /** 图标颜色，默认 currentColor（继承父元素颜色） */
  color?: string;
  /** 额外的 className */
  className?: string;
} & React.HTMLAttributes<SVGSVGElement>;

const IconFont = ({
  type,
  size,
  color = 'currentColor',
  className = '',
  ...props
}: IconFontProps) => {
  return (
    <svg
      className={`iconfont-v2 ${className}`}
      style={size ? { fontSize: size, color } : { color }}
      aria-hidden="true"
      width={size}
      height={size}
      {...props}
    >
      <use xlinkHref={`#${type}`}></use>
    </svg>
  );
};
export default IconFont;
