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

export const ReactQuery: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function ReactQuery(
  {
    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_396)">
        <path
          d="M14.8125 14.6304L14.3437 15.4434C14.2767 15.5638 14.18 15.6642 14.0633 15.7347C13.9465 15.8051 13.8137 15.8432 13.6781 15.8452H10.1531C9.87183 15.8452 9.6187 15.6921 9.47808 15.4434L9.00933 14.6304H14.8125ZM16.0968 12.3443L15.2906 13.7791H8.5312L7.71558 12.3443H16.0875H16.0968ZM15.3187 10.1156L16.0968 11.5026H7.72495L8.51245 10.1156H15.3187ZM13.6781 8.01127C13.9593 8.01127 14.2125 8.15475 14.3531 8.39388L14.8406 9.26432H8.99058L9.47808 8.40345C9.54587 8.2817 9.64402 8.18041 9.76256 8.10986C9.88111 8.0393 10.0158 8.00199 10.1531 8.00171H13.6781V8.01127Z"
          fill="#00435b"
        />
        <path
          d="M5.01562 7.62876C4.63124 5.68702 4.54687 4.20441 4.79999 3.1331C4.91696 2.54256 5.21197 2.0041 5.64374 1.5931C6.09092 1.19886 6.66537 0.987586 7.25624 1.00006C8.28749 1.00006 9.37499 1.47832 10.5375 2.39658C11.0062 2.76963 11.4937 3.21919 12.0094 3.73571L12.1406 3.59223C13.5937 2.2818 14.8125 1.46876 15.8531 1.1531C16.4719 0.9618 17.0437 0.942669 17.5781 1.12441C18.1406 1.31571 18.5812 1.71745 18.8906 2.27223C19.4062 3.18093 19.5469 4.37658 19.3594 5.86876C19.2656 6.47136 19.1344 7.13136 18.9469 7.84876C19.0219 7.84876 19.0875 7.86789 19.1625 7.89658C20.9906 8.50876 22.2844 9.17832 23.0719 9.94354C23.5406 10.3931 23.8406 10.9001 23.9531 11.4548C24.075 12.0383 23.9531 12.6314 23.6437 13.1861C23.1281 14.0948 22.1812 14.8122 20.8312 15.3861C20.2875 15.6157 19.6687 15.8261 18.9844 16.0175L19.0594 16.2375C19.4437 18.1792 19.5281 19.6522 19.275 20.7331C19.158 21.3237 18.863 21.8621 18.4312 22.2731C17.9816 22.6696 17.4034 22.881 16.8094 22.8661C15.7781 22.8661 14.6906 22.3879 13.5281 21.4696C13.0594 21.087 12.5531 20.6375 12.0375 20.1114C11.9906 20.1975 11.925 20.274 11.85 20.3409C10.4062 21.6609 9.18749 22.4644 8.14687 22.7801C7.52812 22.9714 6.95624 22.9905 6.42187 22.8088C5.85937 22.6175 5.41874 22.2157 5.10937 21.6609C4.59374 20.7522 4.45312 19.5566 4.64062 18.0644C4.73437 17.4427 4.87499 16.754 5.07187 16.0079C4.99687 16.0079 4.91249 15.9888 4.83749 15.9601C3.00937 15.3383 1.71562 14.6783 0.928117 13.9131C0.459367 13.4635 0.159367 12.9566 0.0468666 12.4018C-0.0750084 11.8088 0.0468665 11.2253 0.356242 10.6705C0.871867 9.75223 1.81874 9.03484 3.16874 8.4705C3.73124 8.23136 4.36874 8.01136 5.08124 7.82006L5.01562 7.62876Z"
          fill="#002b3b"
        />
        <path
          d="M17.7749 16.4287C17.9624 16.4 18.1312 16.5244 18.1781 16.6966V16.7157L18.1968 16.8114C18.8249 20.1879 18.3843 21.8809 16.8656 21.8809C15.3843 21.8809 13.4906 20.4366 11.2031 17.5574C11.163 17.5059 11.1377 17.4441 11.1302 17.3787C11.1226 17.3134 11.1331 17.2472 11.1603 17.1876C11.1876 17.1281 11.2306 17.0774 11.2845 17.0413C11.3384 17.0053 11.4011 16.9853 11.4656 16.9835H11.5968C13.6718 16.9964 15.7433 16.8106 17.7843 16.4287H17.7749ZM7.36869 13.8844H7.37806L7.44369 13.9992C8.48215 15.8473 9.68737 17.5926 11.0437 19.2122C11.1014 19.2816 11.1306 19.371 11.1254 19.4619C11.1202 19.5527 11.0808 19.638 11.0156 19.7V19.7096L10.9218 19.7766C8.37181 22.0148 6.70306 22.4548 5.93431 21.1157C5.18431 19.8053 5.46556 17.414 6.75931 13.9418C6.78369 13.8827 6.82335 13.8315 6.87404 13.7936C6.92473 13.7557 6.98456 13.7326 7.04714 13.7267C7.10971 13.7208 7.17268 13.7323 7.22931 13.7601C7.28594 13.7879 7.33412 13.8309 7.36869 13.8844ZM19.0781 8.91048H19.0874L19.1812 8.93918C22.3406 10.0583 23.5499 11.2922 22.7906 12.6409C22.0406 13.9514 19.8843 14.9079 16.3218 15.5105C16.2563 15.5235 16.1886 15.5169 16.1266 15.4916C16.0647 15.4663 16.0112 15.4233 15.9727 15.3678C15.9341 15.3123 15.912 15.2466 15.9091 15.1786C15.9061 15.1106 15.9225 15.0431 15.9562 14.9844C17.035 13.1209 17.939 11.1577 18.6562 9.12092C18.686 9.03859 18.7447 8.9705 18.8209 8.92985C18.8971 8.88919 18.9854 8.87888 19.0687 8.90092H19.0781V8.91048ZM7.92181 8.33657C8.08119 8.43222 8.13744 8.65222 8.04369 8.81483C6.96489 10.6783 6.06088 12.6415 5.34369 14.6783C5.31381 14.7627 5.25362 14.8324 5.1753 14.8732C5.09697 14.9141 5.00637 14.923 4.92181 14.8983H4.91244L4.81869 14.86C1.65931 13.7409 0.449938 12.507 1.20931 11.1679C1.95931 9.84787 4.11556 8.89135 7.67806 8.29831C7.77181 8.27918 7.84681 8.29831 7.91244 8.33657H7.92181ZM18.0562 2.81744C18.8062 4.12787 18.5249 6.51918 17.2312 9.99135C17.2068 10.0504 17.1672 10.1017 17.1165 10.1396C17.0658 10.1774 17.0059 10.2006 16.9434 10.2065C16.8808 10.2124 16.8178 10.2008 16.7612 10.173C16.7046 10.1452 16.6564 10.1023 16.6218 10.0487H16.6124L16.5468 9.93396C15.5084 8.08581 14.3031 6.34056 12.9468 4.72092C12.8891 4.65151 12.8599 4.5621 12.8651 4.47126C12.8703 4.38041 12.9097 4.29512 12.9749 4.23309V4.22353L13.0687 4.15657C15.6187 1.91831 17.2874 1.47831 18.0562 2.81744ZM7.25619 2.01396C8.74681 2.01396 10.6312 3.44874 12.9187 6.32787C12.9584 6.37873 12.9836 6.43977 12.9915 6.50429C12.9995 6.5688 12.9898 6.6343 12.9637 6.69359C12.9375 6.75289 12.8959 6.80369 12.8433 6.84041C12.7907 6.87714 12.7292 6.89837 12.6656 6.90179H12.5343C10.4593 6.88895 8.38778 7.07469 6.34681 7.45657C6.15931 7.48526 5.99056 7.37048 5.95306 7.18874V7.17918L5.93431 7.07396C5.30619 3.69744 5.74681 2.00439 7.25619 2.00439V2.01396Z"
          fill="#ff4154"
        />
        <path
          d="M10.4344 8.0496H13.3969C13.8281 8.0496 14.2313 8.27917 14.4469 8.66178L15.9281 11.3113C16.1437 11.694 16.1437 12.1531 15.9281 12.5357L14.4469 15.1757C14.2313 15.5583 13.8281 15.7974 13.3969 15.7974H10.4344C10.0031 15.7974 9.6 15.5583 9.38437 15.1757L7.90313 12.5357C7.6875 12.1531 7.6875 11.6844 7.90313 11.3113L9.375 8.65221C9.59063 8.2696 9.99375 8.04004 10.425 8.04004L10.4344 8.0496ZM12.9375 8.84352C13.3688 8.84352 13.7625 9.08265 13.9781 9.46526L15.0187 11.3113C15.2344 11.694 15.2344 12.1531 15.0187 12.5357L13.9875 14.3818C13.7625 14.7644 13.3688 15.0035 12.9375 15.0035H10.875C10.4437 15.0035 10.0406 14.7644 9.825 14.3818L8.79375 12.5357C8.57813 12.1531 8.57813 11.6844 8.79375 11.3113L9.825 9.46526C10.0406 9.08265 10.4437 8.84352 10.875 8.84352H12.9375ZM12.45 9.71395H11.3625C10.9312 9.71395 10.5281 9.95308 10.3125 10.3357L9.76875 11.3113C9.55312 11.694 9.55312 12.1531 9.76875 12.5357L10.3125 13.5113C10.5281 13.894 10.9312 14.1235 11.3625 14.1235H12.45C12.8813 14.1235 13.275 13.894 13.4906 13.5113L14.0438 12.5357C14.2594 12.1531 14.2594 11.6844 14.0438 11.3113L13.5 10.3357C13.2844 9.95308 12.8906 9.71395 12.4594 9.71395H12.45ZM11.9813 10.5557C12.4125 10.5557 12.8062 10.7853 13.0219 11.1679L13.1063 11.3113C13.3219 11.694 13.3219 12.1531 13.1063 12.5357L13.0219 12.6792C12.8062 13.0618 12.4125 13.2913 11.9813 13.2913H11.8312C11.4 13.2913 10.9969 13.0618 10.7812 12.6792L10.7062 12.5357C10.4906 12.1531 10.4906 11.6844 10.7062 11.3113L10.7812 11.1679C10.9969 10.7853 11.4 10.5557 11.8312 10.5557H11.9813ZM11.9062 11.3783C11.7645 11.3783 11.6286 11.4357 11.5284 11.538C11.4282 11.6402 11.3719 11.7789 11.3719 11.9235C11.3719 12.0681 11.4282 12.2068 11.5284 12.309C11.6286 12.4113 11.7645 12.4687 11.9062 12.4687C12.048 12.4687 12.1839 12.4113 12.2841 12.309C12.3843 12.2068 12.4406 12.0681 12.4406 11.9235C12.4406 11.7789 12.3843 11.6402 12.2841 11.538C12.1839 11.4357 12.048 11.3783 11.9062 11.3783ZM7.54688 11.9235H8.5125H7.54688Z"
          fill="#ffd94c"
        />
      </g>
      <defs>
        <clipPath id="undefined-clip0_2066_396">
          <path fill="#fff" transform="translate(0 1)" d="M0 0H24V22H0z" />
        </clipPath>
      </defs>
    </svg>
  );
});

ReactQuery.displayName = "ReactQuery";

ReactQuery.metadata = {
  name: "ReactQuery",
  category: "icon/framework",
  tags: ["react", "query", "icon"],
  description: "ReactQuery icon from icon/framework category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default ReactQuery;
