/*
 * 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 SportsStadium: 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="sports-stadium" ref={ref} {...props}>
            <path
                d={isLarge ? "M160 390A10 10 0 0 0 170 400C178.66 400 180 394.62 180 394.62C186.76 403.68 196.38 399.52 206.8 395.02C217.76 390.3 229.6 385.18 240 394.62V344.74C229.6 336.46 217.52 340.74 206.36 344.7C196.12 348.34 186.66 351.7 180 344.74V299.6Q189.88 300 200 300C228.44 300 255.5 297.62 280 293.3400000000001V370A10 10 0 0 0 290 380C298.66 380 300 374.62 300 374.62C306.76 383.68 316.38 379.52 326.8 375.02C337.76 370.3 349.6 365.18 360 374.62V324.74C349.6 316.46 337.5200000000001 320.74 326.36 324.7C316.12 328.3400000000001 306.6600000000001 331.7 300.0000000000001 324.74V289.3C359.7800000000001 275.46 400 249.62 400 220C400 207.38 392.7000000000001 195.44 379.6800000000001 184.82C374.0800000000001 226.76 295.76 260 200 260S25.94 226.76 20.32 184.82C7.32 195.44 0 207.4 0 220C0 238.06 14.96 254.72 40.18 268.1A10 10 0 0 0 40 270V370A10 10 0 0 0 50 380C58.66 380 60 374.62 60 374.62C66.76 383.68 76.38 379.52 86.8 375.02C97.76 370.3 109.6 365.18 120 374.62V324.74C109.6 316.46 97.52 320.74 86.36 324.7C76.12 328.3400000000001 66.66 331.7 60 324.74V277.14C87 287.74 121.5 295.28 160 298.4zM357.36 170.62A20 20 0 0 1 360 180C360 184.54 358 190.36 351.36 197.36C344.62 204.44 333.92 211.74 319.1600000000001 218.3C289.68 231.4 247.56 240 200 240S110.32 231.4 80.84 218.3C66.08 211.74 55.38 204.44 48.64 197.36C41.98 190.36 40 184.54 40 180C40 177.32 40.7 174.18 42.64 170.62C79.24 151.98 136.14 140 200 140S320.74 151.98 357.36 170.62M200 120C257.12 120 309.76 129.22 348.8400000000001 144.86C369.4 153.06 387.14 167.12 400 180V60C400 33.14 341.14 7.64 260 0V20A60 60 0 0 1 140 20V0C58.86 7.64 0 33.14 0 60V180C14.4 165.8 32.52 152.32 51.16 144.86C90.24 129.22 142.88 120 200 120" : "M120 310A10 10 0 0 0 136.32 317.74C143.08 322.2200000000001 153.04 319.2 163.64 316C176.22 312.2 189.72 308.08 200 315.8V263.4C189.8 257.1 178.3 260.84 167.64 264.32C156.88 267.84 146.94 271.08 140 263.4V239.54Q149.84 240 160 240C181.2 240 201.48 238.46 220 235.64V310A10 10 0 0 0 236.32 317.74C243.08 322.2200000000001 253.04 319.2 263.64 315.98C276.2200000000001 312.18 289.7200000000001 308.08 300 315.78V263.4C289.8 257.1 278.3 260.84 267.64 264.32C256.88 267.84 246.94 271.08 240 263.4V232C287.82 221.6 320 202.22 320 180.02C320 168.98 312.04 158.62 298.18 149.74C287.32 178.24 229.58 200 160 200C90.4 200 32.68 178.24 21.84 149.72C7.94 158.62 0 168.96 0 180C0 190.56 7.28 200.48 20.04 209.1L20 210V310A10 10 0 0 0 36.32 317.74C43.08 322.2200000000001 53.04 319.2 63.64 316C76.22 312.2 89.72 308.08 100 315.8V263.4C89.8 257.1 78.3 260.84 67.64 264.32C56.88 267.84 46.94 271.08 40 263.4V219.68C60.84 228.54 88.56 235.08 120 238.1zM280 140.3C279.9 141.92 279.0800000000001 144.94 274.76 149.3C270.08 154.06 262.3 159.24 251.12 164.04C228.8 173.6 196.6 180 160 180S91.2 173.6 68.88 164.04C57.68 159.24 49.92 154.04 45.24 149.3C40.92 144.94 40.1 141.92 40 140.3C69.32 127.86 112.2 120 160 120S250.68 127.86 280 140.3M280.16 118.84C248.44 106.94 205.96 100 160 100S71.56 106.96 39.84 118.84C24.4 124.64 10.5 131.22 0 140.3V60C0 32.04 51 6.66 120 0V20A40 40 0 1 0 200 20V0C269 6.66 320 32.04 320 60V140.3C309.5 131.22 295.6 124.64 280.16 118.84"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
SportsStadium.displayName = `Blueprint6.Icon.SportsStadium`;
export default SportsStadium;
