import { forwardRef, SVGProps } from 'react';

export interface SwiggleProps extends Omit<SVGProps<SVGSVGElement>, 'css'> {}

export const Swiggle = forwardRef<SVGSVGElement, SwiggleProps>((props, ref) => (
  <svg ref={ref} {...props} fill="none" aria-hidden="true" viewBox="0 0 32 32">
    <path
      fill="currentColor"
      d="M11.5793 3.90087C13.227 3.52385 15.1862 3.88996 17.2911 5.12099L17.3142 5.13486C19.0067 6.17437 20.5561 7.40651 21.9362 8.79868C23.0775 7.67284 24.321 6.21088 25.7209 4.34886C26.1357 3.79705 26.9193 3.68601 27.4711 4.10086C28.023 4.5157 28.134 5.29933 27.7191 5.85114C26.2621 7.78927 24.9105 9.3886 23.6058 10.6628C25.3519 12.8226 26.7343 15.2766 27.6778 17.9314C27.683 17.9459 27.6878 17.9604 27.6924 17.975C29.0033 22.1433 27.9135 25.7589 25.4119 27.5333C22.8493 29.351 19.323 28.8754 16.6552 25.8698L16.6539 25.8684C15.7042 24.7953 14.8832 23.5844 14.1355 22.4471C14.0181 22.2686 13.9028 22.0923 13.7892 21.9187C13.162 20.9596 12.5855 20.0782 11.9812 19.3074C11.2689 18.3987 10.6013 17.7567 9.91624 17.3929C9.2761 17.053 8.56609 16.9254 7.652 17.153L7.6409 17.1557L7.64089 17.1557C6.29106 17.4787 5.68515 18.745 5.55574 20.6043C5.49506 21.476 5.55738 22.3357 5.63869 22.9882C5.67897 23.3115 5.72301 23.5769 5.75637 23.7586C5.77302 23.8494 5.78692 23.9188 5.79625 23.9638C5.80091 23.9862 5.80442 24.0025 5.80655 24.0122L5.80853 24.0212L5.80866 24.0218L5.80867 24.0219C5.96221 24.6946 5.54152 25.3646 4.86876 25.5185C4.19579 25.6725 3.52544 25.2517 3.37148 24.5788L4.59 24.3C3.37148 24.5788 3.37139 24.5784 3.3713 24.5779L3.37108 24.577L3.37052 24.5745L3.36896 24.5676L3.36415 24.5458C3.36023 24.5279 3.3549 24.503 3.34841 24.4718C3.33544 24.4093 3.31779 24.3208 3.29743 24.2099C3.25676 23.9883 3.20494 23.6751 3.15788 23.2974C3.06451 22.5481 2.98619 21.5165 3.06177 20.4307C3.20477 18.3762 3.97801 15.4649 7.05353 14.7257C8.56717 14.3501 9.90784 14.5578 11.0888 15.1849C12.2262 15.7889 13.1511 16.7475 13.9488 17.7651C14.6252 18.628 15.27 19.6144 15.8943 20.5696C16.005 20.7389 16.115 20.9073 16.2245 21.0738C16.9691 22.2064 17.7052 23.2839 18.5251 24.2105C20.5172 26.4546 22.6407 26.4339 23.9656 25.4942C25.3485 24.5132 26.3824 22.1666 25.3144 18.7467C24.4763 16.3962 23.2552 14.2213 21.7161 12.3021C21.2889 12.624 20.8637 12.91 20.4383 13.1607C18.0456 14.5706 15.7108 14.8252 13.1604 14.216C10.9987 13.7037 9.45902 12.6059 8.60096 11.199C7.74787 9.8003 7.62598 8.17808 8.1682 6.79015C8.71457 5.39157 9.91766 4.28107 11.5793 3.90087ZM20.0371 10.435C18.831 9.23732 17.484 8.17431 16.0174 7.27229C14.298 6.26947 12.9948 6.14159 12.1369 6.33788C11.2911 6.53142 10.7454 7.06342 10.4968 7.69985C10.244 8.34692 10.2809 9.1522 10.7353 9.89724C11.1845 10.6338 12.1006 11.3958 13.7381 11.7836L13.7405 11.7842C15.7098 12.2548 17.3747 12.0642 19.1692 11.0068C19.4536 10.8392 19.7425 10.6491 20.0371 10.435Z"
    />
    <path
      fill="currentColor"
      d="M26.5 8C27.8807 8 29 6.88071 29 5.5C29 4.11929 27.8807 3 26.5 3C25.1193 3 24 4.11929 24 5.5C24 6.88071 25.1193 8 26.5 8Z"
    />
  </svg>
));
Swiggle.displayName = 'Swiggle';
