code: 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);
    }
docs: Click handler