/*
 * 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 HeaderThree: 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="header-three" ref={ref} {...props}>
            <path
                d={isLarge ? "M40 180V80A20 20 0 1 0 0 80V340A20 20 0 0 0 40 340V220H180V340A20 20 0 1 0 220 340V80A20 20 0 1 0 180 80V180zM369.16 107.2C378.8999999999999 105 386.4599999999999 99.6 391.84 90.8S400 71.44 400 58.64Q400 44.8399999999999 395.22 34.06Q390.44 23.22 382.1 15.68C376.7000000000001 10.68 370.34 6.8799999999999 362.98 4.08S348.0600000000001 -0.1 339.9000000000001 -0.1C329.94 -0.1 321.4 1.5 314.02 4.7A50.8 50.8 0 0 0 295.52 18.3A60 60 0 0 0 284.18 39.46Q280.28 52.0599999999999 280 67.04H307.66C307.26 55.4400000000001 309.86 45.64 315.22 37.86C320.8 30.06 328.76 26.26 339.7 26.26Q353.74 26.26 362.98 35.2600000000001C369.1600000000001 41.2600000000001 372.3400000000001 49.66 372.3400000000001 60.66C372.3400000000001 68.04 370.94 74.02 368.3400000000001 78.4200000000001A25.4 25.4 0 0 1 358.2 88.4200000000001A40 40 0 0 1 344.0800000000001 92.6200000000001A108 108 0 0 1 327.96 93.2200000000001V116.5800000000001C332.3400000000001 116.3800000000001 336.92 116.5800000000001 341.5 117.5800000000001S350.06 120.1800000000001 353.64 122.3800000000001S360 127.7800000000001 362.2 131.7800000000001S365.38 140.7800000000001 365.38 146.5600000000001Q365.42 158.8400000000001 358.02 166.3400000000001C353.02 171.3400000000001 346.66 173.7400000000001 338.9 173.7400000000001C334.12 173.7400000000001 329.94 172.5400000000001 326.36 170.3400000000001Q321 167.0400000000001 317.4200000000001 161.3400000000001C315.0200000000001 157.5400000000001 313.4200000000001 153.3400000000001 312.2200000000001 148.7400000000001C311.2400000000001 144.1400000000001 310.6400000000001 139.3600000000001 310.8400000000001 134.3600000000001H283.2C283.4 143.7600000000001 285 152.3600000000001 287.8 160.3600000000001C290.56 168.3400000000001 294.3400000000001 175.3200000000001 299.12 181.1200000000001Q306.3 190.1200000000001 316.44 194.9200000000001C323.2 198.3200000000001 330.9600000000001 199.9200000000001 339.52 199.9200000000001C346.08 199.9200000000001 352.66 198.9200000000001 359.02 196.7200000000001Q368.5800000000001 193.4200000000001 376.3400000000001 187.1200000000001C381.52 182.9200000000001 385.7 177.7200000000001 388.68 171.1200000000001C391.68 164.7200000000001 393.26 157.1400000000001 393.26 148.7600000000001C393.26 139.1600000000001 391.4600000000001 130.5600000000001 387.48 123.3600000000001A34 34 0 0 0 369.18 107.6000000000001z" : "M20 280C8.8 280 0 271 0 260V60C0 49.2 9 40 20 40C31.2 40 40 49 40 60V140H120V60C120 49.2 129 40 140 40C151.2 40 160 49 160 60V260C160 270.8 151 280 140 280C128.8 280 120 271 120 260V180H40V260C40 270.8 31 280 20 280M294.2000000000001 85.4C302.4000000000001 83.8 308.6 79.4 313.2 72.38C317.8 65.38 320 56.94 320 46.92C320 39.5 318.6 32.88 316 27.46C313.2 21.66 309.6 16.66 305 12.64S295 5.42 289 3.2S276.6 0 269.8 0C261.6 0 254.4 1.2 248.2 3.8A40 40 0 0 0 232.8 14.64A48 48 0 0 0 223.4 31.68C221.2 38.28 220.2 45.72 220 53.74H242.8C242.6 44.32 244.6 36.5 249.2 30.28S260.6 20.86 269.6 20.86C277.4 20.86 283.8 23.26 289 28.0599999999999Q296.8 35.28 296.8 48.52C296.8 54.52 295.8 59.14 293.6 62.76C291.4 66.16 288.6 68.96 285 70.76A32 32 0 0 1 273.2 74.18C268.8 74.58 264.4000000000001 74.78 259.8 74.58V93.24C263.6 93.04 267.4000000000001 93.24 271.2 94.0399999999999C275 94.6399999999999 278.4 96.0399999999999 281.4 97.8399999999999C284.2000000000001 99.6399999999999 286.6 102.2399999999999 288.4 105.4599999999999C290.2 108.6599999999999 291.2 112.68 291.2 117.2999999999999C291.2 123.8999999999999 289.2000000000001 129.1199999999999 285 133.1399999999999C281 137.1399999999999 275.6 139.1399999999999 269.2000000000001 139.1399999999999A20 20 0 0 1 258.6 136.5399999999999C255.6 134.7399999999999 253.2000000000001 132.3399999999999 251.2000000000001 129.34C249.2000000000001 126.3199999999999 247.8000000000001 122.9 246.8000000000001 119.0999999999999S245.4000000000001 111.4799999999999 245.6 107.4599999999999H222.6C222.8 115.0799999999999 224.2 121.8999999999999 226.4 128.3199999999999S231.8 140.3599999999999 235.8 144.9599999999999C239.6 149.5599999999999 244.6 153.3799999999999 250.2000000000001 155.9999999999999C255.8 158.5999999999999 262.2000000000001 159.9999999999999 269.4000000000001 159.9999999999999C275.0000000000001 159.9999999999999 280.4000000000001 159.1999999999999 285.8000000000001 157.3999999999999C291.2000000000001 155.7999999999999 296.0000000000001 153.1999999999999 300.2000000000001 149.7799999999999C304.4000000000001 146.3799999999999 307.8000000000001 142.1599999999999 310.4000000000001 136.9399999999999C313.0000000000001 131.7399999999999 314.2000000000001 125.7199999999999 314.2000000000001 118.8999999999999Q314.2000000000001 107.1599999999999 309.4000000000001 98.4399999999999C306.2000000000001 92.6399999999999 301.0000000000001 88.4399999999999 294.2000000000001 85.8199999999999z"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
HeaderThree.displayName = `Blueprint6.Icon.HeaderThree`;
export default HeaderThree;
