27 lines
		
	
	
		
			560 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			560 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
//  Package imports.
 | 
						|
import classNames from 'classnames';
 | 
						|
import PropTypes from 'prop-types';
 | 
						|
import React from 'react';
 | 
						|
 | 
						|
//  This just renders a FontAwesome icon.
 | 
						|
export default function Icon ({
 | 
						|
  className,
 | 
						|
  fullwidth,
 | 
						|
  icon,
 | 
						|
}) {
 | 
						|
  const computedClass = classNames('icon', 'fa', { 'fa-fw': fullwidth }, `fa-${icon}`, className);
 | 
						|
  return icon ? (
 | 
						|
    <span
 | 
						|
      aria-hidden='true'
 | 
						|
      className={computedClass}
 | 
						|
    />
 | 
						|
  ) : null;
 | 
						|
}
 | 
						|
 | 
						|
//  Props.
 | 
						|
Icon.propTypes = {
 | 
						|
  className: PropTypes.string,
 | 
						|
  fullwidth: PropTypes.bool,
 | 
						|
  icon: PropTypes.string,
 | 
						|
};
 |