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

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

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

    switch (props.weight) {
      case 'fill':
        path = () => (
          <>
            <path d="M128,24A104,104,0,1,0,232,128,104.11791,104.11791,0,0,0,128,24Zm56,112H147.31348l25.9414,25.94141a7.99983,7.99983,0,0,1-11.31347,11.31347l-39.59766-39.59765c-.18652-.18653-.36328-.38282-.53076-.58692-.07373-.08984-.1377-.18457-.20654-.27636-.0879-.1167-.17823-.23145-.25977-.353-.07471-.11182-.13916-.22754-.208-.34229-.06494-.10937-.13379-.21582-.19385-.32861-.0625-.1167-.11572-.23731-.17187-.35693-.05566-.11719-.11426-.23243-.16406-.353-.04785-.11572-.08643-.23389-.12842-.35108-.04639-.12841-.0957-.25585-.13574-.38769-.03565-.11816-.06153-.23779-.0918-.35693-.03369-.13379-.0708-.26563-.09814-.40186-.02686-.1377-.04346-.27637-.063-.41553-.01758-.11963-.04-.23681-.05176-.3584q-.03808-.38232-.03906-.7666L120,128l.001-.022q.00145-.38452.03906-.7666c.01172-.12159.03418-.23877.05176-.3584.01953-.13916.03613-.27783.063-.41553.02734-.13623.06445-.26807.09814-.40186.03027-.11914.05615-.23876.0918-.35693.04-.13183.08935-.25928.13574-.38769.042-.11719.08057-.23536.12842-.35108.0498-.1206.1084-.23584.16406-.353.05615-.11962.10937-.24023.17187-.35693.06006-.11279.12891-.21924.19385-.32861.06885-.11475.1333-.23047.208-.34229.08154-.12158.17187-.23633.25977-.353.06884-.09179.13281-.18652.20654-.27636a8.04468,8.04468,0,0,1,1.1167-1.1167c.09179-.0752.188-.14014.28174-.21094.11474-.08594.22705-.1748.34668-.25439.11425-.07666.23242-.14258.3496-.21241.10694-.064.21143-.13134.32129-.18994.11963-.064.24268-.11816.36475-.17578.11475-.0542.22754-.11133.34473-.16015.11914-.04932.24072-.08887.36132-.13184.12549-.04541.249-.09326.37745-.13233.12207-.03662.24609-.064.36914-.09472.12988-.03272.25732-.06885.38965-.09522.14306-.02832.28808-.04541.43261-.06591.11377-.01612.22608-.03809.34131-.04932q.39477-.03956.7915-.04H184a8,8,0,0,1,0,16Z" />
          </>
        )
        break

      default:
        path = () => (
          <>
            <circle
              cx="128"
              cy="128"
              r="96"
              fill="none"
              stroke="currentColor"
              strokeMiterlimit="10"
              strokeWidth="18"
            />
            <line
              x1="128"
              y1="128"
              x2="184"
              y2="128"
              fill="none"
              stroke="currentColor"
              strokeLinecap="round"
              strokeLinejoin="round"
              strokeWidth="18"
            />
            <line
              x1="167.59798"
              y1="167.59798"
              x2="128"
              y2="128"
              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} />
  }
)
