/*
 * 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 SignalSearch: 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="signal-search" ref={ref} {...props}>
            <path
                d={isLarge ? "M143 193.4C160.76 177.4 182.98 166.2 207.56 161.92L254.08 22.32A16.92 16.92 0 0 0 243.38 0.92A16.88 16.88 0 0 0 221.94 11.62L197.44 85.04H142.5L118 11.62A17 17 0 0 0 96.56 0.9A17 17 0 0 0 85.84 22.32zM170.06 167.3L153.9 119.04H186.04zM100 290C100 274.8 102.6 260.2 107.4 246.6C97.48 225.48 101.14 199.48 121.48 180.8C129.18 173.74 129.56 162 122.24 154.58A19.6 19.6 0 0 0 95.12 153.82C51.46 194.02 55.12 256.32 95.32 292.62A20 20 0 0 0 100.12 295.74A120 120 0 0 1 100 290M77.48 136.3C50.56 154.66 33.74 189.7 33.74 223.1C33.74 258.14 48.88 288.18 77.48 309.88C85.88 314.88 85.88 326.5600000000001 80.84 333.24C75.8 341.6 64.04 341.6 57.3 336.5800000000001C20.28 308.2 -1.6 269.82 0.1 223.08C1.78 178.02 23.64 134.62 57.3 109.58C60.66 107.92 64.02 106.26 67.38 106.26C72.44 106.26 77.48 107.92 80.84 112.92C87.58 121.28 85.9 131.28 77.48 136.3M244.92 153.82A19.6 19.6 0 0 0 217.84 154.56A18 18 0 0 0 213.72 161.04Q221.72 160 230 160Q241.72 160 252.9 162A100 100 0 0 0 244.92 153.82M292.62 170.48L317.18 145.9A132 132 0 0 0 282.72 109.5799999999999C279.3399999999999 107.92 275.98 106.2599999999999 272.62 106.2599999999999C267.56 106.2599999999999 262.5199999999999 107.92 259.1599999999999 112.92C252.42 121.2799999999999 254.1 131.2799999999999 262.5199999999999 136.3C274.9199999999999 144.74 285.18 156.74 292.62 170.48M230 400C290.8 400 340 350.8 340 290Q340 282.2 338.8 275L338.2 271.6C337.4000000000001 266.6 336.2 261.8 334.8 257V256.8C333.2 252 331.3999999999999 247.4 329.2 243C328.9999999999999 242.2 328.5999999999999 241.6 328.2 240.8C326 236.2 323.4 232 320.6 227.8L394.2 154.2A20.06 20.06 0 0 0 380 120C374.4 120 369.4 122.2 366 125.8L292.4000000000001 199.4C288.2 196.6 284 194 279.4000000000001 191.8C278.6 191.6 278 191.2 277.2000000000001 190.8C272.8 188.6 268.2000000000001 186.8 263.4000000000001 185.2H263.2000000000001C258.4000000000001 183.8 253.6 182.5999999999999 248.6 181.8L245.2000000000001 181.2C240.2000000000001 180.4 235.2000000000001 180 230.0000000000001 180C169.2 180 120 229.2 120 290S169.2 400 230 400M230 370C185.8 370 150 334.2 150 290S185.8 210 230 210S310 245.8 310 290S274.2000000000001 370 230 370" : "M109.48 160.58A106 106 0 0 1 133.2 142L133.34 141.62L133.7 140.5C134 139.74 134.46 139.3 134.6 138.54L164.6 18.56A15 15 0 0 0 135.5 11.36L127.1 44.96H113.02L104.62 11.36A14.92 14.92 0 0 0 86.48 0.42A14.92 14.92 0 0 0 75.54 18.56L105.54 138.56C105.68 139.3000000000001 106.14 139.76 106.42 140.5C106.72 141.24 106.72 142 107.18 142.74A14 14 0 0 0 105.08 149.94C105.08 154.08 106.76 157.82 109.48 160.54M55.9 214.46A15.26 15.26 0 0 1 55.6 235.76A15.12 15.12 0 0 1 34.3 235.46C-11.42 188.66 -11.42 111.26 34.3 64.48A14.94 14.94 0 1 1 55.74 85.32C21.56 120.58 21.56 179.36 55.9 214.46M156.16 132.24A106 106 0 0 1 187.76 128.02A44.8 44.8 0 0 0 174.64 108.42A15.12 15.12 0 0 0 153.5 110.38A15.12 15.12 0 0 0 155.44 131.52zM230.88 137.9L238.44 130.34A120.4 120.4 0 0 0 205.68 64.64C199.98 58.64 190.54 58.64 184.54 64.34A14.8 14.8 0 0 0 184.24 85.48A90 90 0 0 1 207.94 130.28Q219.98 132.8 230.88 137.9M81.08 131.52C72.54 138.56 74.04 163.16 80.48 167.96A15 15 0 0 1 83.48 188.96A15 15 0 0 1 62.48 191.96C40.9 175.92 38.06 128.36 61.88 108.42A15 15 0 1 1 81.08 131.52M186.36 320A86.4 86.4 0 0 0 272.7 233.64C272.7 229.52 272.3 225.6 271.7200000000001 221.68C271.52 220.68 271.52 219.92 271.32 218.92A100 100 0 0 0 268.58 207.54V207.34A100 100 0 0 0 264.26 196.54L263.48 194.8A100 100 0 0 0 257.6 184.6L315.2800000000001 126.88A17.6 17.6 0 0 0 320 115.7000000000001A15.74 15.74 0 0 0 304.3 100A16 16 0 0 0 293.1 104.52L235.44 162.2A100 100 0 0 0 225.24 156.3L223.46 155.52A100 100 0 0 0 212.66 151.2H212.46A80 80 0 0 0 201.1 148.46C200.1 148.26 199.12 148.06 198.34 148.06C194.42 147.46 190.5 147.08 186.38 147.08A86.4 86.4 0 0 0 100 233.46A86.6 86.6 0 0 0 186.36 320M185.96 298A63.9 63.9 0 0 1 122 234.04A63.9 63.9 0 0 1 185.96 170.08A63.9 63.9 0 0 1 249.92 234.04A63.9 63.9 0 0 1 185.96 298"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
SignalSearch.displayName = `Blueprint6.Icon.SignalSearch`;
export default SignalSearch;
