import React, { AriaRole, forwardRef } from "react"; import classNames from "classnames"; import { SubIcon, VibeComponent, VibeComponentProps } from "../../../types"; export interface FontIconProps extends VibeComponentProps { onClick?: (event: React.MouseEvent) => void; "aria-label"?: string; tabIndex?: number; icon?: SubIcon; role?: AriaRole; "aria-hidden"?: boolean; } const FontIcon: VibeComponent = forwardRef( ( { id, className, onClick, "aria-label": iconLabel, tabIndex, icon: Icon, role = "img", "aria-hidden": ariaHidden, "data-testid": dataTestId }, iconRef ) => { const isIconFunction = typeof Icon === "function"; const iconClassName = isIconFunction ? "" : Icon; return ( // eslint-disable-next-line jsx-a11y/click-events-have-key-events {isIconFunction && } ); } ); export default FontIcon;