/*
 * Copyright 2024 Palantir Technologies, Inc. All rights reserved.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import * as React from "react";
import type { SVGIconProps } from "../../svgIconProps";
import { IconSize } from "../../iconTypes";
import { SVGIconContainer } from "../../svgIconContainer";

/** Path data for the 16px grid; matches {@link generate-icon-paths.mjs} / `<Icon />` from core. */
const PATHS_16 = ["M11.693 2.693a.5.5 0 0 0 .654.047L15.44.42c.093-.07.21.047.14.14l-2.32 3.093a.5.5 0 0 0 .047.654l.34.34a.5.5 0 0 1 0 .707l-1.47 1.47a.5.5 0 0 0-.142.423l.93 6.506a.5.5 0 0 1-.142.424l-.59.59a.5.5 0 0 1-.54.11L7.275 13.11a.2.2 0 0 0-.274.185v2.011a.5.5 0 0 1-.658.475L4.42 15.14a.5.5 0 0 1-.332-.573l.392-1.962a.2.2 0 0 0-.055-.18L4 12l-.424-.424a.2.2 0 0 0-.181-.055l-1.962.392a.5.5 0 0 1-.573-.332L.22 9.658A.5.5 0 0 1 .693 9h2.01a.2.2 0 0 0 .186-.274l-1.768-4.42a.5.5 0 0 1 .111-.54l.59-.59a.5.5 0 0 1 .424-.14l6.506.929a.5.5 0 0 0 .424-.142l1.47-1.47a.5.5 0 0 1 .707 0z"] as readonly string[];

/** Path data for the 20px grid; matches {@link generate-icon-paths.mjs} / `<Icon />` from core. */
const PATHS_20 = ["M14.724 2.724a.5.5 0 0 0 .61.075l3.98-2.387c.178-.108.381.095.274.274l-2.387 3.98a.5.5 0 0 0 .075.61l.37.37a.5.5 0 0 1 0 .708L15.17 8.83a.5.5 0 0 0-.143.409l.947 8.522a.5.5 0 0 1-.144.409l-.575.575a.5.5 0 0 1-.577.094l-5.389-2.694a.2.2 0 0 0-.289.178v2.868a.5.5 0 0 1-.724.447l-2.934-1.467a.5.5 0 0 1-.267-.546l.404-2.02a.2.2 0 0 0-.055-.18l-.848-.85a.2.2 0 0 0-.181-.054l-2.02.404a.5.5 0 0 1-.546-.266L.362 11.724A.5.5 0 0 1 .809 11h1.914a.2.2 0 0 0 .19-.263L1.097 5.293a.5.5 0 0 1 .12-.511l.612-.612a.5.5 0 0 1 .409-.143l8.522.947a.5.5 0 0 0 .409-.144l2.476-2.476a.5.5 0 0 1 .708 0z"] as readonly string[];

export const FighterJet: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {
    const isLarge = (props.size ?? IconSize.STANDARD) >= IconSize.LARGE;
    const paths = isLarge ? PATHS_20 : PATHS_16;
    return (
        <SVGIconContainer iconName="fighter-jet" ref={ref} {...props}>
            {paths.map((d, i) => (
                <path key={i} d={d} fillRule="evenodd" />
            ))}
        </SVGIconContainer>
    );
});
FighterJet.displayName = `Blueprint6.Icon.FighterJet`;
export default FighterJet;
