/*
 * 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 Paragraph: 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="paragraph" ref={ref} {...props}>
            <path
                d={isLarge ? "M330 380H140C84 380 40 336 40 280S84 180 140 180V50C140 34 154 20 170 20S200 34 200 50V320H240V50C240 34 254 20 270 20S300 34 300 50V320H330C346 320 360 334 360 350S346 380 330 380" : "M260 300H120C76 300 40 264 40 220S76 140 120 140V40C120 28 128 20 140 20S160 30 160 40V260H200V40C200 28 208 20 220 20S240 30 240 40V260H260C270 260 280 268 280 280S272 300 260 300"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
Paragraph.displayName = `Blueprint6.Icon.Paragraph`;
export default Paragraph;
