/*
 * 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 = ["M6.006 3.101A6.98 6.98 0 0 0 4 8c0 1.866.736 3.611 2.002 4.9Q5.515 13 5 13a5 5 0 1 1 1.006-9.899M16 8a5 5 0 0 0-6-4.9A7 7 0 0 1 12 8c0 1.865-.736 3.61-2 4.9q.486.1 1 .1a5 5 0 0 0 5-5m-3 0c0-1.37-.348-2.695-.999-3.873l.154.042A4 4 0 0 1 15 8l-.005.2a4 4 0 0 1-2.84 3.63l-.155.043.162-.305A8 8 0 0 0 13 8M8.001 4A5 5 0 0 1 10 8a5 5 0 0 1-1.999 3.999 4.99 4.99 0 0 1-2.001-4 4.99 4.99 0 0 1 1.918-3.937zM8 5.354l-.11.13A3.98 3.98 0 0 0 7 8c0 .957.337 1.856.928 2.563l.072.08.072-.08c.542-.648.87-1.458.921-2.325L9 8c0-.956-.337-1.855-.928-2.562z"] as readonly string[];

/** Path data for the 20px grid; matches {@link generate-icon-paths.mjs} / `<Icon />` from core. */
const PATHS_20 = ["M20 10a6 6 0 0 0-8.25-5.563A7.97 7.97 0 0 1 14 10a7.97 7.97 0 0 1-2.251 5.563A6 6 0 0 0 20 10M8.251 4.437a6 6 0 1 0 0 11.126A7.97 7.97 0 0 1 6 10c0-2.162.857-4.123 2.251-5.563m5.47.57q.14-.006.279-.007a5 5 0 0 1 0 10l-.278-.008-.222-.018.128-.196A8.97 8.97 0 0 0 15 10l-.006-.322a8.96 8.96 0 0 0-1.365-4.456l-.129-.197zM12 9.973a6 6 0 0 1-2 4.472 6 6 0 0 1-2-4.472A6 6 0 0 1 10 5.5q.23.206.438.435A5.98 5.98 0 0 1 12 9.972m-1.999-3-.085.114A5 5 0 0 0 9 9.972a5 5 0 0 0 .844 2.782l.156.22c.593-.79.943-1.74.994-2.748L11 9.972c0-1.01-.3-1.972-.844-2.781z"] as readonly string[];

export const SubtractRightJoin: 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="subtract-right-join" ref={ref} {...props}>
            {paths.map((d, i) => (
                <path key={i} d={d} fillRule="evenodd" />
            ))}
        </SVGIconContainer>
    );
});
SubtractRightJoin.displayName = `Blueprint6.Icon.SubtractRightJoin`;
export default SubtractRightJoin;
