import { iconVariants } from "./variants"

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

export default function YardIcon({ className, color, ...props }: IconProps) {
  const classNames = iconVariants({ className, color })
  return (
    <svg
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      className={classNames}
      {...props}
    >
      <mask
        style={{ maskType: "alpha" }}
        id="mask0_4039_3234"
        maskUnits="userSpaceOnUse"
        x="0"
        y="0"
        width="24"
        height="24"
      >
        <rect width="24" height="24" fill="#D9D9D9" />
      </mask>
      <g mask="url(#mask0_4039_3234)">
        <path
          d="M12 19C12 17.3333 11.4167 15.9167 10.25 14.75C9.08333 13.5833 7.66667 13 6 13C6 14.6667 6.58333 16.0833 7.75 17.25C8.91667 18.4167 10.3333 19 12 19ZM12 13.95C12.4333 13.95 12.8 13.8 13.1 13.5C13.4 13.2 13.55 12.8333 13.55 12.4V12.25C13.6833 12.35 13.8208 12.425 13.9625 12.475C14.1042 12.525 14.2667 12.55 14.45 12.55C14.8833 12.55 15.25 12.4 15.55 12.1C15.85 11.8 16 11.4333 16 11C16 10.6667 15.9208 10.375 15.7625 10.125C15.6042 9.875 15.3833 9.7 15.1 9.6C15.3833 9.5 15.6042 9.325 15.7625 9.075C15.9208 8.825 16 8.53333 16 8.2C16 7.76667 15.85 7.4 15.55 7.1C15.25 6.8 14.8833 6.65 14.45 6.65C14.2667 6.65 14.1042 6.675 13.9625 6.725C13.8208 6.775 13.6833 6.85 13.55 6.95V6.8C13.55 6.36667 13.4 6 13.1 5.7C12.8 5.4 12.4333 5.25 12 5.25C11.5667 5.25 11.2 5.4 10.9 5.7C10.6 6 10.45 6.36667 10.45 6.8V6.95C10.3167 6.85 10.1792 6.775 10.0375 6.725C9.89583 6.675 9.73333 6.65 9.55 6.65C9.11667 6.65 8.75 6.8 8.45 7.1C8.15 7.4 8 7.76667 8 8.2C8 8.53333 8.07917 8.825 8.2375 9.075C8.39583 9.325 8.61667 9.5 8.9 9.6C8.61667 9.7 8.39583 9.875 8.2375 10.125C8.07917 10.375 8 10.6667 8 11C8 11.4333 8.15 11.8 8.45 12.1C8.75 12.4 9.11667 12.55 9.55 12.55C9.73333 12.55 9.89583 12.525 10.0375 12.475C10.1792 12.425 10.3167 12.35 10.45 12.25V12.4C10.45 12.8333 10.6 13.2 10.9 13.5C11.2 13.8 11.5667 13.95 12 13.95ZM12 11.15C11.5667 11.15 11.2 11.0042 10.9 10.7125C10.6 10.4208 10.45 10.05 10.45 9.6C10.45 9.16667 10.6 8.8 10.9 8.5C11.2 8.2 11.5667 8.05 12 8.05C12.4333 8.05 12.8 8.2 13.1 8.5C13.4 8.8 13.55 9.16667 13.55 9.6C13.55 10.05 13.4 10.4208 13.1 10.7125C12.8 11.0042 12.4333 11.15 12 11.15ZM12 19C13.6667 19 15.0833 18.4167 16.25 17.25C17.4167 16.0833 18 14.6667 18 13C16.3333 13 14.9167 13.5833 13.75 14.75C12.5833 15.9167 12 17.3333 12 19ZM4 22C3.45 22 2.97917 21.8042 2.5875 21.4125C2.19583 21.0208 2 20.55 2 20V4C2 3.45 2.19583 2.97917 2.5875 2.5875C2.97917 2.19583 3.45 2 4 2H20C20.55 2 21.0208 2.19583 21.4125 2.5875C21.8042 2.97917 22 3.45 22 4V20C22 20.55 21.8042 21.0208 21.4125 21.4125C21.0208 21.8042 20.55 22 20 22H4ZM4 20H20V4H4V20Z"
          fill="#1C1B1F"
        />
      </g>
    </svg>
  )
}
