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

export const Turso: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Turso(
    {
      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_2062_3094)">
          <path
            d="M23.8848 7.71882C23.3272 4.43176 20.403 2 20.403 2V5.62118L18.6669 6.06235L17.5791 4.77176L17.0048 5.88471C15.8203 5.56706 14.1893 5.36235 11.9457 5.36235C9.70211 5.36235 8.07107 5.56824 6.88659 5.88471L6.31226 4.77176L5.2245 6.06235L3.48838 5.62118V2C3.48838 2 0.564204 4.43176 0.0065918 7.71882L3.8442 9.02706C3.96957 11.3129 5.01316 17.4835 5.31166 18.0435C5.62927 18.64 7.31525 20.3447 8.63465 21C8.63465 21 9.11226 20.5024 9.4036 20.0635C9.77375 20.4929 11.6854 21.9988 11.9469 21.9988C12.2084 21.9988 14.12 20.4941 14.4902 20.0635C14.7815 20.5024 15.2591 21 15.2591 21C16.5785 20.3447 18.2645 18.64 18.5821 18.0435C18.8806 17.4835 19.9242 11.3129 20.0496 9.02706L23.8872 7.71882H23.8848ZM18.3696 12.9824L15.7726 13.2106L16.0006 16.3482C16.0006 16.3482 14.4209 17.6365 11.9457 17.6365C9.47047 17.6365 7.89077 16.3482 7.89077 16.3482L8.11883 13.2106L5.52181 12.9824L5.07763 9.44824L9.38211 10.9165L9.04778 15.3153C9.84778 15.5153 10.6896 15.7141 11.9469 15.7141C13.2042 15.7141 14.0448 15.5153 14.8448 15.3153L14.5105 10.9165L18.815 9.44824L18.3708 12.9824H18.3696Z"
            fill="#183134"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2062_3094">
            <path fill="#fff" transform="translate(0 2)" d="M0 0H24V20H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Turso.displayName = "Turso";

Turso.metadata = {
  name: "Turso",
  category: "icon/database",
  tags: ["turso", "icon"],
  description: "Turso icon from icon/database category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Turso;
