/*
 * 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 Numerical: 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="numerical" ref={ref} {...props}>
            <path
                d={isLarge ? "M47.8 285C44.4 280.8 40.2 277.2 35.2 274.6S24.8 270 18.6 268.8C12.6 267.8 6.4 267.2000000000001 0 267.2000000000001V242.4H49.8V100H79.6V300.4H54.6C53.6 294.2 51.2 289 47.8 285M391.8 190.8C386.4 199.6 378.8 205 369 207.2V207.6C377.4000000000001 210.8 383.4 216.2 387.4000000000001 223.4S393.2 239.2 393.2 248.8C393.2 257.2 391.6 264.8 388.6 271.2C385.6 277.8 381.4 283 376.2 287.2Q368.4 293.5 358.8 296.8C352.4 299 345.8 300 339.2 300C330.6 300 322.8 298.4 316 295Q305.8 290.2 298.6 281.2C293.8 275.4 290 268.4 287.2 260.4S282.8 243.8 282.6 234.4H310.4C310.2 239.4 310.8 244.2 311.8 248.8C313 253.4 314.6 257.6 317 261.4Q320.6 267.1 326 270.4C329.5999999999999 272.6 333.8 273.8 338.5999999999999 273.8C346.3999999999999 273.8 352.8 271.4 357.8 266.4S365.2 254.8 365.2 246.6C365.2 240.8 364.2 235.8 362 231.8S357 224.6 353.4 222.4S345.8 218.6 341.2 217.5999999999999S332 216.3999999999999 327.6 216.5999999999999V193.1999999999999Q336 193.5 343.8 192.5999999999999C349 192 353.8 190.6 358 188.3999999999999S365.6 182.8 368.2 178.3999999999999S372.2 168 372.2 160.5999999999999C372.2 149.5999999999999 369 141.1999999999999 362.8 135.1999999999999Q353.5 126.1999999999999 339.4 126.1999999999999C328.4 126.1999999999999 320.4 130 314.8 137.8C309.4 145.6 306.8 155.4 307.2 167H279.3999999999999Q279.7 152 283.6 139.4C286.2 131.2 290 124 295 118.2S306.2 107.8 313.6 104.6S329.5999999999999 99.8 339.5999999999999 99.8C347.8 99.8 355.3999999999999 101.2 362.8 104S376.6 110.6 382 115.6C387.6 120.6 392 126.8 395.2 134A60 60 0 0 1 400 158.6C400 171.4 397.2 182 391.8 190.8M171.6 151.8C175.8 155.4 180.6 159 185.6 162.4C190.6 166 195.6 169.6 200.6 173.6S210.4 181.8 215.2 186.2C219.8 190.6 224 195.6 227.8 201C231.4 206.4 234.4 212.2 236.6 218.6S239.8 232.0000000000001 239.8 240.0000000000001C239.8 246.4000000000001 238.8 253.0000000000001 237 260S232 273.6 227.6 279.4000000000001C223.2 285.4000000000001 217.4 290.4000000000001 210.2 294.2000000000001C203 298.2000000000001 194 300 183.2 300C173.4 300 164.6 298.0000000000001 157.2 294.2000000000001C149.8 290.6 143.4 285.4000000000001 138.2 278.6C133 272 129.2 264 126.6 254.6C124 245.4000000000001 122.6 235.4000000000001 122.6 224.6H151.2C151.4 231.6 152 238 153 244S155.8 255.2 158 259.6S163.2 267.4 167 270S175.6 273.8 181.2 273.8Q190.5 273.8 196.2 270.2000000000001C200 267.8 203 265 205.2 261.6S208.8 254.4 209.6 250.4000000000001Q210.8 244.4000000000001 210.8 239.0000000000001C210.6 231.4 208.8 224.6 205.6 218.6C202.6 212.6 198.2 207.2 193 202C187.8 197 182.2 192.2 176 187.8S163.8 178.8 158.2 174.2C146.2 165.2000000000001 137 154.6 130 142.6C123 130.4 119.6 116.2 119.4 100H239.6V128.6H153.8C155 132.8 157.2 137 160.4 140.8S167.2 148.4 171.6 151.8" : "M55.8 227.8C53.2 224.4 50 221.8 46.2 219.6C42.6 217.4 38.4 216 33.8 215C29.2 214.2 24.6 213.6 19.6 213.6V193H54.4V80H79.6V240H60.8C60 235.4 58.4 231.2 55.8 227.8M143.2 121.6C146.8 124.4 150.6 127.2 154.8 130L167.4 139C171.6 142.2 175.6 145.6 179.6 149.2S187 156.8 190 161S195.6 170 197.4 175S200 185.8 200 192C200 197 199.2 202.4 197.6 208C196.2 213.8 193.6 219 189.8 223.8A44 44 0 0 1 175.2 235.8C169.4 238.8 162 240.4 153 240.4C144.8 240.4 137.6 238.8 131.4 235.8C125.2 232.6 119.8 228.4 115.6 223C111.2 217.6 108 211.2 105.8 203.8S102.6 188.4 102.6 179.8H126.4C126.6 185.2 127 190.4 128 195.2C128.8 200 130.2 204.2 132.2 207.6C134 211.2 136.6 214 139.8 216S146.8 219 151.6 219C156.8 219 161 218 164.2 216.2C167.2 214.4 169.8 212 171.6 209.2Q174.3 205 175.2 200.2C175.8 197 176.2 194 176.2 191.2C176 185 174.6 179.6 171.8 174.8C169 170.2 165.4 165.8 161.2 161.8C156.8 157.5999999999999 152 154 147 150.4Q139.2 145 132 139.5999999999999C122 132.4 114.2 124 108.6 114.1999999999999S100 93 99.8 80H199.8V103H128.6C129.6 106.4 131.4 109.6 134 112.8C136.6 115.8 139.8 118.6 143.2 121.6M313.2 152.8C308.6 159.8 302.4000000000001 164.2 294.2000000000001 165.8V166.2C301 168.8 306.2 173 309.4000000000001 178.8Q314.2000000000001 187.5 314.2000000000001 199.2C314.2000000000001 206 313 212 310.4000000000001 217.2S304.4000000000001 226.6 300.2000000000001 230S291.2000000000001 236 285.8 237.6C280.4000000000001 239.4 275 240.2 269.4000000000001 240.2C262.2000000000001 240.2 255.8 238.8 250.2000000000001 236.2S239.6000000000001 229.8 235.8 225.2C231.8000000000001 220.6 228.6 215 226.4 208.6S222.8 195.4 222.6 187.8H245.6C245.4000000000001 191.8 245.8 195.6 246.8000000000001 199.4S249.2 206.6 251.2000000000001 209.6S255.6000000000001 215 258.6 216.8S265.0000000000001 219.4 269.2000000000001 219.4C275.6 219.4 281 217.4 285 213.4C289.2000000000001 209.4 291.2 204.2 291.2 197.6C291.2 193 290.2 189 288.4 185.8S284.2 180 281.4 178.2C278.4 176.4 275 175 271.2 174.4C267.4000000000001 173.6 263.6 173.4 259.8 173.6V155C264.4000000000001 155.2 268.8 155 273.2 154.6S281.6 153 285 151.2C288.6 149.4 291.4 146.6 293.6 143.2C295.8 139.6 296.8 135 296.8 129Q296.8 115.8 289 108.6C283.8 103.8 277.4 101.4 269.6 101.4C260.6 101.4 253.8 104.6 249.2 110.8S242.6 124.8 242.8 134.2H220C220.2 126.2 221.2 118.8 223.4 112.2S228.6 100 232.8 95.2000000000001C237.0000000000001 90.6 242.0000000000001 86.8 248.2 84.4C254.4 81.8 261.6 80.6000000000001 269.8 80.6000000000001C276.6 80.6000000000001 283 81.6000000000001 289 83.8000000000001S300.4 89.2000000000001 305 93.2000000000001S313.2 102.2000000000001 316 108.0000000000001C318.6 113.4000000000001 320 120.0000000000001 320 127.4000000000001C320 137.4000000000001 317.8 145.8000000000001 313.2 152.8000000000001"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
Numerical.displayName = `Blueprint6.Icon.Numerical`;
export default Numerical;
