src/components/geoview/render.js
function updateSelectedItem(datum) {
    d3.event.stopPropagation();

    selection = utils.setSelection(
      datum == selection.current() ? null : datum,
      options);
    var item = selection.current() || geoObject;

    options.updateInfoCard(selection.info());

    var projection = path.projection();
    projection
      .center(item.center)
      .scale(item.scale);

    mapLayer.selectAll('path')
      .attr('stroke', selection.strokeColor)
      .attr('fill', selection.fillColor)
      .attr('class', selection.className)
      .transition()
      .duration(600)
      .ease('cubic-in-out')
      .attr('d', path);

    textLayer
      .attr('hidden', selection.hideLabels);

    textLayer.selectAll('text')
      .attr('fill', selection.textFill)
      .transition()
      .duration(400)
      .ease('cubic-in-out')
      .attr('font-size', selection.textSize)
      .attr('transform', selection.textPosition);
  }
function updateSelectedItem(datum) {
    d3.event.stopPropagation();

    selection = utils.setSelection(
      datum == selection.current() ? null : datum,
      options);
    var item = selection.current() || geoObject;

    options.updateInfoCard(selection.info());

    var projection = path.projection();
    projection
      .center(item.center)
      .scale(item.scale);

    mapLayer.selectAll('path')
      .attr('stroke', selection.strokeColor)
      .attr('fill', selection.fillColor)
      .attr('class', selection.className)
      .transition()
      .duration(600)
      .ease('cubic-in-out')
      .attr('d', path);

    textLayer
      .attr('hidden', selection.hideLabels);

    textLayer.selectAll('text')
      .attr('fill', selection.textFill)
      .transition()
      .duration(400)
      .ease('cubic-in-out')
      .attr('font-size', selection.textSize)
      .attr('transform', selection.textPosition);
  }
Click handler