import * as React from "react";
import type { IconProps, IconMetadata, IconComponent } from "../../types";

export const Electron: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Electron(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      className={className}
      strokeWidth={strokeWidth}
      strokeLinecap={strokeLinecap}
      strokeLinejoin={strokeLinejoin}
      strokeDasharray={strokeDasharray}
      opacity={opacity}
      {...props}
      ref={forwardedRef}
    >
      <g clipPath="url(#undefined-clip0_2066_912)">
        <path
          d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z"
          fill="#2f3242"
        />
        <path
          d="M9.63645 7.40678C9.68006 7.41474 9.72481 7.41402 9.76814 7.40468C9.81147 7.39534 9.85254 7.37756 9.889 7.35235C9.92545 7.32714 9.95659 7.29499 9.98063 7.25775C10.0047 7.2205 10.0211 7.17889 10.0291 7.13528C10.037 7.09168 10.0363 7.04693 10.027 7.0036C10.0176 6.96027 9.99985 6.9192 9.97464 6.88274C9.94943 6.84628 9.91729 6.81515 9.88004 6.79111C9.8428 6.76708 9.80119 6.75061 9.75758 6.74266L9.63645 7.40678ZM5.42595 11.4253C5.47041 11.503 5.54391 11.5598 5.63029 11.5833C5.71667 11.6069 5.80885 11.5951 5.88655 11.5506C5.96425 11.5062 6.0211 11.4327 6.04461 11.3463C6.06812 11.2599 6.05635 11.1677 6.01189 11.09L5.42595 11.4253ZM7.06752 12.5147C7.0073 12.4484 6.92322 12.4088 6.83378 12.4045C6.74434 12.4002 6.65687 12.4317 6.59061 12.4919C6.52435 12.5521 6.48472 12.6362 6.48045 12.7256C6.47618 12.815 6.50761 12.9025 6.56783 12.9688L7.06733 12.5148L7.06752 12.5147ZM18.1726 16.784C18.2094 16.7592 18.241 16.7272 18.2655 16.6901C18.29 16.653 18.3069 16.6114 18.3152 16.5677C18.3236 16.524 18.3232 16.4791 18.3142 16.4356C18.3051 16.392 18.2876 16.3507 18.2625 16.314C18.2374 16.2773 18.2053 16.2458 18.1681 16.2216C18.1308 16.1973 18.0891 16.1806 18.0454 16.1725C18.0017 16.1643 17.9568 16.165 17.9133 16.1742C17.8698 16.1835 17.8285 16.2013 17.792 16.2266L18.1726 16.784ZM9.75758 6.74266C8.7132 6.55216 7.74064 6.54316 6.93233 6.73834C6.12233 6.93391 5.45295 7.34209 5.0727 8.00172L5.65752 8.33884C5.91889 7.88509 6.40189 7.56072 7.09077 7.39441C7.78114 7.22753 8.65395 7.22753 9.63645 7.40678L9.75758 6.74266ZM5.0727 8.00172C4.50777 8.98178 4.73933 10.2262 5.42577 11.4255L6.01189 11.09C5.37327 9.97441 5.27033 9.01084 5.65752 8.33884L5.0727 8.00172ZM6.56764 12.9686C7.43202 13.92 8.57164 14.838 9.90889 15.6112L10.2466 15.0268C8.9637 14.285 7.88033 13.4098 7.06733 12.5148L6.56764 12.9686ZM9.90889 15.6112C11.5019 16.5324 13.1335 17.1082 14.5752 17.3175C16.0047 17.5252 17.3015 17.379 18.1726 16.784L17.792 16.2266C17.1233 16.6832 16.0295 16.8467 14.6721 16.6496C13.3272 16.4544 11.7766 15.9114 10.2468 15.0268L9.90889 15.6112ZM19.7547 15.9202C19.7549 15.6074 19.6307 15.3073 19.4096 15.0859C19.1885 14.8646 18.8886 14.7401 18.5757 14.7399V15.4149C18.642 15.415 18.7076 15.4281 18.7688 15.4535C18.83 15.479 18.8856 15.5162 18.9324 15.5632C18.9792 15.6101 19.0163 15.6658 19.0416 15.727C19.0668 15.7883 19.0798 15.8539 19.0797 15.9202H19.7547ZM18.5757 14.7399C18.4208 14.74 18.2674 14.7706 18.1243 14.8299C17.9812 14.8893 17.8512 14.9763 17.7417 15.0859C17.6322 15.1955 17.5454 15.3256 17.4862 15.4687C17.427 15.6119 17.3966 15.7653 17.3967 15.9202H18.0717C18.0716 15.8539 18.0846 15.7883 18.1098 15.727C18.1351 15.6658 18.1722 15.6101 18.219 15.5632C18.2658 15.5162 18.3214 15.479 18.3826 15.4535C18.4438 15.4281 18.5094 15.415 18.5757 15.4149V14.7399ZM17.3967 15.9202C17.3966 16.0751 17.427 16.2286 17.4862 16.3717C17.5454 16.5149 17.6322 16.645 17.7417 16.7546C17.8512 16.8642 17.9812 16.9512 18.1243 17.0105C18.2674 17.0699 18.4208 17.1005 18.5757 17.1005V16.4255C18.5094 16.4255 18.4438 16.4123 18.3826 16.3869C18.3214 16.3615 18.2658 16.3242 18.219 16.2773C18.1722 16.2304 18.1351 16.1747 18.1098 16.1134C18.0846 16.0521 18.0716 15.9865 18.0717 15.9202H17.3967ZM18.5757 17.1005C18.8886 17.1003 19.1885 16.9759 19.4096 16.7545C19.6307 16.5332 19.7549 16.2331 19.7547 15.9202H19.0797C19.0798 15.9865 19.0668 16.0521 19.0416 16.1134C19.0163 16.1747 18.9792 16.2304 18.9324 16.2773C18.8856 16.3242 18.83 16.3615 18.7688 16.3869C18.7076 16.4123 18.642 16.4255 18.5757 16.4255V17.1005Z"
          fill="#a2ecfb"
        />
        <path
          d="M17.1538 12.2591C17.1252 12.293 17.1035 12.3321 17.09 12.3744C17.0765 12.4166 17.0715 12.4611 17.0752 12.5052C17.0827 12.5945 17.1253 12.677 17.1937 12.7348C17.2621 12.7926 17.3506 12.8209 17.4398 12.8134C17.529 12.8059 17.6116 12.7633 17.6694 12.6949L17.1538 12.2591ZM15.845 6.60769C15.8007 6.60712 15.7567 6.61527 15.7155 6.6317C15.6744 6.64813 15.6368 6.6725 15.6051 6.70343C15.5733 6.73436 15.548 6.77124 15.5305 6.81197C15.513 6.85269 15.5037 6.89647 15.5031 6.94079C15.5025 6.98511 15.5107 7.02911 15.5271 7.07028C15.5435 7.11145 15.5679 7.14898 15.5989 7.18073C15.6298 7.21248 15.6667 7.23782 15.7074 7.25532C15.7481 7.27281 15.7919 7.28212 15.8362 7.28269L15.845 6.60769ZM14.0514 7.47769C14.1389 7.4589 14.2154 7.4061 14.264 7.33092C14.3126 7.25574 14.3293 7.16434 14.3105 7.07682C14.2917 6.9893 14.2389 6.91283 14.1638 6.86423C14.0886 6.81564 13.9972 6.7989 13.9096 6.81769L14.0514 7.47769ZM4.7904 15.1697C4.80338 15.2583 4.85101 15.338 4.92281 15.3915C4.99461 15.4449 5.08471 15.4677 5.17327 15.4547C5.26184 15.4417 5.34162 15.3941 5.39507 15.3223C5.44852 15.2505 5.47125 15.1604 5.45827 15.0718L4.7904 15.1697ZM17.6694 12.6949C18.3532 11.886 18.8446 11.0488 19.0785 10.2521C19.3126 9.45394 19.2937 8.67151 18.9142 8.01319L18.3294 8.35032C18.5904 8.80313 18.63 9.38288 18.4306 10.062C18.231 10.7426 17.7971 11.4979 17.1538 12.2591L17.6694 12.6949ZM18.9142 8.01319C18.3585 7.04888 17.1952 6.62532 15.845 6.60769L15.8362 7.28269C17.0874 7.29901 17.9486 7.68976 18.3294 8.35032L18.9142 8.01319ZM13.9098 6.81751C12.6442 7.08919 11.2665 7.62151 9.91552 8.40282L10.2534 8.98707C11.5494 8.23763 12.8615 7.73269 14.0514 7.47769L13.9096 6.81769L13.9098 6.81751ZM9.91552 8.40282C8.27565 9.35101 6.93127 10.5178 6.0279 11.6987C5.13315 12.8681 4.63402 14.1023 4.7904 15.1697L5.45827 15.0718C5.34071 14.2693 5.71402 13.2199 6.56396 12.1088C7.40546 11.0089 8.67821 9.89794 10.2534 8.98707L9.91552 8.40282Z"
          fill="#a2ecfb"
        />
        <path
          d="M9.20318 16.3557C9.17304 16.2714 9.11066 16.2025 9.02975 16.1642C8.94884 16.1259 8.85603 16.1214 8.77174 16.1515C8.68745 16.1816 8.61859 16.244 8.58029 16.3249C8.542 16.4058 8.53742 16.4986 8.56755 16.5829L9.20318 16.3557ZM14.7307 18.0799C14.7751 18.0033 14.7877 17.9122 14.7655 17.8264C14.7434 17.7406 14.6884 17.6669 14.6125 17.6213C14.5365 17.5756 14.4456 17.5617 14.3595 17.5826C14.2733 17.6034 14.1988 17.6572 14.1521 17.7325L14.7307 18.0799ZM14.9195 15.9713C14.9056 16.0138 14.9002 16.0586 14.9038 16.1032C14.9073 16.1478 14.9197 16.1912 14.9402 16.231C14.9606 16.2708 14.9888 16.306 15.0231 16.3348C15.0573 16.3636 15.0969 16.3853 15.1396 16.3986C15.1823 16.4119 15.2272 16.4166 15.2717 16.4125C15.3162 16.4083 15.3595 16.3953 15.399 16.3743C15.4384 16.3532 15.4733 16.3246 15.5016 16.2899C15.5299 16.2553 15.551 16.2154 15.5637 16.1725L14.9195 15.9713ZM12.9669 4.22443C12.9264 4.20642 12.8827 4.19656 12.8384 4.19542C12.7941 4.19428 12.75 4.20188 12.7086 4.21779C12.6672 4.23369 12.6294 4.25759 12.5972 4.28812C12.5651 4.31865 12.5393 4.35521 12.5213 4.39571C12.5033 4.43622 12.4934 4.47987 12.4923 4.52419C12.4911 4.5685 12.4987 4.61261 12.5146 4.65398C12.5305 4.69536 12.5544 4.7332 12.585 4.76534C12.6155 4.79748 12.652 4.8233 12.6926 4.84131L12.9669 4.22443ZM8.56755 16.5829C8.92493 17.5827 9.40324 18.4296 9.97568 19.0322C10.5494 19.6358 11.2366 20.0121 11.9969 20.0121V19.3371C11.4747 19.3371 10.9533 19.081 10.4651 18.5672C9.97587 18.0524 9.53955 17.2966 9.20318 16.3555L8.56755 16.5829ZM11.9969 20.0121C13.1006 20.0121 14.0426 19.2267 14.7307 18.0799L14.1521 17.7325C13.5147 18.7941 12.7524 19.3371 11.9969 19.3371V20.0121ZM15.5637 16.1725C15.9425 14.9599 16.1594 13.5344 16.1594 12.0126H15.4844C15.4844 13.4727 15.2763 14.8298 14.9195 15.9713L15.5637 16.1725ZM16.1594 12.0126C16.1594 10.1464 15.8332 8.42293 15.2806 7.05943C14.7329 5.70831 13.9396 4.657 12.9669 4.22443L12.6926 4.84131C13.4319 5.17 14.1348 6.02931 14.6551 7.31312C15.1706 8.58437 15.4844 10.2201 15.4844 12.0126H16.1594Z"
          fill="#a2ecfb"
        />
        <path
          d="M19.4172 15.9202C19.4173 15.8096 19.3956 15.7001 19.3534 15.5979C19.3112 15.4956 19.2492 15.4028 19.1711 15.3245C19.0929 15.2462 19.0001 15.1841 18.898 15.1417C18.7958 15.0993 18.6863 15.0775 18.5757 15.0774C18.4651 15.0775 18.3556 15.0993 18.2535 15.1417C18.1513 15.1841 18.0585 15.2462 17.9804 15.3245C17.9023 15.4028 17.8403 15.4956 17.7981 15.5979C17.7558 15.7001 17.7341 15.8096 17.7342 15.9202C17.7341 16.0308 17.7558 16.1403 17.7981 16.2425C17.8403 16.3448 17.9023 16.4377 17.9804 16.5159C18.0585 16.5942 18.1513 16.6563 18.2535 16.6987C18.3556 16.7411 18.4651 16.7629 18.5757 16.763C18.6863 16.7629 18.7958 16.7411 18.898 16.6987C19.0001 16.6563 19.0929 16.5942 19.1711 16.5159C19.2492 16.4377 19.3112 16.3448 19.3534 16.2425C19.3956 16.1403 19.4173 16.0308 19.4172 15.9202ZM5.40254 16.763C5.62588 16.7628 5.84 16.6739 5.99781 16.5159C6.15562 16.3578 6.24418 16.1436 6.24404 15.9202C6.24418 15.6969 6.15562 15.4826 5.99781 15.3245C5.84 15.1665 5.62588 15.0776 5.40254 15.0774C5.29194 15.0775 5.18244 15.0993 5.08029 15.1417C4.97814 15.1841 4.88535 15.2462 4.80721 15.3245C4.72906 15.4028 4.6671 15.4956 4.62486 15.5979C4.58263 15.7001 4.56094 15.8096 4.56104 15.9202C4.56094 16.0308 4.58263 16.1403 4.62486 16.2425C4.6671 16.3448 4.72906 16.4377 4.80721 16.5159C4.88535 16.5942 4.97814 16.6563 5.08029 16.6987C5.18244 16.7411 5.29194 16.7629 5.40254 16.763Z"
          fill="currentColor"
          stroke="#a2ecfb"
          fillRule="evenodd"
          clipRule="evenodd"
          strokeWidth={strokeWidth}
          strokeLinecap="round"
        />
        <path
          d="M11.9968 5.19356C12.4615 5.19356 12.8383 4.81622 12.8383 4.35075C12.8383 3.88527 12.4615 3.50793 11.9968 3.50793C11.532 3.50793 11.1553 3.88527 11.1553 4.35075C11.1553 4.81622 11.532 5.19356 11.9968 5.19356Z"
          fill="currentColor"
          stroke="#a2ecfb"
          strokeWidth={strokeWidth}
          strokeLinecap="round"
        />
        <path
          d="M12.1594 12.7662C11.9616 12.8039 11.7569 12.7629 11.589 12.6517C11.4212 12.5406 11.3034 12.3682 11.261 12.1714C11.2185 11.9746 11.2548 11.7689 11.3619 11.5985C11.4691 11.428 11.6387 11.3063 11.8344 11.2592C11.9333 11.2379 12.0353 11.2363 12.1348 11.2545C12.2343 11.2726 12.3292 11.3102 12.4141 11.365C12.499 11.4199 12.5723 11.4909 12.6298 11.5741C12.6873 11.6573 12.7278 11.751 12.7491 11.8498C12.7923 12.0495 12.7545 12.2582 12.6439 12.4301C12.5333 12.6019 12.359 12.7228 12.1594 12.7662Z"
          fill="#a2ecfb"
          fillRule="evenodd"
          clipRule="evenodd"
        />
      </g>
      <defs>
        <clipPath id="undefined-clip0_2066_912">
          <path fill="#fff" d="M0 0H24V24H0z" />
        </clipPath>
      </defs>
    </svg>
  );
});

Electron.displayName = "Electron";

Electron.metadata = {
  name: "Electron",
  category: "icon/library",
  tags: ["electron", "icon"],
  description: "Electron icon from icon/library category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Electron;
