import { useIcon } from 'hooks';
import React from 'react';
import Svg, { Path } from 'react-native-svg';
import { IconProps } from '../types';

export const Smiling: React.FC<IconProps> = ({ colorVariant = 'body', ...props }) => {
  const { getIconColor } = useIcon();

  return (
    <Svg width="20" height="20" viewBox="0 0 20 20" fill="none" {...props}>
      <Path
        d="M10 0.625C8.14581 0.625 6.33325 1.17483 4.79154 2.20497C3.24982 3.23511 2.04821 4.69929 1.33863 6.41234C0.629062 8.1254 0.443406 10.0104 0.805142 11.829C1.16688 13.6475 2.05976 15.318 3.37088 16.6291C4.682 17.9402 6.35247 18.8331 8.17104 19.1949C9.98961 19.5566 11.8746 19.3709 13.5877 18.6614C15.3007 17.9518 16.7649 16.7502 17.795 15.2085C18.8252 13.6668 19.375 11.8542 19.375 10C19.3722 7.51446 18.3836 5.13152 16.626 3.37398C14.8685 1.61644 12.4856 0.627812 10 0.625ZM12.5 6.25C12.7472 6.25 12.9889 6.32331 13.1945 6.46066C13.4 6.59801 13.5603 6.79324 13.6549 7.02165C13.7495 7.25005 13.7742 7.50139 13.726 7.74386C13.6778 7.98634 13.5587 8.20907 13.3839 8.38388C13.2091 8.5587 12.9864 8.67775 12.7439 8.72598C12.5014 8.77421 12.2501 8.74946 12.0217 8.65485C11.7933 8.56024 11.598 8.40002 11.4607 8.19446C11.3233 7.9889 11.25 7.74723 11.25 7.5C11.25 7.16848 11.3817 6.85054 11.6161 6.61612C11.8506 6.3817 12.1685 6.25 12.5 6.25ZM7.50001 6.25C7.74724 6.25 7.98891 6.32331 8.19447 6.46066C8.40003 6.59801 8.56025 6.79324 8.65486 7.02165C8.74947 7.25005 8.77422 7.50139 8.72599 7.74386C8.67776 7.98634 8.55871 8.20907 8.38389 8.38388C8.20908 8.5587 7.98635 8.67775 7.74387 8.72598C7.5014 8.77421 7.25006 8.74946 7.02166 8.65485C6.79325 8.56024 6.59802 8.40002 6.46067 8.19446C6.32332 7.9889 6.25001 7.74723 6.25001 7.5C6.25001 7.16848 6.3817 6.85054 6.61613 6.61612C6.85055 6.3817 7.16849 6.25 7.50001 6.25ZM14.875 12.8125C14.3814 13.6678 13.6713 14.3781 12.8161 14.872C11.9608 15.3658 10.9907 15.6258 10.0031 15.6258C9.01558 15.6258 8.04542 15.3658 7.19022 14.872C6.33501 14.3781 5.62489 13.6678 5.13126 12.8125C5.08724 12.7414 5.05796 12.6621 5.04514 12.5794C5.03233 12.4967 5.03624 12.4123 5.05665 12.3312C5.07706 12.2501 5.11355 12.1739 5.16397 12.1071C5.21438 12.0403 5.27768 11.9843 5.35012 11.9425C5.42257 11.9006 5.50267 11.8738 5.5857 11.8634C5.66872 11.8531 5.75297 11.8596 5.83346 11.8824C5.91394 11.9053 5.98902 11.9441 6.05423 11.9965C6.11945 12.0489 6.17349 12.1138 6.21313 12.1875C6.59697 12.8531 7.14933 13.4059 7.81465 13.7903C8.47997 14.1746 9.23478 14.377 10.0031 14.377C10.7715 14.377 11.5263 14.1746 12.1916 13.7903C12.8569 13.4059 13.4093 12.8531 13.7931 12.1875C13.8328 12.1138 13.8868 12.0489 13.952 11.9965C14.0173 11.9441 14.0923 11.9053 14.1728 11.8824C14.2533 11.8596 14.3376 11.8531 14.4206 11.8634C14.5036 11.8738 14.5837 11.9006 14.6561 11.9425C14.7286 11.9843 14.7919 12.0403 14.8423 12.1071C14.8927 12.1739 14.9292 12.2501 14.9496 12.3312C14.97 12.4123 14.9739 12.4967 14.9611 12.5794C14.9483 12.6621 14.919 12.7414 14.875 12.8125Z"
        fill={getIconColor(colorVariant)}
      />
    </Svg>
  );
};
