/*
 * 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 AlignmentLeft: 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="alignment-left" ref={ref} {...props}>
            <path
                d={isLarge ? "M20 400C9 400 0 391 0 380V20C0 9 9 0 20 0S40 9 40 20V380C40 391 31 400 20 400M240 180H100C89 180 80 171 80 160V80C80 69 89 60 100 60H240C251 60 260 69 260 80V160C260 171 251 180 240 180M380 340H100C89 340 80 331 80 320V240C80 229 89 220 100 220H380C391 220 400 229 400 240V320C400 331 391 340 380 340" : "M180 140H100C89 140 80 131 80 120V60C80 49 89 40 100 40H180C191 40 200 49 200 60V120C200 131 191 140 180 140M20 320C9 320 0 311 0 300V20C0 9 9 0 20 0S40 9 40 20V300C40 311 31 320 20 320M280 280H100C89 280 80 271 80 260V200C80 189 89 180 100 180H280C291 180 300 189 300 200V260C300 271 291 280 280 280"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
AlignmentLeft.displayName = `Blueprint6.Icon.AlignmentLeft`;
export default AlignmentLeft;
