/*
 * 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 Strikethrough: 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="strikethrough" ref={ref} {...props}>
            <path
                d={isLarge ? "M360 220H270.8A100 100 0 0 1 262.8 222.8C259 223.8 252.6 225.6 243.6 227.8S225.6 232.4000000000001 216.2 234.8S198.4 239.4 190.8 241.4S178.8 244.6 177.8 244.8C167.2 247.8 158.8 252.2 152.4 258C146 263.6 142.6 271.6 142.6 281.8C142.6 289 144.4 295 147.8 299.8S155.6 308.4 160.8 311.2000000000001Q168.6 315.4 178.2 317.2C187.8 319 190.8 319 196.8 319C214.6 319 229.4 315.2 241 307.6C250 301.6 256 292.4 258.8 280H311.3999999999999C310.2 290.4 307.4 299.6 303 308C297 319.4 288.8 329 278.3999999999999 336.6A106 106 0 0 1 242.5999999999999 354C228.5999999999999 358 214.1999999999999 360 198.7999999999999 360C185.5999999999999 360 172.5999999999999 358.4 159.5999999999999 355S135.1999999999999 346.4 124.9999999999999 339.6S106.5999999999999 323.8 100.3999999999999 313.2C94.1999999999999 302.8 91.1999999999999 290.2 91.1999999999999 275.8C91.1999999999999 268.4 92.1999999999999 261 94.1999999999999 253.8S99.7999999999999 239.8 104.7999999999999 233.4C108.3999999999999 228.6 113 224 118.5999999999999 220H40C29 220 20 211 20 200S29 180 40 180H242.8C243.2 179.8 243.8 179.6 244.2 179.6C250.2000000000001 177.4 255.8 173.8 261 168.6C266 163.4 268.6 155.2 268.6 144.4C268.6 139 267.4000000000001 133.8 265.2000000000001 128.6Q261.9000000000001 120.8 254.4000000000001 114.8C249.4000000000001 110.8 243.0000000000001 107.6 235.0000000000001 105S217.4 101.2 206.2000000000001 101.2C195.8000000000001 101.2 186.0000000000001 102.4 177.2000000000001 104.6C168.2000000000001 106.8 160.4000000000001 110.4 153.4000000000001 115.4S141.2000000000001 126.6 137.4000000000001 134.4C136.4000000000001 136 135.6000000000001 138 135.0000000000001 140H82.2C84 131.4 86.6 123.6 90.2 116.4Q100.1 96.9 116.6 84.6C127.6 76.4 140.6 70.1999999999999 155.4 66.2Q177.6 60.1999999999999 202.8 60.1999999999999C217.4 60.1999999999999 231.6 61.8 245.6 65.1999999999999S272.2000000000001 73.8 283.2 80.9999999999999S303 97.6 309.8 108.8S320 133.8 320 149.8C320 157.2 318.8 164.8 316.4 172.2A60 60 0 0 1 313.4 180H360C371 180 380 189 380 200S371 220 360 220" : "M280 180H173C165.4 181.8 158.4 183.6 152.2 185.2S142.4 187.8 141.4 188C132.8 190.2 125.6 193.8 120.4 198.4C115 203 112.4 209.4 112.4 217.4Q112.4 226.1 116.6 231.8C120.8 237.5 123 238.6 127.4 241Q134 244.3 141.8 245.8C147 246.8 152.2 247.2 157.2 247.2C172 247.2 184.4 244.2 194 238C200.4 234 205 228 207.6 220H252C250.8 226.6 248.6 232.8 245.6 238.4C240.6 247.4 233.8 255.2 225.2 261.4S206.6 272.2 195.4 275.4S171.8 280 159 280C148 280 137 278.6 126.4 276C115.6 273.4 106 269.2 97.4 263.6Q84.8 255.2 77 242.6T69.2 212.6C69.2 206.6 70 200.8 71.8 195Q74.2 187.2 79.6 180H40C29 180 20 171 20 160S29 140 40 140H182.6C187.6 138.6 192.4 137.2 196.8 135.6C201.8 133.8 206.4 131 210.8 126.8C215 122.6 217.2 116.2 217.2 107.4C217.2 103.2 216.2 98.8 214.4 94.8C212.6 90.6 209.6 86.9999999999999 205.4 83.8Q199.1 78.9999999999999 189.2 75.9999999999999T165.2 72.9999999999999C156.4 72.9999999999999 148.4 73.9999999999999 141 75.8S127 80.6 121.2 84.4C115.4 88.3999999999999 111 93.3999999999999 107.8 99.5999999999999C107.6 99.5999999999999 107.6 99.7999999999999 107.4 99.9999999999999H62.8A73.6 73.6 0 0 1 90.6 59.3999999999999C99.8 52.6 110.6 47.8 123 44.5999999999999C135.2 41.5999999999999 148.4 39.9999999999999 162.4 39.9999999999999C174.6 39.9999999999999 186.4 41.3999999999999 198.2 43.9999999999999C209.8 46.5999999999999 220.4 50.7999999999999 229.4 56.5999999999999Q243.2 65.3 251.6 78.7999999999999C257.2 87.7999999999999 260 98.7999999999999 260 111.5999999999999Q260 120.5999999999999 257 129.5999999999999C256 133.3999999999999 254.4 136.7999999999999 252.6 140H280C291 140 300 148.9999999999999 300 160S291 180 280 180"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
Strikethrough.displayName = `Blueprint6.Icon.Strikethrough`;
export default Strikethrough;
