/*
 * 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 SeriesConfiguration: 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="series-configuration" ref={ref} {...props}>
            <path
                d={isLarge ? "M238.2 186.6C248.6 177.6 260.8 170.6 274.2000000000001 166L234.0000000000001 125.8C230.4000000000001 122.2000000000001 225.4000000000001 120.0000000000001 219.8000000000001 120.0000000000001S209.2000000000001 122.2000000000001 205.6 126.0000000000001L140 191.8L40 91.8V60H379.8C390.8 60 399.8 51 399.8 40S390.8 20 379.8 20H20A20 20 0 0 0 0 40V320C0 331 9 340 20 340S40 331 40 320V148.2L125.8 234.2C129.4 237.8 134.4 240 140 240S150.6 237.8 154.2 234.2L220 168.2zM370 308H390.8C395.8 308 399.8 304 400 299.2V281.2C400 276.2 396 272.2 391 272.2H370.2000000000001C368.8 267.8 367 263.8 364.8000000000001 259.8L379.4000000000001 245.2C382.8000000000001 241.8 382.8000000000001 236.4 379.4000000000001 233L367.2000000000001 220.8C363.8 217.4 358.4000000000001 217.4 355.0000000000001 220.8L340.4000000000001 235.4000000000001C336.4000000000001 233.2000000000001 332.4000000000001 231.4000000000001 328.0000000000001 230.2000000000001V209.2C328.0000000000001 204.2 324.0000000000001 200.2000000000001 319.0000000000001 200.2000000000001H301.0000000000001C296.0000000000001 200.2000000000001 292.0000000000001 204.2 292.0000000000001 209.2V229.8C287.8000000000001 231 284.0000000000001 232.8 280.4000000000001 234.8L265.2000000000001 219.4C261.8000000000001 216 256.0000000000001 216 252.4000000000001 219.4L239.6000000000001 232.2A9.3 9.3 0 0 0 239.6000000000001 245.0000000000001L254.8000000000001 260.4000000000001C252.8000000000001 264.2000000000001 251.0000000000001 268 249.8000000000001 272.2000000000001H229.0000000000001C224.0000000000001 272.2000000000001 220.0000000000001 276.2000000000001 220.0000000000001 281.2000000000001V299.2000000000001C220.0000000000001 304.2000000000001 224.0000000000001 308.2000000000001 229.0000000000001 308.2000000000001H249.8000000000001C251.2000000000001 312.6 253.0000000000001 316.6 255.2000000000001 320.4000000000001L240.6 335A8.6 8.6 0 0 0 240.6 347.2000000000001L252.8 359.4000000000001C256.2 362.8 261.6 362.8 265 359.4000000000001L279.6 344.8C283.6 347 287.6 348.8 292 350.0000000000001V371A8.8 8.8 0 0 0 300.8 380H318.8C323.8 380 327.8 376 327.8 371V350C332 348.8 335.8 347 339.4 345L354.6 360.4C358.0000000000001 363.8 363.8 363.8 367.4000000000001 360.4L380.2000000000001 347.6C383.6000000000001 344.2 383.6000000000001 338.4 380.2000000000001 334.8L365 319.4C367 316 368.8 312.2 370 308M276.2 290C276.2 271.4 291.2 256.2 310 256.2C328.6 256.2 343.8 271.2 343.8 290S328.8 323.8 310 323.8S276.2 308.6 276.2 290" : "M198.8 127.2C211.8 122.6 225.6 120 240 120C242.8 120 245.8 120.2 248.6 120.2L194 65.8C190.4 62.2 185.4 60 179.8 60S169.2 62.2 165.6 66L100 131.8L40 71.8V40H299.8C310.8 40 319.8 31 319.8 20S310.8 0 299.8 0H20C9 0 0 9 0 20V220C0 231 9 240 20 240S40 231 40 220V128.2L85.8 174.2C89.4 177.8 94.4 180 100 180S110.6 177.8 114.2 174.2L180 108.2zM293.4 256H311.8C316.2 256 319.8 252.4 319.8 248V232C319.8 227.6 316.2 224 311.8 224H293.2C292 220 290.4 216.4 288.4 213L301.6 200C304.6 197 304.6 192 301.6 189L290.8 178C287.8 175 282.8 175 279.8 178L266.8 191C263.4 189 259.6 187.4 255.8 186.2V168C255.8 163.6 252.2 160 247.8 160H231.8C227.3999999999999 160 223.7999999999999 163.6 223.7999999999999 168V186.6C220.1999999999999 187.8 216.5999999999999 189.2 213.3999999999999 191L199.7999999999999 177.4C196.7999999999999 174.2 191.5999999999999 174.2 188.3999999999999 177.4L177.1999999999999 188.6A8.34 8.34 0 0 0 177.1999999999999 200L190.7999999999999 213.6C189.1999999999999 216.8 187.5999999999999 220.2 186.3999999999999 224H167.7999999999999C163.3999999999999 224 159.7999999999999 227.6 159.7999999999999 232V248C159.7999999999999 252.4 163.3999999999999 256 167.7999999999999 256H186.3999999999999C187.5999999999999 260 189.1999999999999 263.6 191.1999999999999 267L178.1999999999999 279.8A7.8 7.8 0 0 0 178.1999999999999 290.8L188.9999999999999 301.8A7.6 7.6 0 0 0 199.7999999999999 301.8L212.7999999999999 288.8C216.3999999999999 290.8 219.9999999999999 292.4 223.7999999999999 293.6V312C223.7999999999999 316.4 227.3999999999999 320 231.8 320H247.8C252.2 320 255.8 316.4 255.8 312V293.4C259.3999999999999 292.2 262.8 290.6 266.2 289L279.8 302.6C282.8 305.8 288 305.8 291.2 302.6L302.6 291.2C305.6 288 305.6 283 302.6 279.8L289 266.2C290.8 263 292.2 259.6 293.4 256M209.8 240C209.8 223.4 223.2 210 239.8 210S269.8 223.4 269.8 240S256.4 270 239.8 270C223.4 270 209.8 256.6 209.8 240"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
SeriesConfiguration.displayName = `Blueprint6.Icon.SeriesConfiguration`;
export default SeriesConfiguration;
