/*
 * 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";

export const ArrowTopLeft: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {
    const isLarge = (props.size ?? IconSize.STANDARD) >= IconSize.LARGE;
    const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;
    const translation = `${-1 * pixelGridSize / 0.05 / 2}`;
    const style = { transformOrigin: "center" };
    return (
        <SVGIconContainer iconName="arrow-top-left" ref={ref} {...props}>
            <path
                d={isLarge ? "M354.2000000000001 74.2000000000001L108.2 320H260C271 320 280 329 280 340S271 360 260 360H60C49 360 40 351 40 340V140C40 129 49 120 60 120S80 129 80 140V291.8L325.8 46C329.4 42.2 334.4 40 340 40A20.06 20.06 0 0 1 354.2000000000001 74.2000000000001" : "M274.2000000000001 74.2L108.2 240H200C211 240 220 249 220 260S211 280 200 280H60C49 280 40 271 40 260V120C40 109 49 100 60 100S80 109 80 120V211.8L245.8 46C249.4 42.2 254.4 40 260 40A20.06 20.06 0 0 1 274.2000000000001 74.2"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
ArrowTopLeft.displayName = `Blueprint6.Icon.ArrowTopLeft`;
export default ArrowTopLeft;
