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

const renderPathFor = (weight: string, color: string) => {
  switch (weight) {
    case "bold":
      return (
        <>
          <polyline points="79.833 99.716 31.833 99.716 31.833 51.716" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <path d="M190.2254,65.7746a88,88,0,0,0-124.4508,0L31.83348,99.71573" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <polyline points="176.167 156.284 224.167 156.284 224.167 204.284" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
  <path d="M65.7746,190.2254a88,88,0,0,0,124.4508,0l33.94112-33.94113" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="24"/>
        </>
      )
    case "duotone":
      return (
        <>
          <polyline points="79.833 99.716 31.833 99.716 31.833 51.716" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <path d="M190.2254,65.7746a88,88,0,0,0-124.4508,0L31.83348,99.71573" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="176.167 156.284 224.167 156.284 224.167 204.284" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <path d="M65.7746,190.2254a88,88,0,0,0,124.4508,0l33.94112-33.94113" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
        </>
      )
    case "fill":
      return (
        <>
          <g>
    <path d="M30.26953,107.56073c-.13257-.02631-.26123-.06274-.3916-.09558-.123-.03088-.24658-.05792-.36816-.09473-.12647-.03833-.2483-.08575-.37183-.13006-.123-.04395-.24683-.08454-.36792-.13465-.11328-.047-.22168-.10217-.332-.15411-.127-.05945-.2544-.11591-.37842-.18237-.10229-.05475-.19922-.11725-.29858-.17627-.12525-.07416-.25147-.14521-.37329-.22681-.10352-.0694-.20069-.14709-.30079-.22113-.10986-.08124-.22192-.158-.32837-.24554-.14379-.118-.27856-.246-.41357-.37366-.05542-.05243-.11475-.09845-.16919-.15277-.0564-.0564-.10425-.11786-.15869-.17554-.12524-.13287-.25122-.26532-.36719-.40649-.09106-.11072-.17114-.22718-.25537-.34156-.07056-.09564-.14477-.18805-.21094-.28686-.085-.12659-.15893-.25781-.23584-.38806-.05566-.09443-.11523-.18622-.16723-.28308-.06909-.12916-.12818-.26185-.1897-.3938-.04932-.10547-.10205-.20874-.147-.31665-.05225-.12653-.095-.25568-.14063-.38428-.042-.11817-.08764-.2345-.12426-.35517-.03907-.1289-.06788-.25982-.10035-.39019-.03051-.123-.06518-.24414-.09008-.36933-.03-.15149-.04859-.30444-.06983-.45715-.01465-.1059-.03516-.2099-.04565-.31714a7.97366,7.97366,0,0,1-.04-.79706V51.71582a8,8,0,0,1,16,0V80.40137L60.11719,60.11719a96.11137,96.11137,0,0,1,135.76562,0,8.00052,8.00052,0,1,1-11.31445,11.31445,80.08769,80.08769,0,0,0-113.13672,0L51.14746,91.71582H79.833a8,8,0,0,1,0,16h-48c-.26367,0-.5271-.014-.78955-.03992-.11817-.01159-.23267-.03369-.34912-.05035C30.55249,107.60529,30.4104,107.58868,30.26953,107.56073Z"/>
    <path d="M71.43164,184.56836a80.08769,80.08769,0,0,0,113.13672,0l20.28418-20.28418H176.167a8,8,0,0,1,0-16h48c.05982,0,.11743.00763.177.00891.20264.00446.40528.01093.60718.0307.13819.01343.27246.03851.40845.0589.12207.01831.24487.03186.36621.05591.14526.02869.28613.06811.42847.10455.11035.02826.22168.05219.3313.08521.13549.041.2666.09155.39917.13952.11425.0412.22924.07862.34179.12519.11963.04962.23462.10772.35132.1629.12061.05688.24219.11047.36035.17371.10645.057.20752.12194.311.18359.12134.07214.24389.141.36206.22009.1062.071.20581.15045.3081.22638.10767.07965.21729.15473.32178.24048.14478.119.28076.248.417.37671.05445.05151.11255.09668.166.15.0564.0564.10425.11786.15869.17554.12524.13287.25122.26532.36719.40649.09106.11072.17114.22718.25537.34156.07056.09564.14477.188.21094.28686.085.12659.15893.25781.23584.38806.05566.09443.11523.18622.16723.28308.06909.12916.12818.26185.1897.3938.04932.10547.10205.20874.147.31665.05225.12653.095.25568.14063.38428.042.11817.08764.2345.12426.35517.03907.1289.06788.25982.10035.39019.03051.123.06518.24414.09008.36933.03.15149.04859.30444.06983.45715.01465.1059.03516.2099.04565.31714a7.97366,7.97366,0,0,1,.04.79706v47.99487a8,8,0,0,1-16,0V175.59863l-20.28418,20.28418a96.11136,96.11136,0,0,1-135.76562,0,8.00052,8.00052,0,0,1,11.31445-11.31445Z"/>
  </g>
        </>
      )
    case "light":
      return (
        <>
          <polyline points="79.833 99.716 31.833 99.716 31.833 51.716" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <path d="M190.2254,65.7746a88,88,0,0,0-124.4508,0L31.83348,99.71573" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <polyline points="176.167 156.284 224.167 156.284 224.167 204.284" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
  <path d="M65.7746,190.2254a88,88,0,0,0,124.4508,0l33.94112-33.94113" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="12"/>
        </>
      )
    case "thin":
      return (
        <>
          <polyline points="79.833 99.716 31.833 99.716 31.833 51.716" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <path d="M190.2254,65.7746a88,88,0,0,0-124.4508,0L31.83348,99.71573" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <polyline points="176.167 156.284 224.167 156.284 224.167 204.284" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
  <path d="M65.7746,190.2254a88,88,0,0,0,124.4508,0l33.94112-33.94113" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="8"/>
        </>
      )
    case "regular":
      return (
        <>
          <polyline points="79.833 99.716 31.833 99.716 31.833 51.716" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <path d="M190.2254,65.7746a88,88,0,0,0-124.4508,0L31.83348,99.71573" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <polyline points="176.167 156.284 224.167 156.284 224.167 204.284" fill="none" stroke={color} stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/>
  <path d="M65.7746,190.2254a88,88,0,0,0,124.4508,0l33.94112-33.94113" 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 ArrowsCounterClockwise = (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 ArrowsCounterClockwise;
