/*
 * Copyright (c) All respective contributors to the Peridot Project. All rights reserved.
 * Copyright (c) 2021-2022 Rocky Enterprise Software Foundation, Inc. All rights reserved.
 * Copyright (c) 2021-2022 Ctrl IQ, Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * 3. Neither the name of the copyright holder nor the names of its contributors
 * may be used to endorse or promote products derived from this software without
 * specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

import React from 'react';
import classnames from 'classnames';

export interface RockyLogoProps {
  className?: string;
}

export const RockyLogo = (props: RockyLogoProps) => {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      width="1104"
      height="256"
      fill="none"
      className={classnames('mt-2 h-8 w-auto sm:h-10', props.className)}
      viewBox="0 0 1104 256"
    >
      <path
        fill="#10B981"
        fillRule="evenodd"
        d="M186.658 128.658C190.119 118.746 192 108.093 192 97c0-53.02-42.981-96-96-96C42.98 1 0 43.98 0 97c0 26.234 10.523 50.011 27.578 67.338l97.38-97.38L149 91l37.658 37.658zm-17.536 30.547l-44.164-44.163-69.16 69.16C68.027 189.849 81.645 193 96 193c29.288 0 55.514-13.116 73.122-33.795z"
        clipRule="evenodd"
      />
      <path
        d="M251.072 147V46.2h49.248c5.088 0 9.744.768 13.968 2.304 4.32 1.536 8.016 3.696 11.088 6.48 3.072 2.688 5.472 5.952 7.2 9.792 1.728 3.84 2.592 8.064 2.592 12.672 0 6.336-1.824 12-5.472 16.992-3.552 4.992-8.304 8.688-14.256 11.088L337.76 147h-23.328l-19.728-38.592h-22.752V147h-20.88zm47.376-82.8h-26.496v27.072h26.496c4.704 0 8.448-1.248 11.232-3.744 2.88-2.496 4.32-5.76 4.32-9.792s-1.44-7.296-4.32-9.792c-2.784-2.496-6.528-3.744-11.232-3.744zm41.247 45.36c0-5.472 1.008-10.56 3.024-15.264 2.112-4.8 4.944-8.928 8.496-12.384 3.648-3.552 7.92-6.336 12.816-8.352 4.896-2.016 10.128-3.024 15.696-3.024s10.8 1.008 15.696 3.024c4.896 2.016 9.12 4.8 12.672 8.352 3.648 3.456 6.48 7.584 8.496 12.384 2.112 4.704 3.168 9.792 3.168 15.264 0 5.472-1.056 10.608-3.168 15.408-2.016 4.704-4.848 8.784-8.496 12.24-3.552 3.456-7.776 6.192-12.672 8.208-4.896 2.016-10.128 3.024-15.696 3.024s-10.8-1.008-15.696-3.024c-4.896-2.016-9.168-4.752-12.816-8.208-3.552-3.456-6.384-7.536-8.496-12.24-2.016-4.8-3.024-9.936-3.024-15.408zm40.032 21.744c5.76 0 10.656-2.112 14.688-6.336s6.048-9.36 6.048-15.408c0-6.144-2.016-11.328-6.048-15.552s-8.928-6.336-14.688-6.336-10.656 2.112-14.688 6.336-6.048 9.408-6.048 15.552c0 6.048 2.016 11.184 6.048 15.408s8.928 6.336 14.688 6.336zm89.441-.144c3.36 0 6.48-.672 9.36-2.016 2.976-1.344 5.808-3.456 8.496-6.336l11.808 12.24c-3.84 4.224-8.448 7.536-13.824 9.936-5.376 2.304-10.944 3.456-16.704 3.456-5.472 0-10.656-1.008-15.552-3.024-4.8-2.016-8.976-4.752-12.528-8.208-3.456-3.456-6.192-7.536-8.208-12.24-2.016-4.8-3.024-9.936-3.024-15.408 0-5.472 1.008-10.56 3.024-15.264 2.016-4.8 4.752-8.928 8.208-12.384 3.552-3.552 7.728-6.336 12.528-8.352 4.896-2.016 10.08-3.024 15.552-3.024 5.952 0 11.664 1.2 17.136 3.6 5.472 2.304 10.128 5.568 13.968 9.792l-12.096 12.816c-2.688-2.976-5.568-5.232-8.64-6.768-3.072-1.536-6.384-2.304-9.936-2.304-5.664 0-10.464 2.112-14.4 6.336-3.84 4.224-5.76 9.408-5.76 15.552s1.968 11.28 5.904 15.408c4.032 4.128 8.928 6.192 14.688 6.192zM509.089 147V46.2l19.728-4.32v61.776l32.4-31.68h22.32l-35.136 34.416L585.697 147h-25.2l-31.68-34.272V147h-19.728zm103.554 3.456l1.152-2.736-29.233-75.744h21.745l18.576 51.12 21.312-51.12h21.312l-34.56 80.928c-3.84 9.024-8.304 15.456-13.392 19.296-5.088 3.84-11.712 5.76-19.872 5.76-1.728 0-3.408-.096-5.04-.288-1.536-.096-2.784-.288-3.744-.576v-16.992c.96.192 1.968.336 3.024.432 1.056.096 2.352.144 3.888.144 3.552 0 6.528-.864 8.928-2.592 2.496-1.728 4.464-4.272 5.904-7.632zM706.744 147V46.2h11.088v90.864h60.048V147h-71.136zm90.219-85.968c-1.92 0-3.6-.72-5.04-2.16-1.44-1.44-2.16-3.12-2.16-5.04 0-2.016.72-3.696 2.16-5.04 1.44-1.44 3.12-2.16 5.04-2.16 2.016 0 3.696.72 5.04 2.16 1.44 1.344 2.16 3.024 2.16 5.04 0 1.92-.72 3.6-2.16 5.04-1.344 1.44-3.024 2.16-5.04 2.16zm5.328 13.824V147h-10.656V74.856h10.656zM820.463 147V74.856h10.656v8.496c2.784-3.264 6.096-5.712 9.936-7.344 3.84-1.728 8.112-2.592 12.816-2.592 8.16 0 14.832 2.592 20.016 7.776 5.184 5.184 7.776 11.904 7.776 20.16V147h-10.512v-43.488c0-6.336-1.824-11.376-5.472-15.12-3.648-3.744-8.544-5.616-14.688-5.616-4.32 0-8.208.96-11.664 2.88-3.36 1.92-6.096 4.656-8.208 8.208V147h-10.656zm88.552-72.144v43.488c0 6.336 1.824 11.376 5.472 15.12 3.648 3.744 8.544 5.616 14.688 5.616 4.32 0 8.16-.96 11.52-2.88 3.456-2.016 6.24-4.8 8.352-8.352V74.856h10.656V147h-10.656v-8.352c-2.784 3.264-6.096 5.712-9.936 7.344-3.744 1.632-7.968 2.448-12.672 2.448-8.256 0-14.976-2.592-20.16-7.776-5.184-5.184-7.776-11.904-7.776-20.16V74.856h10.512zM969.47 147l28.368-37.152-26.928-34.992h12.672l20.448 27.072 20.45-27.072h12.24l-26.64 34.848L1038.59 147h-12.67l-22.03-29.376L981.566 147H969.47zM1048 70.624V54.976h-5.18v-3.024h5.18v-6.096l3.5-.912v7.008h7.25v3.024h-7.25v14.736c0 1.28.29 2.208.87 2.784.57.544 1.52.816 2.83.816.67 0 1.26-.048 1.78-.144a9.924 9.924 0 001.72-.48v3.12c-.6.224-1.29.384-2.06.48-.74.096-1.46.144-2.16.144-2.08 0-3.68-.496-4.8-1.488-1.12-.992-1.68-2.432-1.68-4.32zM1062.56 76V51.952h3.55v2.64c.89-1.024 1.93-1.792 3.12-2.304 1.18-.544 2.49-.816 3.93-.816 1.67 0 3.16.4 4.47 1.2a8.08 8.08 0 013.12 3.168c.99-1.472 2.17-2.56 3.55-3.264 1.41-.736 2.98-1.104 4.7-1.104 2.6 0 4.71.864 6.34 2.592 1.66 1.728 2.5 3.968 2.5 6.72V76h-3.51V61.504c0-2.112-.56-3.792-1.68-5.04-1.12-1.248-2.64-1.872-4.56-1.872-1.31 0-2.51.336-3.6 1.008-1.09.672-2.01 1.648-2.78 2.928.06.352.11.72.14 1.104.07.352.1.736.1 1.152V76h-3.51V61.504c0-2.112-.56-3.792-1.68-5.04-1.12-1.248-2.62-1.872-4.51-1.872-1.28 0-2.45.304-3.5.912-1.03.576-1.91 1.44-2.64 2.592V76h-3.55z"
        className="logo-text"
      />
    </svg>
  );
};
