import PropTypes from 'prop-types';
import States from "../States/index.js";
import geoShapes from './states.asset.json';

/**
 * SVG content component to render geographical boundaries of all states in the
 * country.
 */
const StatesGeo = function StatesGeo(props) {
  return <States topo={geoShapes} mapName="geo" {...props} />;
};
StatesGeo.defaultProps = {
  getBoundaryProps: undefined,
  getLabelProps: undefined,
  sortBoundariesCompare: undefined,
  labelStyle: 'ap_abbr',
  tooltip: undefined
};
StatesGeo.propTypes = {
  /**
   * An accessor function to generate props for a specific boundary
   */
  getBoundaryProps: PropTypes.func,
  /**
   * An accessor function to generate props for a specific boundary's label
   */
  getLabelProps: PropTypes.func,
  /**
   * Function to sort the order in which the states are drawn. This function
   * is invoked as a sorting comparator, which receives the properties of two
   * state boundaries and should return -1, 0 or 1 depending on the order in
   * which the two should be relatively sorted.
   */
  sortBoundariesCompare: PropTypes.func,
  labelStyle: PropTypes.oneOf(['ap_abbr', 'abbr']),
  tooltip: PropTypes.shape({})
};
export default StatesGeo;