/*
 * 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 ImageRotateLeft: 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="image-rotate-left" ref={ref} {...props}>
            <path
                d={isLarge ? "M210 140C226.6 140 240 153.4 240 170S226.6 200 210 200S180 186.6 180 170S193.4 140 210 140M280 260H20C9 260 0 251 0 240V20C0 9 9 0 20 0H280C291 0 300 9 300 20V240C300 251 291 260 280 260M260 60L160 120L140 80L100 160L40 70V220H260zM320 360H288.2L294 365.8C297.8 369.4 300 374.4 300 380A20.06 20.06 0 0 1 265.8 394.2L225.8 354.2C222.2 350.6 220 345.6 220 340S222.2 329.4 225.8 325.8L265.8 285.8A20.06 20.06 0 0 1 294.2 314.2L288.2 320H320C342 320 360 302 360 280V220C360 209 369 200 380 200S400 209 400 220V280C400 324.2 364.2000000000001 360 320 360" : "M260 280H228.2L234 285.8C237.8 289.4 240 294.4 240 300A20.06 20.06 0 0 1 205.8 314.2L165.8 274.2C162.2 270.6 160 265.6 160 260S162.2 249.4 165.8 245.8L205.8 205.8A20.06 20.06 0 0 1 234.2 234.2L228.2 240H260C271 240 280 231 280 220V160C280 149 289 140 300 140S320 149 320 160V220C320 253.2 293.2 280 260 280M150 100C155.6 100 160 104.4 160 110S155.6 120 150 120S140 115.6 140 110S144.4 100 150 100M200 180H20C9 180 0 171 0 160V20C0 9 9 0 20 0H200C211 0 220 9 220 20V160C220 171 211 180 200 180M180 53.4L140 80L120 60L80 120L40 66.6V140H180z"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
ImageRotateLeft.displayName = `Blueprint6.Icon.ImageRotateLeft`;
export default ImageRotateLeft;
