/*
 * 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 NewPerson: 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="new-person" ref={ref} {...props}>
            <path
                d={isLarge ? "M228.2 81.6C199 94.6 203 102.6 202 113.4C201.8 114.8 201.8 116.4 201.8 118C211.8 127 220 139.4 225.4 153.6C225.4 153.6 225.6 154.4 225.8 154.6C227 157.6 228 161 228.8 164.2C235.4 165.6 239.4 173 240.8 179.8C242.4 182.6 245.4 189.4 244.8 197.2C243.8 207.2 240 211.8 235.4 213.6V215.4C235.4 228 234.2 246.4 232 258.4C231.6 261.8 230.8 265 229.8 268.4C225.4 283 216.4 296.4 204.4 305.6C191.6 315 174 320 158.4 320S125.2 315 112.8 305.4C100.6 296 91.6 282.8 87.4 268.2C86.4 265 85.8 261.6 85.2 258.2C82.8 246.2 81.6 228 81.6 215.4V213.8C77 212 73 207.4 72 197.2C71.2 189.4 74.4 182.6 76 179.8C77.6 172.8 81.6 165.4 88.4 164.2Q89.6 159.1 91.4 154.6C91.4 154.4 91.6 154.2 91.6 154L91.8 153.8C97.2 139.4 105.6 126.8 116 117.8C116 116.4 115.8 115 115.8 113.6C114.8 102.8 117.8 94.8 88.6 81.8S15.4 54.8 6.4 33.8C-2.8 12.4 0.8 0 0.8 0H315.8S319.4 12.4 310.4 33.4C301.4 54.6 257.4 68.4 228.2 81.6M377.4000000000001 340H337.4000000000001V380C337.4000000000001 391 328.4000000000001 400 317.4000000000001 400S297.4000000000001 391 297.4000000000001 380V340H257.4000000000001C246.4 340 237.4000000000001 331 237.4000000000001 320S246.4 300 257.4000000000001 300H297.4000000000001V260C297.4000000000001 249 306.4 240 317.4000000000001 240S337.4000000000001 249 337.4000000000001 260V300H377.4000000000001C388.4000000000001 300 397.4000000000001 309 397.4000000000001 320S388.4000000000001 340 377.4000000000001 340" : "M182.4 66.2C159 76.8 162.2 83.2 161.4 92C161.2 93.2000000000001 161.2 94.4 161.2 95.8C169.2 103.2 175.8 113.2 180 124.6C180 124.6 180.2 125.2 180.2 125.4C181.2 128.2 182 130.8 182.5999999999999 133.4C188 134.6 191.1999999999999 140.6 192.4 146C193.6 148.2 196.1999999999999 153.8 195.6 160C194.8 168.2 191.6 172 188 173.6V175C188 185.2 186.9999999999999 200 185.1999999999999 209.8C184.7999999999999 212.4 184.1999999999999 215.2000000000001 183.3999999999999 217.8C180 229.8 172.8 240.6 163.1999999999999 248.2000000000001C153.2 256 139.2 260 126.6 260C114.2 260 100 256 90.2 248.2C80.4 240.6 73.2 229.8 69.8 217.8C69 215.2 68.4 212.6 68 209.8C66.2 200 65.4 185.2 65.4 175V173.8C61.6 172.2 58.4 168.4 57.6 160.2C57 154 59.6 148.4 60.8 146.2C62 140.6 65.2 134.4 70.8 133.4C71.4 130.6 72.2 128 73 125.4C73 125.2 73.2 125 73.2 125V124.8C77.6 113 84.2 102.8 92.4 95.6C92.4 94.4 92.2 93.2000000000001 92.2 92.2C91.4 83.4 93.8 77 70.4 66.4S11.8 44.4 4.6 27.4C-2.4 10 0.6 0 0.6 0H252.6S255.6 10 248.2 27.2C241 44.2 205.8 55.6 182.4 66.2M297.8 280H277.8V300C277.8 311 268.8 320 257.8 320S237.8 311 237.8 300V280H217.8C206.8 280 197.8 271 197.8 260S206.8 240 217.8 240H237.8V220C237.8 209 246.8 200 257.8 200S277.8 209 277.8 220V240H297.8C308.8 240 317.8 249 317.8 260S308.8 280 297.8 280"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
NewPerson.displayName = `Blueprint6.Icon.NewPerson`;
export default NewPerson;
