/*
 * 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 VolumeUp: 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="volume-up" ref={ref} {...props}>
            <path
                d={isLarge ? "M180 331.4C174.4 331.4 169.4 329.2 165.8 325.6L111.8 271.4H20C9 271.4 0 262.4 0 251.4V131.4C0 120.4 9 111.4 20 111.4H111.8L166 57.2A20.06 20.06 0 0 1 200.2000000000001 71.4V311.4C200 322.4 191 331.4 180 331.4M346.2000000000001 362.6L313.8 338.6C342.8 296.8 360 246.2 360 191.4S342.8 86 313.8 44L346.2 20C380 68.6 400 127.6 400 191.4C400 255 380 314 346.2 362.6M278.4 312.8L246.4 289.2000000000001A159 159 0 0 0 280 191.4C280 154.6 267.4 120.6 246.4 93.6L278.4 70A198.8 198.8 0 0 1 320 191.4C320 237 304.4000000000001 279 278.4 312.8" : "M140 282.8C134.4 282.8 129.4 280.6 125.8 277L71.8 222.8H20C9 222.8 0 213.8 0 202.8V122.8C0 111.8 9 102.8 20 102.8H71.8L126 48.6A20.06 20.06 0 0 1 160.2 62.8V262.8C160 273.8 151 282.8 140 282.8M274.8 302.6L243.2 278.2A200 200 0 0 0 280 162.8C280 119.6 266.2 79.8 243 47.2L274.6 22.8C303 62.2 319.8 110.4 319.8 162.8C320 215 303 263.2 274.8 302.6M179.6 229.6C192.4 210.4 200 187.4 200 162.8S192.4 115 179.6 96L211.4 71.6C229.4 97.4 240 128.8 240 162.8S229.4 228.2 211.4 254z"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
VolumeUp.displayName = `Blueprint6.Icon.VolumeUp`;
export default VolumeUp;
