@carbon/charts-vue 0.41.27 → 0.41.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/charts-vue.umd.js CHANGED
@@ -7760,6 +7760,10 @@ var configuration_non_customizable_lines = {
7760
7760
  unselected: 0.3,
7761
7761
  selected: 1,
7762
7762
  },
7763
+ weight: {
7764
+ selected: 2,
7765
+ unselected: 1,
7766
+ },
7763
7767
  };
7764
7768
  var meter = {
7765
7769
  statusBar: {
@@ -8076,11 +8080,11 @@ var bubbleChart = tools_Tools.merge({}, axisChart, {
8076
8080
  ];
8077
8081
  },
8078
8082
  fillOpacity: 0.2,
8079
- enabled: true
8083
+ enabled: true,
8080
8084
  },
8081
8085
  points: {
8082
- filled: true
8083
- }
8086
+ filled: true,
8087
+ },
8084
8088
  });
8085
8089
  /**
8086
8090
  * options specific to pie charts
@@ -23138,7 +23142,7 @@ var area_Area = /** @class */ (function (_super) {
23138
23142
  if (boundsEnabled) {
23139
23143
  enteringAreas
23140
23144
  .attr('fill-opacity', configuration_non_customizable_area.opacity.selected)
23141
- .attr('stroke', function (group) {
23145
+ .style('stroke', function (group) {
23142
23146
  return self.model.getStrokeColor(group.name);
23143
23147
  })
23144
23148
  .style('stroke-dasharray', '2, 2')
@@ -23256,7 +23260,7 @@ var area_stacked_StackedArea = /** @class */ (function (_super) {
23256
23260
  originalClassName: 'area',
23257
23261
  });
23258
23262
  })
23259
- .attr('fill', function (d) { return self.model.getFillColor(d[0][groupMapsTo]); })
23263
+ .style('fill', function (d) { return self.model.getFillColor(d[0][groupMapsTo]); })
23260
23264
  .attr('role', Roles.GRAPHICS_SYMBOL)
23261
23265
  .attr('aria-roledescription', 'area')
23262
23266
  .transition(this.services.transitions.getTransition('area-update-enter', animate))
@@ -24267,9 +24271,11 @@ var scatter_Scatter = /** @class */ (function (_super) {
24267
24271
  var domainIdentifier_1 = self.services.cartesianScales.getDomainIdentifier(datum);
24268
24272
  hoveredElement
24269
24273
  .classed('unfilled', !self.model.getIsFilled(datum[groupMapsTo], datum[domainIdentifier_1], datum, filled_1))
24270
- .style("fill", function (d) { return filled_1
24271
- ? self.model.getFillColor(d[groupMapsTo], d[domainIdentifier_1], d)
24272
- : null; });
24274
+ .style('fill', function (d) {
24275
+ return filled_1
24276
+ ? self.model.getFillColor(d[groupMapsTo], d[domainIdentifier_1], d)
24277
+ : null;
24278
+ });
24273
24279
  }
24274
24280
  // Dispatch mouse event
24275
24281
  self.services.events.dispatchEvent(Events.Scatter.SCATTER_MOUSEOUT, {
@@ -24579,6 +24585,25 @@ var lollipop_Lollipop = /** @class */ (function (_super) {
24579
24585
  function Lollipop() {
24580
24586
  var _this = _super !== null && _super.apply(this, arguments) || this;
24581
24587
  _this.type = 'lollipop';
24588
+ // on hover, bolden the line associated with the scatter
24589
+ _this.handleScatterOnHover = function (event) {
24590
+ var hoveredElement = event.detail;
24591
+ var options = _this.getOptions();
24592
+ var groupMapsTo = options.data.groupMapsTo;
24593
+ _this.parent.selectAll('line.line').attr('stroke-width', function (d) {
24594
+ if (d[groupMapsTo] !== hoveredElement.datum[groupMapsTo]) {
24595
+ return configuration_non_customizable_lines.weight.unselected;
24596
+ }
24597
+ // apply selected weight
24598
+ return configuration_non_customizable_lines.weight.selected;
24599
+ });
24600
+ };
24601
+ // on mouse out remove the stroke width assertion
24602
+ _this.handleScatterOnMouseOut = function (event) {
24603
+ _this.parent
24604
+ .selectAll('line.line')
24605
+ .attr('stroke-width', configuration_non_customizable_lines.weight.unselected);
24606
+ };
24582
24607
  _this.handleLegendOnHover = function (event) {
24583
24608
  var hoveredElement = event.detail.hoveredElement;
24584
24609
  var options = _this.getOptions();
@@ -24641,7 +24666,7 @@ var lollipop_Lollipop = /** @class */ (function (_super) {
24641
24666
  });
24642
24667
  })
24643
24668
  .transition(this.services.transitions.getTransition('lollipop-line-update-enter', animate))
24644
- .attr('stroke', function (d) {
24669
+ .style('stroke', function (d) {
24645
24670
  return _this.model.getFillColor(d[groupMapsTo], d[domainIdentifier], d);
24646
24671
  })
24647
24672
  .attr('opacity', 1);
@@ -24659,6 +24684,14 @@ var lollipop_Lollipop = /** @class */ (function (_super) {
24659
24684
  .attr('y1', mainYScale.range()[0])
24660
24685
  .attr('y2', function (d, i) { return getYValue(d, i) + options.points.radius; });
24661
24686
  }
24687
+ this.addScatterPointEventListeners();
24688
+ };
24689
+ // listen for when individual datapoints are hovered
24690
+ Lollipop.prototype.addScatterPointEventListeners = function () {
24691
+ // Highlight correct line associated when hovering on a scatter point
24692
+ this.services.events.addEventListener(Events.Scatter.SCATTER_MOUSEOVER, this.handleScatterOnHover);
24693
+ // unbolden the line when not hovered on the lollipop scatter point
24694
+ this.services.events.addEventListener(Events.Scatter.SCATTER_MOUSEOUT, this.handleScatterOnMouseOut);
24662
24695
  };
24663
24696
  Lollipop.prototype.destroy = function () {
24664
24697
  // Remove event listeners
@@ -24670,6 +24703,9 @@ var lollipop_Lollipop = /** @class */ (function (_super) {
24670
24703
  var eventsFragment = this.services.events;
24671
24704
  eventsFragment.removeEventListener(Events.Legend.ITEM_HOVER, this.handleLegendOnHover);
24672
24705
  eventsFragment.removeEventListener(Events.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);
24706
+ // remove scatter listeners
24707
+ eventsFragment.removeEventListener(Events.Scatter.SCATTER_MOUSEOVER, this.handleScatterOnHover);
24708
+ eventsFragment.removeEventListener(Events.Scatter.SCATTER_MOUSEOUT, this.handleScatterOnMouseOut);
24673
24709
  };
24674
24710
  return Lollipop;
24675
24711
  }(scatter_Scatter));
@@ -25243,7 +25279,8 @@ var pie_Pie = /** @class */ (function (_super) {
25243
25279
  var self = this;
25244
25280
  var svg = this.getContainerSVG();
25245
25281
  // remove any slices that are valued at 0 because they dont need to be rendered and will create extra padding
25246
- var displayData = this.model.getDisplayData()
25282
+ var displayData = this.model
25283
+ .getDisplayData()
25247
25284
  .filter(function (data) { return data.value > 0; });
25248
25285
  var options = this.getOptions();
25249
25286
  var groupMapsTo = options.data.groupMapsTo;
@@ -25737,8 +25774,9 @@ var gauge_Gauge = /** @class */ (function (_super) {
25737
25774
  }
25738
25775
  // Add the numbers at the center
25739
25776
  var numbersGroup = dom_utils_DOMUtils.appendOrSelect(svg, 'g.gauge-numbers').attr('transform', "translate(0, " + numbersYPosition + ")");
25777
+ var fontSize = valueFontSize(radius);
25740
25778
  // Add the big number
25741
- var valueNumberGroup = dom_utils_DOMUtils.appendOrSelect(numbersGroup, 'g.gauge-value-number').attr('transform', 'translate(-10, 0)'); // Optical centering for the presence of the smaller % symbol
25779
+ var valueNumberGroup = dom_utils_DOMUtils.appendOrSelect(numbersGroup, 'g.gauge-value-number');
25742
25780
  var numberFormatter = tools_Tools.getProperty(options, 'gauge', 'numberFormatter');
25743
25781
  var valueNumber = valueNumberGroup
25744
25782
  .selectAll('text.gauge-value-number')
@@ -25748,15 +25786,22 @@ var gauge_Gauge = /** @class */ (function (_super) {
25748
25786
  .append('text')
25749
25787
  .attr('class', 'gauge-value-number')
25750
25788
  .merge(valueNumber)
25751
- .style('font-size', valueFontSize(radius) + "px")
25789
+ .style('font-size', fontSize + "px")
25752
25790
  .attr('text-anchor', 'middle')
25753
25791
  .text(function (d) { return numberFormatter(d); });
25754
25792
  // add the percentage symbol beside the valueNumber
25755
25793
  var valueNumberWidth = dom_utils_DOMUtils.getSVGElementSize(dom_utils_DOMUtils.appendOrSelect(svg, 'text.gauge-value-number'), { useBBox: true }).width;
25756
- dom_utils_DOMUtils.appendOrSelect(valueNumberGroup, 'text.gauge-value-symbol')
25757
- .style('font-size', valueFontSize(radius) / 2 + "px")
25794
+ var symbolFontSize = fontSize / 2;
25795
+ var symbol = dom_utils_DOMUtils.appendOrSelect(valueNumberGroup, 'text.gauge-value-symbol')
25796
+ .style('font-size', symbolFontSize + "px")
25758
25797
  .attr('x', valueNumberWidth / 2)
25759
25798
  .text('%');
25799
+ var _a = dom_utils_DOMUtils.getSVGElementSize(symbol, { useBBox: true }), symbolWidth = _a.width, symbolHeight = _a.height;
25800
+ // adjust the symbol to superscript using the bbox instead of the font-size cause
25801
+ // we want to align the actual character to the value number
25802
+ symbol.attr('y', "-" + symbolHeight / 2 + "px");
25803
+ // move the value group depending on the symbol's drawn size
25804
+ valueNumberGroup.attr('transform', "translate(-" + symbolWidth / 2 + ", 0)"); // Optical centering for the presence of the smaller % symbol
25760
25805
  };
25761
25806
  /**
25762
25807
  * adds the delta number for the gauge
@@ -31144,7 +31189,7 @@ var zoom_bar_ZoomBar = /** @class */ (function (_super) {
31144
31189
  initialZoomDomain: tools_Tools.merge([], newInitialZoomDomain),
31145
31190
  zoomDomain: newInitialZoomDomain
31146
31191
  ? tools_Tools.merge([], newInitialZoomDomain)
31147
- : defaultDomain
31192
+ : defaultDomain,
31148
31193
  }, { skipUpdate: true });
31149
31194
  }
31150
31195
  this.xScale.range([axesLeftMargin, width]).domain(defaultDomain);