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

export type CalendarIconProps = 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 CalendarIcon = ({ title, size, color, ...props }: CalendarIconProps) => {
  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 fillRule="evenodd" d="M7.498 4.512V3.016h1.5v1.496h5.984V3.016h1.5v1.496h4.509v13.232a3.247 3.247 0 0 1-3.247 3.247H6.261a3.247 3.247 0 0 1-3.246-3.247V4.512zm0 1.5H4.515v3.243H19.49V6.012h-3.009V7.51h-1.5V6.012H8.998V7.51h-1.5zm11.993 4.743H4.515v6.99c0 .963.782 1.745 1.746 1.745h11.483c.964 0 1.747-.782 1.747-1.746zM6.01 12.251h2.248V14.5H6.01zm3.494 0h2.25V14.5h-2.25zm3.495 0h2.249V14.5H13v-2.249Zm-6.99 3.495h2.25v2.249H6.01v-2.249Zm3.495 0h2.25v2.249h-2.25z" clipRule="evenodd" /></svg>
  );
};