/*
 * 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 EyeOff: 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="eye-off" ref={ref} {...props}>
            <path
                d={isLarge ? "M400 200.8V202.4A16 16 0 0 1 395.8 211C384.8 224.8 372 237 358.8 248.4L280.2 196A79.32 79.32 0 0 0 201 120.6C191.5999999999999 120.6 182.8 122.6 174.4 125.4L129.5999999999999 95.6C140 91.4 150.5999999999999 87.8 161.5999999999999 85.4C185.7999999999999 80 210.1999999999999 79.8 234.4 84.4C256.5999999999999 88.6 277.8 97.2 297.8 108C328.9999999999999 124.8 357.5999999999999 148 382.4 174C387 178.8 391.6 183.8 395.8 189A17.4 17.4 0 0 1 400 197.6zM390.8 303.6C396.2 307.2 400 313 400 320C400 331 391 340 380 340C375.8 340 372.2 338.4 369.2000000000001 336.4L369 336.8L300 290.8C281 301.4 261 310 239.8 314.8A184 184 0 0 1 166.8 315.6C144.6 311.4 123.4 302.8 103.4 292C72.2 275.2000000000001 43.6 252 18.8 226C14.2 221.2 9.6 216.4 5.4 211C0 204.2 0 195.8 5.4 189C18.2 173.2 33.2 159 48.6 146C53.8 141.8 59 137.8 64.4 133.8L8.8 96.8L9 96.4A20 20 0 0 1 0 80C0 69 9 60 20 60C24.2 60 27.8 61.6 30.8 63.6L31 63.2L391 303.2zM217.4 235.6C212.4 238 206.8 239.6 200.8 239.6C178.8 239.6 161 221.8 161 199.8C161 199.2 161.4 198.6 161.4 198L125.8 174.2C123 182.2 121.4 190.8 121.4 199.8C121.4 243.6 157 279.2 201 279.2C221.2 279.2 239.2 271.6 253.2 259.2z" : "M320 160.6V162A13.4 13.4 0 0 1 316.6 169.2C306.8 181.8 295.2 193.2 283.6 203.6L220.4 158.4A59.6 59.6 0 0 0 160.8 100.4C154.6 100.4 148.8 101.6 143.2 103.4L101.8 74C110.6 70.2 119.8 66.8 129.2 64.6C148.6 59.9999999999999 168 59.8 187.6 63.6C205.2 66.9999999999999 222.4 74.4 238.2 83.2C263.2 97.2 286 116.6 305.8 138.2C309.4 142.2 313.2 146.4 316.4 150.6C318.2 152.5999999999999 319.4 155 319.8 157.8V159.7999999999999C320 160.1999999999999 320 160.4 320 160.5999999999999M311.4 244C316.4 247.6 320 253.2 320 260C320 271 311 280 300 280C295.6 280 291.8 278.3999999999999 288.6 276L288.4 276.2L235 237.9999999999999C221.2 245.5999999999999 206.8 251.7999999999999 191.6 255.3999999999999A136 136 0 0 1 133.4 256.3999999999999C115.8 252.7999999999999 98.6 245.5999999999999 82.8 236.5999999999999C57.8 222.5999999999999 35 203.1999999999999 15.2 181.5999999999999C11.6 177.5999999999999 7.8 173.3999999999999 4.6 169.1999999999999C0 163.3999999999999 0 156.5999999999999 4.4 150.7999999999999C14.6 137.5999999999999 26.6 125.7999999999999 39 115C42.6 111.7999999999999 46.6 109.1999999999999 50.2 106.1999999999999L8.4 76.1999999999999L8.6 75.9999999999999C3.6 72.4 0 66.7999999999999 0 59.9999999999999C0 48.9999999999999 9 39.9999999999999 20 39.9999999999999C24.4 39.9999999999999 28.2 41.5999999999999 31.4 43.9999999999999L31.6 43.7999999999999L311.6 243.8zM103.2 143.9999999999999A60 60 0 0 0 101 160A59.8 59.8 0 0 0 160.8 219.5999999999999C173.2 219.5999999999999 184.6 215.3999999999999 194 209z"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
EyeOff.displayName = `Blueprint6.Icon.EyeOff`;
export default EyeOff;
