/*
 * 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 DeriveColumn: 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="derive-column" ref={ref} {...props}>
            <path
                d={isLarge ? "M142 236H122.2C127.8 258.2000000000001 135.4 274.4 144.6 284.6C150.2 291 155.8 294.2000000000001 161.2 294.2000000000001C162.2 294.2000000000001 163.2 293.8 163.8 293.2000000000001S164.8 291.8 164.8 290.8C164.8 290 164 288.2000000000001 162.6 285.8A12.8 12.8 0 0 1 160.2000000000001 278.8Q160.2000000000001 274.3000000000001 163.8 271C166.2 268.8 169.2 267.8000000000001 172.8 267.8000000000001C176.8 267.8000000000001 180 269.2000000000001 182.6 271.8000000000001S186.6 278 186.6 282.6Q186.6 290.4000000000001 180.6 295.2000000000001C176.8 298.4 170.4 300 161.6 300C148 300 135.6 296.2 124.6 288.4C113.4 280.8 102.8 268 92.8 250.2C89.4 244.2 86 240.2 83 238.4C80 236.8 75 235.8 68.2 236L63.6 220.6H82.6L54.8 115.8C50.2 98.6 47 88 45.4 84Q41.8 75.3 34.6 69.0000000000001C32.6 67.4000000000001 30.4 66.6 27.6 66.6C26.8 66.6 26.2 66.8000000000001 25.6 67.2000000000001L25 68.0000000000001C25 68.4 25.6 69.4 27 70.6C28.4 72 29 74.0000000000001 29 76.8C29 79.8 28 82.4 25.8 84.4S20.4 87.4 16.4 87.4C11.4 87.4 7.6 86 4.6 83.4C1.6 81.0000000000001 0 77.8 0 74.2000000000001C0 70.4 1.8 67 5.4 64.2000000000001C9.2 61.4 14.8 60 22.6 60C34.8 60 45.8 63 55.2 69.2000000000001C64.8 75.4 73 84.8 80.2 97.8C87.2 110.6 94.6 131.4 102 160L118 220.6H137.2zM380 400H200C189 400 180 391 180 380V320H220V360H360V40H220V80H180V20C180 9 189 0 200 0H380C391 0 400 9 400 20V380C400 391 391 400 380 400M204.2 130.2C207.2 124.6 210.6 120.4 214.6 118C218.4 115.6 223.4 114.2000000000001 229.2 114.2000000000001C234.8 114.2000000000001 240.6 116.2 246.4 120.2000000000001C254.0000000000001 125.2000000000001 261.8 134 269.8 146.4L264.8 149.2000000000001C259.4000000000001 141.8000000000001 255.2 137.2000000000001 252.6 135.4000000000001C250.8 134.2000000000001 248.8 133.6000000000001 246.4 133.6000000000001C243.6 133.6000000000001 240.8 135.4000000000001 238 138.8000000000001Q231.1 147.5000000000001 219.4 186.8000000000001C226.4 198.6000000000001 232.2 206.2000000000001 236.8 209.8000000000001C240.2 212.4000000000001 243.8 213.8000000000001 247.8 213.8000000000001C249.2 213.8000000000001 251.8 213.2000000000001 255.6 212.2000000000001S262.8 210.6000000000001 265.6 210.6000000000001C269.6 210.6000000000001 273 212.0000000000001 275.6 214.6000000000001C278.6 217.4000000000001 280.0000000000001 220.8000000000001 280.0000000000001 225C280.0000000000001 229.4000000000001 278.6 233.0000000000001 276.0000000000001 235.6S269.4000000000001 239.6 264.4000000000001 239.6Q257.8000000000001 239.6 251.8000000000001 236.6C247.8000000000001 234.6 242.8000000000001 230.2 236.8000000000001 223.2C232.2 218.2 225.6 209.2 216.6 196.6A130 130 0 0 1 198.4 239.6L150.6 231.8L149.6 226.8C153.2 227.4 156.2 227.8 158.6 227.8C163.4 227.8 167.2 225.8 170.4 221.8C175.4 215.6 182.2 197 190.8 165.8C184 157 179.2 151.2 176.8000000000001 148.4C172.6 144 169.2 141.2 166.4 139.8C164.4 138.8 162 138.2 159.4 138.2C157.4000000000001 138.2 154.2000000000001 139.2000000000001 149.6000000000001 141.4A20 20 0 0 1 141.2000000000001 143.6C136.6 143.6 132.8000000000001 142.2 129.8000000000001 139.2C126.8000000000001 136.4 125.2 132.6 125.2 128.2Q125.2 121.9 129.4 118C132.2 115.4 136 114 140.6 114S149.4 115 153.4 116.8S162.4 122.6 168.4 128.6S182.8000000000001 144.2 193.4 157.2Q199.7 138.9 204.2 130.2" : "M121.6 186.6H104.8C109.6 205 116 218.6 124 227.2C128.8 232.6 133.6 235.2 138.2 235.2C139.2 235.2 139.8 235 140.4 234.4S141.2 233.2 141.2 232.4S140.6 230.2 139.2 228.2C138 226.2 137.2 224.2 137.2 222.4Q137.2 218.5 140.2000000000001 215.8C142.2 214 144.8000000000001 213 148 213C151.4 213 154.2 214.2 156.4 216.4A11.6 11.6 0 0 1 160 225.4C160 229.8 158.2 233.2 154.8 236C151.4 238.6 146 240 138.6 240Q120.9 240 106.8 230.4C97.2 224 88.2 213.4 79.6 198.6C76.6 193.4 73.8 190.2 71.2 188.8S64.2 186.6 58.4 186.8L54.6 173.8H70.8L47 86.4C43 72 40.4 63.2 39 59.8C37 55 33.8 50.8 29.8 47.4C28.2 46 26.2 45.4 23.8 45.4C23.2 45.4 22.6 45.6 22.2 46L21.6 46.8C21.6 47.2 22.2 48 23.4 49C24.6 50.2 25.2 51.8 25.2 54.2C25.2 56.8 24.2 58.8 22.4 60.6A12 12 0 0 1 14.4 63.2C10.2 63.2 6.8 62.2 4.2 60S0 55 0 52C0 48.8 1.6 46 4.6 43.6C7.8 41.2 12.6 40 19.4 40C30 40 39.2 42.6 47.4 47.8S62.6 60.8 68.8 71.6C74.8 82.4 81.2 99.6 87.6 123.4L101.2 174H117.6zM300 320H160C149 320 140 311 140 300V260H180V280H280V40H180V60H140V20C140 9 149 0 160 0H300C311 0 320 9 320 20V300C320 311 311 320 300 320M166 121.2C169.6 110.8 172.6 103.4 175.2000000000001 98.6S180.8 90.6 184 88.4C187.4 86.4 191.4 85.2 196.4 85.2C201.2 85.2 206.2 86.8 211.2 90.2C217.8 94.4 224.4 101.8 231.4 112L227.2 114.2C222.6 108 219 104.2 216.8 102.8A8.8 8.8 0 0 0 211.6 101.4Q208 101.4 204.4 105.6C200.4 110.4 195.2 123.8 188.4 145.6Q197.4 160.3 203.4 164.8C206.4 167 209.4 168 212.8 168C214 168 216.2 167.6 219.6 166.8C222.8 166 225.8 165.6 228.2 165.6C231.6 165.6 234.4 166.8 236.8 169C238.8 171.2 240 174 240 177.6C240 181.4 238.8 184.2 236.6 186.4C234.2 188.6 231 189.6 226.8 189.6C223 189.6 219.4 188.8 216 187S208.2 181.6 203 175.8C199 171.6 193.4 164.2 185.6 153.6C182.6 166.8000000000001 177.4 178.8 170 189.8000000000001L129 183.2000000000001L128.2000000000001 179C131.2000000000001 179.6000000000001 133.8000000000001 179.8000000000001 136 179.8000000000001C140 179.8000000000001 143.4 178.2000000000001 146 174.8000000000001C150.2000000000001 169.6000000000001 156 154.2000000000001 163.6 128.2000000000001Q154.9 117.1000000000001 151.6 113.8C148.0000000000001 110.2000000000001 145 107.8 142.8000000000001 106.6C141 105.8000000000001 139 105.2000000000001 136.8000000000001 105.2000000000001C135 105.2000000000001 132.2 106 128.4 107.8A18 18 0 0 1 121.2 109.6000000000001C117.2 109.6000000000001 114 108.4 111.4 106.0000000000001A11.8 11.8 0 0 1 107.6 96.8C107.6 93.4 108.8 90.4 111.2 88.2000000000001S116.8 85 120.8 85S128.4 85.8 131.8 87.2C135.2 88.8 139.6 92 144.8 97C149.6 102.4 156.8 110.2000000000001 166 121.2000000000001"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
DeriveColumn.displayName = `Blueprint6.Icon.DeriveColumn`;
export default DeriveColumn;
