/*
 * 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 NumberedList: 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="numbered-list" ref={ref} {...props}>
            <path
                d={isLarge ? "M34.8 219.8H60.2V380H41.2C40.4 375.2 38.8 371 36 367.6C33.4 364.2 30.2 361.6 26.6 359.4C22.8 357.2 18.6 355.8 14 354.8C9.4 354 4.8 353.4 -0.2 353.4V332.8H34.8zM43.4 61.2000000000001C47 64.0000000000001 50.8 66.8000000000001 55 69.8000000000001Q61.3 74.0000000000001 67.6 78.8C71.8 82 75.8 85.4 79.8 88.8C83.8 92.4 87.2 96.4 90.2 100.6S95.8 109.6 97.6 114.6S100.4 125.4 100.4 131.6C100.4 136.6 99.6 142 98 147.6Q95.6 156 90.2 163.2C86.4 168 81.6 172 75.6 175C69.6 178.4 62 180 53.2 180C45 180 37.8 178.4 31.6 175.4C25.2 172.2 20 168 15.6 162.6S8 150.8 5.8 143.4S2.6 128 2.6 119.1999999999999H26.4C26.6 124.8 27 129.8 28 134.5999999999999S30.4 143.5999999999999 32.2 146.9999999999999C34 150.5999999999999 36.6 153.1999999999999 39.8 155.3999999999999C43 157.3999999999999 46.8 158.3999999999999 51.6 158.3999999999999C56.8 158.3999999999999 61 157.3999999999999 64.2 155.5999999999999S70 151.3999999999999 71.8 148.5999999999999Q74.5 144.3999999999999 75.4 139.5999999999999C76 136.3999999999999 76.4 133.3999999999999 76.4 130.6C76.2 124.3999999999999 74.8 119 72 114.3999999999999C69.2 109.5999999999999 65.6 105.4 61.4 101.1999999999999C57 97.1999999999999 52.4 93.3999999999999 47.2 89.8S37 82.6 32.4 78.9999999999999C22.4 71.8 14.6 63.3999999999999 9 53.5999999999999C3 44.1999999999999 0 32.8 -0.2 19.7999999999999H100V42.5999999999999H28.6C29.6 45.9999999999999 31.4 49.1999999999999 34 52.3999999999999C36.6 55.3999999999999 39.8 58.3999999999999 43.4 61.1999999999999M360 319.6H160C149 319.6 140 310.6 140 299.6V279.6C140 268.6 149 259.6 160 259.6H360C371 259.6 380 268.6 380 279.6V299.6C380 310.8 371 319.6 360 319.6M360 139.6H160C149 139.6 140 130.6 140 119.6V99.6C140 88.6 149 79.6 160 79.6H360C371 79.6 380 88.6 380 99.6V119.6C380 130.8 371 139.6 360 139.6" : "M55.2 180H80.4V320H61.6C60.8 315.8 59.2 312.2 56.6 309.2Q52.7 304.7 47 302C43.4 300.2 39.2 298.8 34.6 298S25.4 296.8 20.4 296.8V278.8H55.2zM43.4 36.6C47 39 50.8 41.6 55 44A220 220 0 0 1 79.8 60.6C83.8 63.8 87.2 67.2 90.2 70.8C93.2 74.6 95.8 78.6 97.6 83S100.4 92.4 100.4 97.8C100.4 102.2 99.6 106.8 98 111.8C96.4 117 93.8 121.6 90 125.6C86.4 129.8 81.4 133.4 75.6 136C69.6 138.8 62 140.2 53.2 140.2C45 140.2 37.8 138.8 31.6 136.2C25.2 133.4 20 129.8 15.6 125C11.2 120.4 8 114.8 5.8 108.2C3.6 101.8 2.6 94.8 2.6 87.2H26.4C26.6 91.9999999999999 27 96.6 28 100.6C29 104.8 30.2 108.4 32.2 111.3999999999999C34 114.4 36.6 116.7999999999999 39.8 118.5999999999999S46.8 121.1999999999999 51.6 121.1999999999999Q59.4 121.1999999999999 64.2 118.8C67.4 117.2 70 115.2 71.8 112.8Q74.5 109.1999999999999 75.4 104.9999999999999C76 102.1999999999999 76.4 99.5999999999999 76.4 96.9999999999999C76.2 91.5999999999999 74.8 86.9999999999999 72 82.8S65.6 74.7999999999999 61.4 71.3999999999999C57 67.8 52.4 64.5999999999999 47.2 61.5999999999999S37 55.3999999999999 32.4 52.1999999999999Q17.4 42.8999999999999 9 29.9999999999999C3 21.8 0.2 11.8 0 0.3999999999999H100V20.3999999999999H28.6C29.6 23.3999999999999 31.4 26.1999999999999 34 28.9999999999999C36.8 31.5999999999999 39.8 34.1999999999999 43.4 36.5999999999999M300.2 280.2H160.2C149.2 280.2 140.2 271.2 140.2 260.2V240.2C140.2 229.2 149.2 220.2 160.2 220.2H300.2C311.2 220.2 320.2 229.2 320.2 240.2V260.2C320.2 271.2 311.4 280.2 300.2 280.2M300.2 100.2H160.2C149.2 100.2 140.2 91.2 140.2 80.2V60.2C140.2 49.2 149.2 40.2 160.2 40.2H300.2C311.2 40.2 320.2 49.2 320.2 60.2V80.2C320.2 91.2 311.4 100.2 300.2 100.2"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
NumberedList.displayName = `Blueprint6.Icon.NumberedList`;
export default NumberedList;
