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

const renderPathFor = (weight: string, color: string) => {
  switch (weight) {
    case "bold":
      return (
        <>
          <polyline points="112 192 80 224 48 192" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <line x1="80" y1="32" x2="80" y2="224" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <polyline points="144 64 176 32 208 64" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <line x1="176" y1="224.00006" x2="176" y2="32.00006" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
        </>
      )
    case "duotone":
      return (
        <>
          <polyline points="112 192 80 224 48 192" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="80" y1="32" x2="80" y2="224" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="144 64 176 32 208 64" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="176" y1="224.00006" x2="176" y2="32.00006" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
        </>
      )
    case "fill":
      return (
        <>
          <g>
    <path d="M106.34277,186.34277,88,204.686V32a8,8,0,0,0-16,0V204.686L53.65723,186.34277a8.00053,8.00053,0,0,0-11.31446,11.31446l32,32c.03809.03759.07959.06933.11817.10644.15088.145.30371.28809.46582.4209.103.08447.21094.15869.31738.2373.103.07667.2041.15723.311.229.12109.08105.24658.15137.37109.2251.1001.05957.19727.12256.30029.17773.124.06641.25147.12256.37842.18213.11035.05176.21875.10693.332.1543.12158.05029.2461.09082.37012.13525.12256.044.24365.09082.36865.12891.12354.03759.249.06494.374.09619.12842.03222.25538.06836.38624.09424.14208.02832.28564.04492.42871.06543.11572.0166.229.03857.3457.0498.26221.02588.52588.04.78955.04s.52734-.01416.78955-.04c.1167-.01123.23-.0332.3457-.0498.14307-.02051.28662-.03711.42871-.06543.13086-.02588.25782-.062.38624-.09424.125-.03125.25048-.0586.374-.09619.125-.03809.24609-.085.36865-.12891.124-.04443.24854-.085.37012-.13525.11328-.04737.22168-.10254.332-.1543.12695-.05957.25439-.11572.37842-.18213.103-.05517.20019-.11816.30029-.17773.12451-.07373.25-.144.37109-.2251.10694-.07178.208-.15234.311-.229.10644-.07861.21435-.15283.31738-.2373.16211-.13281.31494-.27588.46582-.4209.03858-.03711.08008-.06885.11817-.10644l32-32a8.00053,8.00053,0,0,0-11.31446-11.31446Z"/>
    <path d="M213.65723,58.34277l-32-32c-.03516-.03466-.07325-.064-.10889-.09814-.15381-.148-.31006-.29346-.4751-.4292-.10254-.084-.21-.15772-.31543-.23584-.10449-.07764-.20556-.1582-.31347-.23047-.12012-.08057-.24414-.1499-.36719-.22314-.10156-.06006-.2002-.124-.3042-.17969-.12256-.06592-.24854-.12158-.374-.18018-.11182-.05273-.22217-.10888-.33692-.15625-.12012-.0498-.24267-.08984-.36474-.1333-.124-.04492-.24707-.09277-.374-.13135-.12207-.03662-.2456-.064-.36914-.09472-.12988-.03272-.2583-.06934-.39062-.09522-.14063-.02832-.28321-.04492-.4253-.06494-.11621-.0166-.231-.03906-.34863-.05029a8.04864,8.04864,0,0,0-1.5791,0c-.11768.01123-.23242.03369-.34863.05029-.14209.02-.28467.03662-.4253.06494-.13232.02588-.26074.0625-.39062.09522-.12354.03076-.24707.0581-.36914.09472-.127.03858-.25.08643-.374.13135-.12207.04346-.24462.0835-.36474.1333-.11475.04737-.2251.10352-.33692.15625-.12548.0586-.25146.11426-.374.18018-.104.05566-.20264.11963-.3042.17969-.12305.07324-.24707.14257-.36719.22314-.10791.07227-.209.15283-.31347.23047-.10547.07812-.21289.15186-.31543.23584-.165.13574-.32129.28125-.4751.4292-.03564.03418-.07373.06348-.10889.09814l-32,32a8.00053,8.00053,0,0,0,11.31446,11.31446L168,51.314V224a8,8,0,0,0,16,0V51.314l18.34277,18.34327a8.00053,8.00053,0,0,0,11.31446-11.31446Z"/>
  </g>
        </>
      )
    case "light":
      return (
        <>
          <polyline points="112 192 80 224 48 192" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <line x1="80" y1="32" x2="80" y2="224" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <polyline points="144 64 176 32 208 64" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <line x1="176" y1="224.00006" x2="176" y2="32.00006" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
        </>
      )
    case "thin":
      return (
        <>
          <polyline points="112 192 80 224 48 192" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <line x1="80" y1="32" x2="80" y2="224" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <polyline points="144 64 176 32 208 64" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <line x1="176" y1="224.00006" x2="176" y2="32.00006" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
        </>
      )
    case "regular":
      return (
        <>
          <polyline points="112 192 80 224 48 192" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="80" y1="32" x2="80" y2="224" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="144 64 176 32 208 64" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <line x1="176" y1="224.00006" x2="176" y2="32.00006" 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 ArrowsDownUp = (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 ArrowsDownUp;
