import PropTypes from 'prop-types';
import { Icon, IconProps } from './Icon';

export const PdfFileIcon = ({
	assistiveText = 'PDF File',
	copyrightYear = '2020',
	size = 'medium',
	color,
	overrides,
	...props
}: Omit<IconProps, 'icon'>) => (
	<Icon
		icon="PdfFileIcon"
		assistiveText={assistiveText}
		copyrightYear={copyrightYear}
		size={size}
		color={color}
		overrides={overrides}
		{...props}
	>
		<path
			fill="currentColor"
			fillRule="evenodd"
			d="M4,0 L16,0 L22,6 L22,22 C22,23.1045695 21.1045695,24 20,24 L4,24 C2.8954305,24 2,23.1045695 2,22 L2,2 L2,2 C2,0.8954305 2.8954305,2.02906125e-16 4,0 L4,0 Z M4,2 L4,22 L20,22 L20,6 L16,6 L16,2 L4,2 Z M18.5030447,16.5503616 C18.417082,16.6046746 18.1736303,16.6361895 18.0167975,16.6361895 C17.5102081,16.6361895 16.8835333,16.3988218 16.0055323,16.014608 C16.342165,15.9891278 16.6518932,15.9757172 16.9294675,15.9757172 C17.4367132,15.9757172 17.5882963,15.9743762 18.085699,16.1037885 C18.581133,16.2325303 18.5883512,16.4960487 18.5030447,16.5503616 L18.5030447,16.5503616 Z M9.68431929,16.6308252 C9.87789946,16.2761148 10.0800103,15.9026294 10.2860583,15.5063461 C10.7880544,14.5367594 11.1056571,13.7763782 11.3418906,13.1521146 C11.8117326,14.0258154 12.3977228,14.7687629 13.0847684,15.3628526 C13.1700749,15.4372815 13.2612872,15.5117103 13.3577492,15.5854687 C11.9580661,15.8684324 10.7486822,16.2124144 9.68431929,16.6308252 L9.68431929,16.6308252 Z M11.3162986,7.45663106 C11.5945291,7.45663106 11.7526743,8.17342785 11.7657983,8.8452991 C11.7789224,9.51717036 11.6253707,9.98855309 11.4344153,10.3365583 C11.2762702,9.82092054 11.2001505,9.00622635 11.2001505,8.4744959 C11.2001505,8.4744959 11.188995,7.45663106 11.3162986,7.45663106 L11.3162986,7.45663106 Z M5.84552595,20.3301403 C6.00301491,19.8889315 6.62772111,19.0165717 7.55165632,18.2441209 C7.60940227,18.1958427 7.75311095,18.0597251 7.88369554,17.9316538 C6.91776327,19.5060587 6.27140234,20.1330045 5.84552595,20.3301403 L5.84552595,20.3301403 Z M18.7720883,15.6243594 C18.4932016,15.3427367 17.8711203,15.192538 16.9268427,15.1804684 C16.2870438,15.1730926 15.5179728,15.2307582 14.7088732,15.3467599 C14.3466486,15.1321902 13.9726124,14.9008573 13.6806016,14.6205757 C12.8911882,13.8682408 12.2336718,12.8235548 11.8235443,11.6735955 C11.8504487,11.5663106 11.8721034,11.4724364 11.8937581,11.3765506 C11.8937581,11.3765506 12.3380082,8.79769146 12.2205477,7.92533167 C12.2041426,7.80664783 12.1942995,7.77178026 12.1628018,7.67790603 L12.1247419,7.5773265 C12.0033442,7.29235117 11.7671107,6.99061258 11.3950431,7.00737583 L11.1771834,7 L11.1706213,7 C10.7572128,7 10.4192678,7.21658125 10.3306802,7.53910628 C10.0609804,8.55495953 10.3392109,10.0730399 10.8425193,12.0390344 L10.7139033,12.3602184 C10.3529912,13.2587289 9.90152281,14.1632741 9.50255078,14.9618756 L9.45071067,15.0658077 C9.03205252,15.9039705 8.6501418,16.6160736 8.3049785,17.2202213 L7.94865974,17.4126634 C7.92306778,17.426074 7.31345427,17.7566454 7.1697456,17.8444849 C5.95445581,18.5860913 5.14994972,19.4282772 5.01674031,20.0961253 C4.97343085,20.3086834 5.00492864,20.5815892 5.22147596,20.7076488 L5.56598305,20.8853393 C5.71559756,20.9617798 5.87308652,21 6.0338565,21 C6.90070197,21 7.90469407,19.8983189 9.28797208,17.4300972 C10.886485,16.8983668 12.7061387,16.4564874 14.3007144,16.2130849 C15.5160041,16.9124479 17.0101806,17.3979118 17.9531458,17.3979118 C18.121134,17.3979118 18.2654989,17.3824896 18.3829594,17.3496336 C18.5640717,17.3013554 18.716311,17.1960822 18.809492,17.0525887 C18.9925729,16.770966 19.0293203,16.3833996 18.980105,15.9864457 C18.9630437,15.8697735 18.8718313,15.7242684 18.7720883,15.6243594 L18.7720883,15.6243594 Z"
		/>
	</Icon>
);

PdfFileIcon.propTypes = {
	// ----------------------------- Warning --------------------------------
	// | These PropTypes are generated from the TypeScript type definitions |
	// |     To update them edit TypeScript types and run "yarn prop-types"  |
	// ----------------------------------------------------------------------
	/**
	 * String to use as the `aria-label` for the icon. Set to an empty string if you
	 * are rendering the icon with visible text to prevent accessibility label
	 * duplication.
	 *
	 * Defaults to the icon name e.g. `BusinessPersonIcon` --> "Business Person"
	 */
	assistiveText: PropTypes.string,
	/**
	 * The color for the icon.
	 *
	 * Defaults to the current text color.
	 */
	color: PropTypes.string,
	/**
	 * The icon SVG metadata copyright year text
	 */
	copyrightYear: PropTypes.string,
	/**
	 * The override API
	 */
	overrides: PropTypes.shape({
		Icon: PropTypes.shape({
			attributes: PropTypes.func,
			component: PropTypes.elementType,
			styles: PropTypes.func,
		}),
		Svg: PropTypes.shape({
			attributes: PropTypes.func,
			component: PropTypes.elementType,
			styles: PropTypes.func,
		}),
	}),
	/**
	 * Control the size of the icon.
	 *
	 * Defaults to "medium" --> 24px
	 */
	size: PropTypes.oneOfType([
		PropTypes.oneOf(['large', 'medium', 'small', 'xlarge', 'xsmall']),
		PropTypes.arrayOf(PropTypes.oneOf(['large', 'medium', 'small', 'xlarge', 'xsmall'])),
	]),
};
