import { iconVariants } from "./variants"

import { IconProps } from "@/types/components/icon"

export default function CalendarIcon({
  className,
  color,
  ...props
}: IconProps) {
  const classNames = iconVariants({ className, color })
  return (
    <svg
      className={classNames}
      fill="none"
      height="20"
      viewBox="0 0 20 20"
      width="20"
      xmlns="http://www.w3.org/2000/svg"
      {...props}
    >
      <mask
        height="20"
        id="mask0_1572_4288"
        maskUnits="userSpaceOnUse"
        style={{ maskType: "alpha" }}
        width="20"
        x="0"
        y="0"
      >
        <rect width="20" height="20" fill="#D9D9D9" />
      </mask>
      <g mask="url(#mask0_1572_4288)">
        <path
          d="M4.5 18C4.0875 18 3.73437 17.8507 3.44062 17.5521C3.14687 17.2535 3 16.9028 3 16.5V5.5C3 5.09722 3.14687 4.74653 3.44062 4.44792C3.73437 4.14931 4.0875 4 4.5 4H6V2.75C6 2.5375 6.07145 2.35937 6.21435 2.21562C6.35727 2.07187 6.53435 2 6.7456 2C6.95687 2 7.13542 2.07187 7.28125 2.21562C7.42708 2.35937 7.5 2.5375 7.5 2.75V4H12.5V2.75C12.5 2.5375 12.5715 2.35937 12.7144 2.21562C12.8573 2.07187 13.0344 2 13.2456 2C13.4569 2 13.6354 2.07187 13.7812 2.21562C13.9271 2.35937 14 2.5375 14 2.75V4H15.5C15.9125 4 16.2656 4.14931 16.5594 4.44792C16.8531 4.74653 17 5.09722 17 5.5V16.5C17 16.9028 16.8531 17.2535 16.5594 17.5521C16.2656 17.8507 15.9125 18 15.5 18H4.5ZM4.5 16.5H15.5V9H4.5V16.5ZM4.5 7.5H15.5V5.5H4.5V7.5ZM10.0044 12C9.79313 12 9.61458 11.9285 9.46875 11.7856C9.32292 11.6427 9.25 11.4656 9.25 11.2544C9.25 11.0431 9.32145 10.8646 9.46435 10.7188C9.60727 10.5729 9.78435 10.5 9.9956 10.5C10.2069 10.5 10.3854 10.5715 10.5312 10.7144C10.6771 10.8573 10.75 11.0344 10.75 11.2456C10.75 11.4569 10.6785 11.6354 10.5356 11.7812C10.3927 11.9271 10.2156 12 10.0044 12ZM6.7544 12C6.54313 12 6.36458 11.9285 6.21875 11.7856C6.07292 11.6427 6 11.4656 6 11.2544C6 11.0431 6.07145 10.8646 6.21435 10.7188C6.35727 10.5729 6.53435 10.5 6.7456 10.5C6.95687 10.5 7.13542 10.5715 7.28125 10.7144C7.42708 10.8573 7.5 11.0344 7.5 11.2456C7.5 11.4569 7.42855 11.6354 7.28565 11.7812C7.14273 11.9271 6.96565 12 6.7544 12ZM13.2544 12C13.0431 12 12.8646 11.9285 12.7188 11.7856C12.5729 11.6427 12.5 11.4656 12.5 11.2544C12.5 11.0431 12.5715 10.8646 12.7144 10.7188C12.8573 10.5729 13.0344 10.5 13.2456 10.5C13.4569 10.5 13.6354 10.5715 13.7812 10.7144C13.9271 10.8573 14 11.0344 14 11.2456C14 11.4569 13.9285 11.6354 13.7856 11.7812C13.6427 11.9271 13.4656 12 13.2544 12ZM10.0044 15C9.79313 15 9.61458 14.9285 9.46875 14.7856C9.32292 14.6427 9.25 14.4656 9.25 14.2544C9.25 14.0431 9.32145 13.8646 9.46435 13.7188C9.60727 13.5729 9.78435 13.5 9.9956 13.5C10.2069 13.5 10.3854 13.5715 10.5312 13.7144C10.6771 13.8573 10.75 14.0344 10.75 14.2456C10.75 14.4569 10.6785 14.6354 10.5356 14.7812C10.3927 14.9271 10.2156 15 10.0044 15ZM6.7544 15C6.54313 15 6.36458 14.9285 6.21875 14.7856C6.07292 14.6427 6 14.4656 6 14.2544C6 14.0431 6.07145 13.8646 6.21435 13.7188C6.35727 13.5729 6.53435 13.5 6.7456 13.5C6.95687 13.5 7.13542 13.5715 7.28125 13.7144C7.42708 13.8573 7.5 14.0344 7.5 14.2456C7.5 14.4569 7.42855 14.6354 7.28565 14.7812C7.14273 14.9271 6.96565 15 6.7544 15ZM13.2544 15C13.0431 15 12.8646 14.9285 12.7188 14.7856C12.5729 14.6427 12.5 14.4656 12.5 14.2544C12.5 14.0431 12.5715 13.8646 12.7144 13.7188C12.8573 13.5729 13.0344 13.5 13.2456 13.5C13.4569 13.5 13.6354 13.5715 13.7812 13.7144C13.9271 13.8573 14 14.0344 14 14.2456C14 14.4569 13.9285 14.6354 13.7856 14.7812C13.6427 14.9271 13.4656 15 13.2544 15Z"
          fill="#1C1B1F"
        />
      </g>
    </svg>
  )
}
