import * as React from "react";
import type { IconProps, IconMetadata, IconComponent } from "../../types";

export const RedwoodJs: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function RedwoodJs(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      className={className}
      strokeWidth={strokeWidth}
      strokeLinecap={strokeLinecap}
      strokeLinejoin={strokeLinejoin}
      strokeDasharray={strokeDasharray}
      opacity={opacity}
      {...props}
      ref={forwardedRef}
    >
      <g clipPath="url(#undefined-clip0_2066_415)">
        <path
          d="M10.6593 0.346607C9.76552 0.788484 7.8749 1.67224 6.86084 2.37404C5.82959 3.07585 5.96709 3.73433 5.52021 4.19354C4.66138 4.99187 3.76365 5.7466 2.83037 6.45491C1.94521 7.14805 2.16006 8.95888 1.94521 9.64336C1.72177 10.3192 1.2749 11.9134 1.05146 12.5892C0.828024 13.2737 1.49834 14.1834 1.94521 15.0845C2.39209 15.9943 3.50927 18.4896 3.95615 19.3993C4.40302 20.3004 5.75224 19.8499 6.86943 20.7596C7.98662 21.6694 9.55068 22.8044 10.6679 23.4802C11.7851 24.1647 12.2319 24.1647 13.3491 23.4802C14.4663 22.8044 16.0304 21.6607 17.1476 20.7596C18.2647 19.8499 19.614 20.3004 20.0608 19.3993C20.5077 18.4896 21.6249 15.9943 22.0718 15.0845C22.5187 14.1834 23.189 13.265 22.9655 12.5892C22.7421 11.9134 22.2952 10.3192 22.0718 9.64336C21.8483 8.95888 22.0718 7.14805 21.178 6.46357C20.2423 5.75534 19.3444 4.9976 18.4882 4.19354C17.7405 3.4744 18.0413 3.06718 17.1476 2.37404C16.2452 1.7069 14.2343 0.805812 13.3405 0.346607C12.9283 0.12364 12.4677 0.00695801 11.9999 0.00695801C11.5321 0.00695801 11.0715 0.12364 10.6593 0.346607Z"
          fill="#fff"
        />
        <path
          d="M7.49682 4.27153L11.682 7.15673C11.7765 7.21738 11.8882 7.24337 11.9999 7.25204C12.1203 7.25204 12.2234 7.21738 12.3179 7.15673L16.5117 4.26287C16.5912 4.20383 16.6543 4.12515 16.695 4.0344C16.7357 3.94364 16.7525 3.84387 16.7439 3.74467C16.7352 3.64547 16.7014 3.55017 16.6457 3.46794C16.59 3.38571 16.5142 3.31932 16.4257 3.27514L12.2406 1.19572C12.0859 1.10908 11.8968 1.10908 11.7421 1.19572L7.57416 3.27514C7.48226 3.31759 7.40327 3.38404 7.34539 3.4676C7.2875 3.55116 7.25282 3.6488 7.24493 3.75041C7.23704 3.85202 7.25624 3.95391 7.30052 4.04554C7.34481 4.13716 7.41258 4.21518 7.49682 4.27153ZM13.4265 8.05781C13.4265 8.24843 13.5124 8.43038 13.6757 8.53435L17.0273 10.8477C17.1315 10.9197 17.2566 10.9545 17.3827 10.9467C17.5088 10.9388 17.6287 10.8887 17.7234 10.8044L20.5335 8.26575C20.5959 8.21001 20.6456 8.14128 20.6791 8.06429C20.7125 7.98731 20.729 7.90391 20.7274 7.81988C20.7257 7.73584 20.706 7.65316 20.6696 7.57756C20.6332 7.50196 20.5809 7.43523 20.5164 7.382L17.8265 5.21594C17.7313 5.13829 17.6137 5.0938 17.4913 5.08912C17.369 5.08443 17.2484 5.1198 17.1476 5.18994L13.6757 7.58994C13.5987 7.64135 13.535 7.7107 13.4901 7.79213C13.4453 7.87357 13.4205 7.96469 13.4179 8.05781H13.4265ZM5.08198 11.2029C5.14883 11.2634 5.20074 11.3387 5.23357 11.4229C5.26639 11.5072 5.27923 11.598 5.27104 11.6881C5.25385 11.8701 5.14213 12.0347 4.98745 12.1213L2.97651 13.343C2.87746 13.4028 2.7627 13.4306 2.64753 13.4229C2.53236 13.4152 2.42228 13.3722 2.33198 13.2997C2.2421 13.2268 2.17603 13.1283 2.14232 13.0171C2.10861 12.9058 2.10882 12.787 2.14291 12.6759L2.88198 10.3278C2.90978 10.2362 2.96 10.153 3.02803 10.086C3.09605 10.019 3.17969 9.97032 3.27126 9.94443C3.36283 9.91855 3.45938 9.91629 3.55203 9.93787C3.64469 9.95945 3.73048 10.0042 3.80151 10.0679L5.07338 11.2116L5.08198 11.2029ZM15.9445 11.4455L12.3265 8.95023C12.2326 8.88616 12.1219 8.85192 12.0085 8.85192C11.8952 8.85192 11.7844 8.88616 11.6906 8.95023L8.06401 11.4369C7.99345 11.4862 7.93454 11.5506 7.89147 11.6255C7.8484 11.7003 7.82222 11.7839 7.81479 11.8701C7.81479 12.052 7.88354 12.2253 8.01244 12.3466L11.6218 15.613C11.7263 15.7092 11.8627 15.7626 12.0042 15.7626C12.1458 15.7626 12.2822 15.7092 12.3867 15.613L15.996 12.3466C16.0611 12.2884 16.1123 12.2162 16.1457 12.1352C16.1791 12.0542 16.1938 11.9667 16.1889 11.8792C16.1839 11.7916 16.1594 11.7063 16.117 11.6297C16.0747 11.5531 16.0157 11.4872 15.9445 11.4369V11.4455ZM6.2851 10.8044L3.47495 8.26575C3.41288 8.2086 3.36378 8.13862 3.33098 8.06058C3.29819 7.98255 3.28248 7.8983 3.28493 7.81359C3.28738 7.72887 3.30792 7.64569 3.34516 7.56971C3.38241 7.49374 3.43547 7.42675 3.50073 7.37334L6.18198 5.18994C6.37963 5.03399 6.65463 5.02532 6.86948 5.16395L10.3328 7.56395C10.4125 7.61679 10.478 7.68879 10.5234 7.77349C10.5687 7.85818 10.5924 7.95291 10.5924 8.04915C10.5924 8.14539 10.5687 8.24012 10.5234 8.32481C10.478 8.40951 10.4125 8.48151 10.3328 8.53435L6.98119 10.8477C6.87777 10.9175 6.75442 10.9511 6.63018 10.9433C6.50593 10.9355 6.38769 10.8867 6.29369 10.8044H6.2851ZM20.7226 14.4434L17.8609 12.7192C17.7578 12.6545 17.6366 12.6254 17.5156 12.6363C17.3947 12.6473 17.2806 12.6976 17.1906 12.7798L13.6929 15.9423C13.6202 16.0083 13.5654 16.0919 13.5337 16.1853C13.5019 16.2786 13.4943 16.3785 13.5115 16.4756C13.5287 16.5727 13.5702 16.6638 13.632 16.7403C13.6938 16.8168 13.7739 16.8761 13.8648 16.9127L18.7117 18.8881C18.7718 18.9228 18.8492 18.9315 18.9179 18.9315C19.1414 18.9315 19.3476 18.8015 19.4335 18.5849L20.946 15.1972C21.0664 14.9286 20.9718 14.608 20.7226 14.452V14.4434ZM21.1179 10.3192L21.857 12.6672C21.9085 12.8405 21.8742 13.0311 21.771 13.1871C21.6878 13.3045 21.5636 13.3858 21.4233 13.4147C21.283 13.4437 21.1371 13.418 21.0148 13.343L19.0124 12.13C18.9343 12.0843 18.8682 12.0203 18.8195 11.9436C18.7709 11.8668 18.7411 11.7795 18.7327 11.6888C18.7243 11.5981 18.7375 11.5067 18.7712 11.4222C18.8049 11.3377 18.8582 11.2625 18.9265 11.2029L20.1984 10.0593C20.2694 9.99551 20.3552 9.95079 20.4479 9.92921C20.5405 9.90763 20.6371 9.90989 20.7286 9.93577C20.8202 9.96165 20.9038 10.0103 20.9719 10.0773C21.0399 10.1443 21.0901 10.2275 21.1179 10.3192ZM10.5046 16.4621C10.539 16.2629 10.4703 16.0636 10.3242 15.9336L6.82651 12.7798C6.7365 12.6976 6.62238 12.6473 6.50143 12.6363C6.38047 12.6254 6.25928 12.6545 6.1562 12.7192L3.29448 14.452C3.17629 14.5257 3.08801 14.6395 3.04549 14.7728C3.00296 14.9062 3.00898 15.0505 3.06245 15.1798L4.57494 18.5762C4.6321 18.7121 4.73914 18.8204 4.87367 18.8785C5.00821 18.9367 5.15983 18.9401 5.29682 18.8881L10.1437 16.904C10.2323 16.8665 10.3102 16.8072 10.3702 16.7315C10.4303 16.6558 10.4706 16.5662 10.4874 16.4708L10.5046 16.4621ZM12.2234 17.4325L16.1078 19.0181C16.3054 19.1047 16.4343 19.278 16.4515 19.486C16.4773 19.7026 16.3828 19.9105 16.2109 20.0318L12.3179 22.7524C12.232 22.8217 12.1117 22.8564 11.9999 22.8564C11.8882 22.8564 11.7765 22.8217 11.682 22.7524L7.78901 20.0318C7.70405 19.9721 7.63663 19.8904 7.59386 19.7953C7.55109 19.7002 7.53456 19.5953 7.54599 19.4915C7.55743 19.3877 7.59642 19.289 7.65885 19.2056C7.72128 19.1223 7.80484 19.0575 7.90073 19.0181L11.7937 17.4325C11.9312 17.3719 12.0859 17.3719 12.2234 17.4325Z"
          fill="#bf4722"
        />
      </g>
      <defs>
        <clipPath id="undefined-clip0_2066_415">
          <path fill="#fff" transform="translate(1)" d="M0 0H22V24H0z" />
        </clipPath>
      </defs>
    </svg>
  );
});

RedwoodJs.displayName = "RedwoodJs";

RedwoodJs.metadata = {
  name: "RedwoodJs",
  category: "icon/framework",
  tags: ["redwood", "js", "icon"],
  description: "RedwoodJs icon from icon/framework category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default RedwoodJs;
