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

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

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

    switch (props.weight) {
      case 'fill':
        path = () => (
          <>
            <path d="M240.58984,128a15.84794,15.84794,0,0,1-10.53125,15.03711l-63.81543,23.206-23.206,63.81543a16.001,16.001,0,0,1-30.07422,0L89.75684,166.24316l-63.81543-23.206a16.001,16.001,0,0,1,0-30.07422L89.75684,89.75684l23.20605-63.81543a16.001,16.001,0,0,1,30.07422,0l23.206,63.81543,63.81543,23.20605A15.84794,15.84794,0,0,1,240.58984,128Z" />
          </>
        )
        break

      default:
        path = () => (
          <>
            <path
              d="M158.72416,163.50856l-23.20581,63.816a8,8,0,0,1-15.0367,0l-23.20581-63.816a8,8,0,0,0-4.7844-4.7844l-63.816-23.20581a8,8,0,0,1,0-15.0367l63.816-23.20581a8,8,0,0,0,4.7844-4.7844l23.20581-63.816a8,8,0,0,1,15.0367,0l23.20581,63.816a8,8,0,0,0,4.7844,4.7844l63.816,23.20581a8,8,0,0,1,0,15.0367l-63.816,23.20581A8,8,0,0,0,158.72416,163.50856Z"
              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} />
  }
)
