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

export const Jcb: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Jcb(
    {
      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}
      >
        <path
          d="M20.25 5.25H3.75C2.50736 5.25 1.5 6.25736 1.5 7.5V16.5C1.5 17.7426 2.50736 18.75 3.75 18.75H20.25C21.4926 18.75 22.5 17.7426 22.5 16.5V7.5C22.5 6.25736 21.4926 5.25 20.25 5.25Z"
          fill="#fff"
        />
        <path
          d="M15.543 13.1249H16.5525C16.581 13.1249 16.6485 13.1152 16.6777 13.1152C16.8697 13.0769 17.0332 12.9037 17.0332 12.6629C17.0332 12.4319 16.8697 12.2594 16.6777 12.2107C16.6492 12.2009 16.5915 12.2009 16.5525 12.2009H15.543V13.1249Z"
          fill="url(#undefined-paint0_linear_2062_2004)"
        />
        <path
          d="M16.4378 6.75C15.4763 6.75 14.688 7.5285 14.688 8.49975V10.317H17.1593C17.217 10.317 17.2845 10.317 17.3325 10.3268C17.8905 10.3553 18.3038 10.644 18.3038 11.1443C18.3038 11.5388 18.0248 11.8748 17.5058 11.9423V11.9618C18.0728 12 18.5055 12.3173 18.5055 12.8078C18.5055 13.3365 18.0248 13.683 17.3903 13.683H14.679V17.241H17.2463C18.2078 17.241 18.996 16.4625 18.996 15.4913V6.75075H16.4385L16.4378 6.75Z"
          fill="url(#undefined-paint1_linear_2062_2004)"
        />
        <path
          d="M16.9087 11.2597C16.9087 11.0287 16.7452 10.8749 16.5532 10.8464C16.5337 10.8464 16.4857 10.8367 16.4572 10.8367H15.5437V11.6827H16.4572C16.4857 11.6827 16.5435 11.6827 16.5532 11.6729C16.7452 11.6444 16.9087 11.4899 16.9087 11.2597Z"
          fill="url(#undefined-paint2_linear_2062_2004)"
        />
        <path
          d="M6.76425 6.75002C5.80275 6.75002 5.0145 7.52852 5.0145 8.49977V12.8168C5.505 13.0575 6.01425 13.2113 6.52425 13.2113C7.13025 13.2113 7.45725 12.846 7.45725 12.3458V10.3073H8.95725V12.336C8.95725 13.1243 8.46675 13.7685 6.80325 13.7685C5.79375 13.7685 5.0055 13.5473 5.0055 13.5473V17.2298H7.57275C8.53425 17.2298 9.3225 16.4513 9.3225 15.48V6.74927H6.765L6.76425 6.75002Z"
          fill="url(#undefined-paint3_linear_2062_2004)"
        />
        <path
          d="M11.601 6.75002C10.6395 6.75002 9.85125 7.52852 9.85125 8.49977V10.788C10.2937 10.413 11.0625 10.1723 12.303 10.23C12.9667 10.2585 13.6777 10.4415 13.6777 10.4415V11.1818C13.3222 10.9988 12.8992 10.8353 12.351 10.797C11.409 10.7295 10.8412 11.1915 10.8412 11.9993C10.8412 12.8168 11.4082 13.278 12.351 13.2015C12.8992 13.1633 13.3222 12.99 13.6777 12.8168V13.557C13.6777 13.557 12.9757 13.74 12.303 13.7685C11.0625 13.8263 10.2937 13.5855 9.85125 13.2105V17.2493H12.4185C13.38 17.2493 14.1683 16.4708 14.1683 15.4995V6.74927H11.601V6.75002Z"
          fill="url(#undefined-paint4_linear_2062_2004)"
        />
        <defs>
          <linearGradient
            id="undefined-paint0_linear_2062_2004"
            x1="14.688"
            y1="12.693"
            x2="19.01"
            y2="12.693"
            gradientUnits="userSpaceOnUse"
          >
            <stop stopColor="#007940" />
            <stop offset=".228" stopColor="#00873f" />
            <stop offset=".743" stopColor="#40a737" />
            <stop offset="1" stopColor="#5cb531" />
          </linearGradient>
          <linearGradient
            id="undefined-paint1_linear_2062_2004"
            x1="14.688"
            y1="12.025"
            x2="19.005"
            y2="12.025"
            gradientUnits="userSpaceOnUse"
          >
            <stop stopColor="#007940" />
            <stop offset=".228" stopColor="#00873f" />
            <stop offset=".743" stopColor="#40a737" />
            <stop offset="1" stopColor="#5cb531" />
          </linearGradient>
          <linearGradient
            id="undefined-paint2_linear_2062_2004"
            x1="14.688"
            y1="11.29"
            x2="19.01"
            y2="11.29"
            gradientUnits="userSpaceOnUse"
          >
            <stop stopColor="#007940" />
            <stop offset=".228" stopColor="#00873f" />
            <stop offset=".743" stopColor="#40a737" />
            <stop offset="1" stopColor="#5cb531" />
          </linearGradient>
          <linearGradient
            id="undefined-paint3_linear_2062_2004"
            x1="5.016"
            y1="12.02"
            x2="9.403"
            y2="12.02"
            gradientUnits="userSpaceOnUse"
          >
            <stop stopColor="#1f286f" />
            <stop offset=".475" stopColor="#004e94" />
            <stop offset=".826" stopColor="#0066b1" />
            <stop offset="1" stopColor="#006fbc" />
          </linearGradient>
          <linearGradient
            id="undefined-paint4_linear_2062_2004"
            x1="9.829"
            y1="12.029"
            x2="14.091"
            y2="12.029"
            gradientUnits="userSpaceOnUse"
          >
            <stop stopColor="#6c2c2f" />
            <stop offset=".174" stopColor="#882730" />
            <stop offset=".573" stopColor="#be1833" />
            <stop offset=".858" stopColor="#dc0436" />
            <stop offset="1" stopColor="#e60039" />
          </linearGradient>
        </defs>
      </svg>
    );
  },
);

Jcb.displayName = "Jcb";

Jcb.metadata = {
  name: "Jcb",
  category: "symbols/cards",
  tags: ["jcb", "icon"],
  description: "Jcb icon from symbols/cards category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Jcb;
