/*
 * 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 Superscript: 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="superscript" ref={ref} {...props}>
            <path
                d={isLarge ? "M320.48 240.8C323.68 244.6 327.2800000000001 248.4 331.68 251.8C335.88 255.4 340.6600000000001 259 345.86 262.4C350.86 266 355.86 269.6 360.84 273.6C365.84 277.6 370.64 281.8 375.44 286.2C380.02 290.6 384.22 295.6 388.02 301C391.62 306.4 394.62 312.2 396.8200000000001 318.6S400 332 400 340C400 346.4 399 353 397.2 360S392.2 373.6 387.8 379.4A50 50 0 0 1 370.42 394.2C363.2200000000001 398.2 354.24 400 343.4600000000001 400C333.6600000000001 400 324.86 398 317.48 394.2C310.0800000000001 390.6 303.6800000000001 385.4 298.5000000000001 378.6C293.3000000000001 372 289.5000000000001 364 286.9000000000001 354.6C284.3 345.4 282.9000000000001 335.4 282.9000000000001 324.6H311.5000000000001C311.7000000000001 331.6 312.3000000000001 338 313.3000000000001 344S316.1000000000001 355.2 318.3000000000001 359.6S323.4800000000001 367.4000000000001 327.2800000000001 370S335.8800000000001 373.8 341.4600000000001 373.8Q350.7600000000001 373.8 356.4600000000001 370.2C360.2400000000001 367.8 363.2400000000001 365 365.4400000000001 361.6S369.0400000000001 354.4000000000001 369.8400000000001 350.4Q371.0400000000001 344.4000000000001 371.0400000000001 339C370.8400000000001 331.4000000000001 369.04 324.6 365.8400000000001 318.6C362.8400000000001 312.6 358.44 307.2 353.2400000000001 302C348.04 297 342.4400000000001 292.2 336.2600000000001 287.8C330.0600000000001 283.4000000000001 324.0600000000001 278.8 318.4800000000001 274.2000000000001C306.4800000000001 265.2000000000001 297.3000000000001 254.6 290.3200000000001 242.6C283.3200000000001 230.4000000000001 279.9200000000001 216.2 279.7200000000001 200H399.4000000000001V228.6H313.8800000000001C315.0800000000002 232.8 317.2800000000002 237 320.4800000000001 240.8M4.48 267.4A20 20 0 1 0 35.74 292.36L100 212L164.26 292.3400000000001A20 20 0 1 0 195.52 267.4L125.6 180L195.5 92.62A20 20 0 1 0 164.24 67.64L100 148L35.74 67.68A20 20 0 1 0 4.48 92.6L74.4 180z" : "M263.08 201.12L263.4 201.4C267 204.2 270.6 207 274.8 209.8L287.4000000000001 218.8C291.6 222 295.6 225.4 299.6 229S307 236.6 310 240.8S315.6 249.8 317.4 254.8S320 265.6 320 271.8C320 276.8 319.2000000000001 282 317.6 287.6C316.2 293.4 313.6 298.6 309.8 303.4A44 44 0 0 1 295.2 315.4000000000001C289.4000000000001 318.4 282 320 273 320C265 320 257.8 318.4 251.6 315.4C245.4 312.2 240 308 235.8 303C231.4 297.6 228.2 291.2 226 283.8S222.8 268.4 222.8 259.8H246.6C246.8 265.2 247.2 270.4 248.2 275.2C249 280 250.4 284.2 252.4 287.6C254.2 291.2 256.8 294 260 296S267 299 271.8 299C277 299 281.2 298 284.4000000000001 296.2C287.4000000000001 294.4 290 292 291.8 289.2Q294.5 285 295.4 280.2C296 277 296.4 274 296.4 271.2C296.2 265 294.8 259.6 292 254.8C289.2 250.2 285.6 245.8 281.4 241.8C277 237.6 272.2 234 267.2 230.4Q259.4 225 252.2 219.6C242.2 212.4 234.4 204 228.8 194.2S220.2 173 220 160H319.8V182.8H248.8C249.8000000000001 186.2 251.6 189.4 254.2 192.6C256.7200000000001 195.5 259.8 198.22 263.0800000000001 201.12M124 232A20 20 0 0 0 156 208L105 140L156 72A20 20 0 0 0 124 48L80 106.66L36 48A20 20 0 0 0 4 72L55 140L4 208A20 20 0 0 0 36 232L80 173.34z"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
Superscript.displayName = `Blueprint6.Icon.Superscript`;
export default Superscript;
