
    import * as React from 'react';

    import { IconType } from '../types';

    type SiCodemirrorProps = React.ComponentPropsWithoutRef<'svg'> & {
      /**
       * The title provides an accessible short text description to the SVG
       */
      title?: string;
      /**
       * Hex color or color name or "default" to use the default hex for each icon
       */
      color?: string;
      /**
       * The size of the Icon.
       */
      size?: string | number;
    }

    const defaultColor = '#D30707';

    const SiCodemirror: IconType = React.forwardRef<SVGSVGElement, SiCodemirrorProps>(function SiCodemirror({title = 'CodeMirror', color = 'currentColor', size = 24, ...others }, ref) {
      if (color === 'default') {
        color = defaultColor;
      }

      return (
        <svg
          xmlns='http://www.w3.org/2000/svg'
          width={size}
          height={size}
          fill={color}
          viewBox='0 0 24 24'
          ref={ref}
          {...others}
        >
          <title>{title}</title>
          <path d='M12.313.858c1.044-.002 2.016.364 2.966 1.178.799.685 1.167 1.52 1.453 2.159.455 1.018.321 1.112-.18 1.398a1.27 1.27 0 0 1-.26.108c.12 1.502.962 1.637 1.232 2.165.176.34.262.752-.553.881-.819.13-.552.76-1.763.815-.864.041-1.372-.257-1.665-.568a4.639 4.639 0 0 1-.623 2.478c.21.104.67.306 1.305.422.881.16 2.155-.522 2.644-.522.153 0 .313-.022.49-.025.374-.007.827.072 1.47.622l.034-.075c-.376-.515-.212-1.885.49-3.535.811-1.904 1.803-3.534 2.606-3.099v-.004c.725.392.36 1.916-.45 3.82-.697 1.636-1.377 2.939-2.083 3.043l-.079.241c.834.662.667.978.441 1.52-.262.619.114 1.175-1.222 1.403a.969.969 0 0 1-.434-.025c-.098.232-.177.412-.177.412s-.13.357-.478.232c-.357-.13-.263-.388-.263-.388l.344-.625c-.214-.231-.327-.492-.297-.586.133-.294.455-.031.423-.356-.619.066-1.206-.294-1.336-.326-.13-.031-.066-.325-1.109.326-.414.258-.794.517-1.18.762.153.784 1.057 2.016 1.74 2.106 2.152-.098 2.152 1.34 1.991 1.37-.325-.618-.846-.489-1.532-.097s.13.325.423.552c-1.437.608-2.848-.537-3.247-.901-.568.903-1.673 1.543-2.438 1.885-.944.423-1.65.983-.944 1.336.588.294.913-.455 1.763-.588.846-.13 1.599.196 1.665.686-.356-.196-.619-.196-.619-.196s.294.196.325.52c.032.326-.03.162-.227.162-.49 0-.552-.424-.98-.357-1.077.098-1.14.552-1.727.62-.588.062-1.567-.26-1.434-1.012.13-.748 1.14-1.273 2.088-1.665.944-.392 2.382-1.63 2.186-2.743-.096-.546-.351-.768-.585-.852-.683.27-1.4.45-2.13.531-2.1.257-2.804-.742-2.983-1.09-1.302.933-3.153 1.275-3.842 2.422.294-1.63 1.175-2.155 3.232-3.099 2.052-.942 2.478-2.891 2.48-2.901v-.006.006c-.002.03-.101 1.773-1.247 3.03.39.746.984 1.125 2.36.984 1.567-.16 3.828-1.52 5.419-2.316 1.109-.556 1.598.49 2.382.553 1.09.09.196 1.238.196 1.238s.819-.13.98-.423c.16-.294-.099-.49.16-.749.262-.262.227-.556-.145-.83-.33-.243-.537-.568-1.614-1.058-1.078-.49-1.994.454-3.233.748-.932.22-1.77-.183-2.129-.399-.956 1.024-2.141 1.222-2.141 1.222v-.004c1.175-.686 1.908-1.931 2.225-3.009.234-.795.07-1.655-.033-2.052-1.51-.03-2.627-1.478-2.627-1.478h.004s1.924 1.238 3.49.717c1.564-.521 1.305-3.554 1.337-3.393.015.078.262.692.3 1.436.367-.044 1.705-.25 1.424-.887-.884-1.99-2.486-3.235-5.312-3.374.518 2.805-1.864 2.038-5.616 3.961C1.687 7.243.653 10.448 1.107 14.17c.277 2.245 1.718 4.716 4.387 6.323a2.58 2.58 0 0 0 1.647-.834c.815-.913.356-2.35 1.696-2.872a4.109 4.109 0 0 1 1.472-.296c.491-.003.781.1.781.1s-2.382.325-2.578 1.697c-.196 1.371-.52 1.99-1.042 2.413-.238.186-.51.324-.802.405 1.564.7 3.462 1.127 5.703 1.127 7.15 0 10-5.673 10.305-7.193.34-1.681 1.324-2.08 1.324-.286 0 3.428-5.136 8.388-11.601 8.388-6.465 0-10.054-3.495-11.523-6.3C-.594 14.032-.2 9.758 1.954 7.18c2.154-2.582 5.081-3.166 7.2-3.851 2.017-.653 1.91-1.86 1.895-1.975-.33-.015-.662-.017-.993-.004.796-.318 1.543-.491 2.257-.492zm9.299 4.492c-.358.006-1.19 1.31-1.863 2.994-.705 1.77-.909 3.314-.69 3.436.122.067 1.168-1.203 1.873-2.97.706-1.77 1.054-3.326.729-3.452a.126.126 0 0 0-.05-.008zm-6.66.502c-.01.779-.283 1.647-1.284 2.178-.08.043-.158.08-.236.112a3.9 3.9 0 0 1 .076.42c.27.151.672.34 1.112.413.784.129 1.34-.396 1.568-.588.227-.192.572-.047.732-.016.16.036.486-.062.259-.16-.231-.098-.49-.44-.686-.862-.208-.833-.5-1.19-.653-1.33-.248.122-.579.029-.8-.12-.03-.015-.06-.03-.088-.047zm6.396.166h.014l-.036.014c-.006.004-.01.01-.015.016.016.07.007.146.007.225a.806.806 0 0 1-.03.24c.006.015 0 .04 0 .059-.019.024-.004.044-.009.064.03.029.074.063.054.102-.01.025-.04.035-.069.044-.014.07-.034.147-.049.226 0 .02 0 .049-.004.068-.015.05-.03.093-.045.147-.01.044 0 .128-.048.137-.02.05-.03.089-.054.138-.01.004-.02-.005-.03 0v.001a1.04 1.04 0 0 1-.03.18c0 .02-.004.054-.004.078-.025.034-.01.059-.02.088.035.04.079.079.054.137-.014.04-.054.05-.088.069-.03.093-.059.206-.088.308-.005.03-.01.064-.02.094-.024.063-.054.127-.073.2-.02.06-.015.167-.078.177-.03.063-.045.112-.079.176-.015.01-.024-.005-.039 0-.015.02-.02.049-.034.069-.01.01-.025.01-.035.024-.02.03-.014.073-.034.118a.318.318 0 0 0-.054.063l-.005.01c-.023.062-.034.136-.062.196.023-.197.045-.426.063-.662.009-.17.022-.382.037-.599a6.43 6.43 0 0 0-.01-.89l.031-.063.064-.123c.014-.151.026-.256.03-.24a.95.95 0 0 1 .023.14c.035-.061.071-.124.113-.193.04-.069.074-.142.118-.196.03-.04.078-.117.113-.19.01-.025.01-.05.048-.055.035-.044.064-.098.103-.137.01-.01.025-.015.035-.02.01-.01.014-.024.029-.034.024-.02.069-.039.098-.078.005-.01.01-.02.02-.03.012-.015.03-.045.05-.068l-.001-.01.017-.006a.062.062 0 0 1 .022-.014zm-.993 1.453c-.057.724-.1 1.45-.128 2.175a1.87 1.87 0 0 0-.045.095c-.049.117-.122.254-.171.391l-.015.079c-.02.054-.049.107-.064.161-.03.084-.068.23-.147.309-.004.01-.024.02-.034.03-.01.014-.005.034-.02.053l-.017.011.117-1.412c.006-.26.033-.515.07-.746l-.003-.032c.015-.083.025-.147.049-.24l.01-.03c.078-.384.164-.645.164-.645l-.032.308c.012-.028.025-.056.04-.084.014-.03.038-.054.053-.088.005-.015.01-.04.015-.059.046-.095.102-.184.158-.276zm-.599 1.579c-.073.505-.127 1.15-.06 1.744-.006.011-.01.023-.018.034-.025.024-.06.039-.084.068-.014.02-.024.05-.044.074a.98.98 0 0 1-.068.078l-.088.128a.212.212 0 0 1-.098.088c-.02.01-.05.005-.074.01-.014-.02 0-.05 0-.074 0-.01-.01-.024-.01-.034 0-.03-.004-.084 0-.113 0-.03.025-.054.035-.098.005-.034 0-.073 0-.112 0-.015.005-.035.005-.06 0-.029 0-.043.004-.083a.598.598 0 0 0-.004-.132c.02-.103.029-.186.058-.308.01-.054.035-.152.06-.216.019-.063.043-.127.063-.196.02-.068.044-.137.068-.205.015-.044.04-.084.06-.133.009-.024.009-.053.019-.083.02-.059.044-.122.073-.176l.083-.162zm-6.268 6.006c-.13.074-.263.146-.4.215.283.203.905.778.65 1.775a2.183 2.183 0 0 1-.038.132c.525.729 1.273 1.112 1.657 1.168.42.063.239-.164.176-.391-.066-.228.392-.294.65-.455.26-.164.13-.423-.716-.294-.762.12-1.833-1.545-1.979-2.15Z' />
        </svg>
      );
    });

    export { SiCodemirror as default, defaultColor };
  