/* GENERATED FILE */
import  { useContext  } from "solid-js";
import { IconContext } from "../lib";

const renderPathFor = (weight: string, color: string) => {
  switch (weight) {
    case "bold":
      return (
        <>
          <polyline points="192 144 224 176 192 208" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <line x1="32" y1="176" x2="224" y2="176" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <polyline points="64 112 32 80 64 48" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <line x1="224.00006" y1="80" x2="32.00006" y2="80" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
        </>
      )
    case "duotone":
      return (
        <>
          <polyline points="192 144 224 176 192 208" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="32" y1="176" x2="224" y2="176" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="64 112 32 80 64 48" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="224.00006" y1="80" x2="32.00006" y2="80" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
        </>
      )
    case "fill":
      return (
        <>
          <g>
    <path d="M230.18408,181.07373c.0874-.106.16406-.21777.24512-.32764.07373-.09961.15137-.19677.2207-.30029.0835-.12451.15625-.25342.23194-.38135.05712-.09668.11767-.19043.17089-.28955.06885-.12793.127-.25976.18848-.39062.04981-.106.10254-.21045.148-.31934.05225-.12646.09473-.25537.14014-.3833.04248-.11865.08789-.23486.12451-.356.03906-.1289.06787-.25976.10058-.39013.03077-.12305.06543-.24414.09034-.36914.02978-.15186.04834-.30518.06982-.458.01465-.10547.03467-.20947.04541-.31641a8.02276,8.02276,0,0,0,0-1.584c-.01074-.10694-.03076-.21094-.04541-.31641-.02148-.15283-.04-.30615-.06982-.458-.02491-.125-.05957-.24609-.09034-.36914-.03271-.13037-.06152-.26123-.10058-.39013-.03662-.1211-.082-.23731-.12451-.356-.04541-.12793-.08789-.25684-.14014-.3833-.04541-.10889-.09814-.21338-.148-.31934-.06152-.13086-.11963-.26269-.18848-.39062-.05322-.09912-.11377-.19287-.17089-.28955-.07569-.12793-.14844-.25684-.23194-.38135-.06933-.10352-.147-.20068-.2207-.30029-.08106-.10987-.15772-.22168-.24512-.32764-.13281-.16211-.27588-.31543-.42138-.46631-.03663-.03809-.06788-.07959-.10547-.11719l-32-32a8.00053,8.00053,0,0,0-11.31446,11.31446L204.68652,168H32a8,8,0,0,0,0,16H204.68652l-18.34375,18.34277a8.00053,8.00053,0,0,0,11.31446,11.31446l32-32c.04-.04053.07422-.08448.11328-.12549C229.91309,181.3833,230.05371,181.23291,230.18408,181.07373Z"/>
    <path d="M25.5708,75.25391c-.07373.09961-.15137.19677-.2207.30029-.0835.12451-.15625.25342-.23194.38135-.05712.09668-.11767.19043-.17089.28955-.06885.12793-.127.25976-.18848.39062-.04981.106-.10254.21045-.148.31934-.05225.12646-.09473.25537-.14014.3833-.04248.11865-.08789.23486-.12451.356-.03906.1289-.06787.25976-.10058.39013-.03077.12305-.06543.24414-.09034.36914-.02978.15186-.04834.30518-.06982.458-.01465.10547-.03467.20947-.04541.31641a8.02276,8.02276,0,0,0,0,1.584c.01074.10694.03076.21094.04541.31641.02148.15283.04.30615.06982.458.02491.125.05957.24609.09034.36914.03271.13037.06152.26123.10058.39013.03662.1211.082.23731.12451.356.04541.12793.08789.25684.14014.3833.04541.10889.09814.21338.148.31934.06152.13086.11963.26269.18848.39062.05322.09912.11377.19287.17089.28955.07569.12793.14844.25684.23194.38135.06933.10352.147.20068.2207.30029.08106.10987.15772.22168.24512.32764.13037.15918.271.30957.41357.458.03906.041.07324.085.11328.12549l32,32a8.00053,8.00053,0,0,0,11.31446-11.31446L51.31348,88H224a8,8,0,0,0,0-16H51.31348L69.65723,53.65723A8.00053,8.00053,0,0,0,58.34277,42.34277l-32,32c-.03759.0376-.06884.0791-.10547.11719-.1455.15088-.28857.3042-.42138.46631C25.72852,75.03223,25.65186,75.144,25.5708,75.25391Z"/>
  </g>
        </>
      )
    case "light":
      return (
        <>
          <polyline points="192 144 224 176 192 208" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <line x1="32" y1="176" x2="224" y2="176" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <polyline points="64 112 32 80 64 48" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <line x1="224.00006" y1="80" x2="32.00006" y2="80" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
        </>
      )
    case "thin":
      return (
        <>
          <polyline points="192 144 224 176 192 208" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <line x1="32" y1="176" x2="224" y2="176" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <polyline points="64 112 32 80 64 48" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <line x1="224.00006" y1="80" x2="32.00006" y2="80" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
        </>
      )
    case "regular":
      return (
        <>
          <polyline points="192 144 224 176 192 208" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="32" y1="176" x2="224" y2="176" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="64 112 32 80 64 48" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="224.00006" y1="80" x2="32.00006" y2="80" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
        </>
      )
    default:
      console.error(
        'Unsupported icon weight. Choose from "thin", "light", "regular", "bold", "fill", or "duotone".'
      );
      return null;
  }
};

const ArrowsLeftRight = (props: any, ref: any)  => {
  const { color, size, weight, mirrored, children, ...restProps } = props;
  const {
    color: contextColor,
    size: contextSize,
    weight: contextWeight,
    mirrored: contextMirrored,
    ...restContext
  } = useContext(IconContext);

  return (
    <svg
      ref={ref}
      xmlns="http://www.w3.org/2000/svg"
      width={size ?? contextSize}
      height={size ?? contextSize}
      fill={color ?? contextColor}
      viewBox="0 0 256 256"
      transform={mirrored || contextMirrored ? "scale(-1, 1)" : undefined}
      {...restContext}
      {...restProps}
    >
      {children}
      <rect width="256" height="256" fill="none"/>
      {renderPathFor(weight ?? contextWeight, color ?? contextColor)}
    </svg>
  );
};


export default ArrowsLeftRight;
