src/main/shadow/cljs/ui/bundle_renderer.js
function mouseleave(d) {

  // Hide the breadcrumb trail
  d3.select("#trail")
      .style("visibility", "hidden");

  // Deactivate all segments during transition.
  d3.selectAll("path").on("mouseover", null);

  // Transition each segment to full opacity and then reactivate it.
  d3.selectAll("path")
      .transition()
      .duration(250)
      .style("opacity", 1)
      .each("end", function() {
              d3.select(this).on("mouseover", mouseover);
            });

  d3.select("#explanation")
      .style("visibility", "hidden");
}
function mouseleave(d) {

  // Hide the breadcrumb trail
  d3.select("#trail")
      .style("visibility", "hidden");

  // Deactivate all segments during transition.
  d3.selectAll("path").on("mouseover", null);

  // Transition each segment to full opacity and then reactivate it.
  d3.selectAll("path")
      .transition()
      .duration(250)
      .style("opacity", 1)
      .each("end", function() {
              d3.select(this).on("mouseover", mouseover);
            });

  d3.select("#explanation")
      .style("visibility", "hidden");
}
function mouseleave ( d ) { // Hide the breadcrumb trail d3 . select ( "#trail" ) . style ( "visibility" , "hidden" ) ; // Deactivate all segments during transition. d3 . selectAll ( "path" ) . on ( "mouseover" , null ) ; // Transition each segment to full opacity and then reactivate it. d3 . selectAll ( "path" ) . transition ( ) . duration ( 250 ) . style ( "opacity" , 1 ) . each ( "end" , function ( ) { d3 . select ( this ) . on ( "mouseover" , mouseover ) ; } ) ; d3 . select ( "#explanation" ) . style ( "visibility" , "hidden" ) ; }
Restore everything to full opacity when moving off the visualization.
Restore everything to full opacity when moving off the visualization .