import { useId, type SVGProps } from 'react';

export type EventIconProps = SVGProps<SVGSVGElement> & {
  /** Accessibility title for the icon, set aria-hidden="true" if the icon is purely decorative. */
  title?: string;
  /**
   * The size of the icon.
   * It sets the font-size, possible as the width and height is `1em`. If not set, the icon will inherit the font size of its parent.
   */
  size?: '2xl' | 'xl' | 'large' | 'medium' | 'small';
  /**
   * The color of the icon.
   * @default 'inherit'
   */
  color?: 'inherit' | 'primary' | 'gray' | 'black' | 'white';
};

export const EventIcon = ({ title, size, color, ...props }: EventIconProps) => {
  const titleId = useId();
  return (
    <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" focusable='false' role='img' width='1em' height='1em'  aria-labelledby={title ? titleId : undefined} data-size={size} data-color={color} {...props}>{title ? <title id={titleId}>{title}</title> : null}<path d="M18 10.385a3.75 3.75 0 1 0-7.5 0 3.75 3.75 0 0 0 7.5 0m-13.5-5a3.25 3.25 0 0 1 6.5 0H9.5a1.75 1.75 0 0 0-3.5 0c0 .966.784 1.75 1.75 1.75v1.5l-.026-.001c-.65.693-.627 1.78.056 2.45a3.252 3.252 0 0 1-.014 4.581l-1.06-1.06a1.752 1.752 0 0 0 0-2.475 3.257 3.257 0 0 1-.534-3.904A3.25 3.25 0 0 1 4.5 5.385m9.75 3.25a1.75 1.75 0 0 0-1.75 1.75H11a3.25 3.25 0 0 1 3.25-3.25zm5.25 1.75a5.252 5.252 0 0 1-3.94 5.085 5.259 5.259 0 0 1-.85 6.31l-1.062-1.06a3.755 3.755 0 0 0 .187-5.103 5.249 5.249 0 0 1 .415-10.482c2.9 0 5.25 2.35 5.25 5.25" /></svg>
  );
};