/* GENERATED FILE */
import React, { forwardRef } from 'react'

import type {
  IconWeight,
  IconProps,
  PaintFunction,
  Icon,
  RenderFunction,
} from '../lib'
import { renderPathForWeight, useIconContext, IconBase } from '../lib'

export const IconTShirt: Icon = forwardRef<SVGSVGElement, IconProps>(
  (props, ref) => {
    let path: PaintFunction

    switch (props.weight) {
      case 'fill':
        path = () => (
          <>
            <path d="M245.39844,61.29932,195.96924,33.0542c-.01953-.01123-.04-.019-.05957-.03027-.15833-.08887-.32215-.16846-.48694-.24659-.07752-.03686-.15393-.07763-.23206-.11181-.14917-.06494-.30322-.12012-.45691-.176-.09912-.03638-.19726-.07666-.29724-.10888-.11938-.03809-.24243-.06714-.36425-.09986-.13868-.03735-.27662-.07739-.41614-.10693-.08631-.01807-.17493-.0293-.26209-.04468-.1781-.03149-.35583-.06226-.53442-.08154-.07031-.00757-.142-.00928-.21265-.0149-.19653-.01586-.39282-.02856-.58911-.02978-.01953,0-.03833-.00293-.05786-.00293H160a7.99977,7.99977,0,0,0-8,8,24,24,0,0,1-48,0,7.99977,7.99977,0,0,0-8-8H64c-.02576,0-.05054.00366-.07629.00391-.16809.00146-.33606.01318-.50428.02539-.09814.00708-.19726.01025-.29443.02075-.15137.0166-.302.0437-.453.06909-.11365.019-.2284.03394-.34046.05786-.11706.0249-.23291.05933-.34936.08985-.14331.03735-.28736.072-.42749.11694-.08545.02759-.16931.0625-.25415.09326-.16724.05982-.334.12012-.49573.19067-.07251.03174-.14343.06983-.21545.10376-.16907.08008-.33692.16163-.49927.25269-.01953.011-.0398.0188-.05933.03L10.60107,61.29932A16.00794,16.00794,0,0,0,4.229,82.34668l18.4043,36.80811A15.91231,15.91231,0,0,0,36.94434,128H56v80a16.01833,16.01833,0,0,0,16,16H184a16.01833,16.01833,0,0,0,16-16V128h19.05566a15.91146,15.91146,0,0,0,14.31055-8.84473l18.40527-36.80908A16.00784,16.00784,0,0,0,245.39844,61.29932ZM36.94434,112,18.54,75.19092,56,53.7854V112Zm182.11132,0H200V53.7854l37.46045,21.406Z" />
          </>
        )
        break

      default:
        path = () => (
          <>
            <path
              d="M192,120h27.05573a8,8,0,0,0,7.15542-4.42229l18.40439-36.80878a8,8,0,0,0-3.18631-10.52366L192,40"
              fill="none"
              stroke="currentColor"
              strokeLinecap="round"
              strokeLinejoin="round"
              strokeWidth="18"
            />
            <path
              d="M64,120H36.94427a8,8,0,0,1-7.15542-4.42229L11.38446,78.76893a8,8,0,0,1,3.18631-10.52366L64,40"
              fill="none"
              stroke="currentColor"
              strokeLinecap="round"
              strokeLinejoin="round"
              strokeWidth="18"
            />
            <path
              d="M160,40a32,32,0,0,1-64,0H64V208a8,8,0,0,0,8,8H184a8,8,0,0,0,8-8V40Z"
              fill="none"
              stroke="currentColor"
              strokeLinecap="round"
              strokeLinejoin="round"
              strokeWidth="18"
            />
          </>
        )
        break
    }

    const renderPath: RenderFunction = (weight: IconWeight) =>
      renderPathForWeight(weight, path)

    const { useIconProps } = useIconContext()
    const parsedProps = useIconProps(props)

    return <IconBase ref={ref} {...parsedProps} renderPath={renderPath} />
  }
)
