plotly.js 2.6.4 → 2.7.0

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * plotly.js v2.6.4
2
+ * plotly.js v2.7.0
3
3
  * Copyright 2012-2021, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -87137,15 +87137,18 @@ var SIG_EXIF = str2arr('Exif\0\0');
87137
87137
  module.exports = function (data) {
87138
87138
  if (data.length < 2) return;
87139
87139
 
87140
- // first marker of the file MUST be 0xFFD8
87141
- if (data[0] !== 0xFF || data[1] !== 0xD8) return;
87140
+ // first marker of the file MUST be 0xFFD8,
87141
+ // following by either 0xFFE0, 0xFFE2 or 0xFFE3
87142
+ if (data[0] !== 0xFF || data[1] !== 0xD8 || data[2] !== 0xFF) return;
87142
87143
 
87143
87144
  var offset = 2;
87144
87145
 
87145
87146
  for (;;) {
87146
- if (data.length - offset < 2) return;
87147
- // not a JPEG marker
87148
- if (data[offset++] !== 0xFF) return;
87147
+ // skip until we see 0xFF, see https://github.com/nodeca/probe-image-size/issues/68
87148
+ for (;;) {
87149
+ if (data.length - offset < 2) return;
87150
+ if (data[offset++] === 0xFF) break;
87151
+ }
87149
87152
 
87150
87153
  var code = data[offset++];
87151
87154
  var length;
@@ -137728,7 +137731,8 @@ function findUIPattern(key, patternSpecs) {
137728
137731
  var spec = patternSpecs[i];
137729
137732
  var match = key.match(spec.pattern);
137730
137733
  if(match) {
137731
- return {head: match[1], attr: spec.attr};
137734
+ var head = match[1] || '';
137735
+ return {head: head, tail: key.substr(head.length + 1), attr: spec.attr};
137732
137736
  }
137733
137737
  }
137734
137738
  }
@@ -137780,26 +137784,54 @@ function valsMatch(v1, v2) {
137780
137784
 
137781
137785
  function applyUIRevisions(data, layout, oldFullData, oldFullLayout) {
137782
137786
  var layoutPreGUI = oldFullLayout._preGUI;
137783
- var key, revAttr, oldRev, newRev, match, preGUIVal, newNP, newVal;
137787
+ var key, revAttr, oldRev, newRev, match, preGUIVal, newNP, newVal, head, tail;
137784
137788
  var bothInheritAutorange = [];
137789
+ var newAutorangeIn = {};
137785
137790
  var newRangeAccepted = {};
137786
137791
  for(key in layoutPreGUI) {
137787
137792
  match = findUIPattern(key, layoutUIControlPatterns);
137788
137793
  if(match) {
137789
- revAttr = match.attr || (match.head + '.uirevision');
137794
+ head = match.head;
137795
+ tail = match.tail;
137796
+ revAttr = match.attr || (head + '.uirevision');
137790
137797
  oldRev = nestedProperty(oldFullLayout, revAttr).get();
137791
137798
  newRev = oldRev && getNewRev(revAttr, layout);
137799
+
137792
137800
  if(newRev && (newRev === oldRev)) {
137793
137801
  preGUIVal = layoutPreGUI[key];
137794
137802
  if(preGUIVal === null) preGUIVal = undefined;
137795
137803
  newNP = nestedProperty(layout, key);
137796
137804
  newVal = newNP.get();
137805
+
137797
137806
  if(valsMatch(newVal, preGUIVal)) {
137798
- if(newVal === undefined && key.substr(key.length - 9) === 'autorange') {
137799
- bothInheritAutorange.push(key.substr(0, key.length - 10));
137807
+ if(newVal === undefined && tail === 'autorange') {
137808
+ bothInheritAutorange.push(head);
137800
137809
  }
137801
137810
  newNP.set(undefinedToNull(nestedProperty(oldFullLayout, key).get()));
137802
137811
  continue;
137812
+ } else if(tail === 'autorange' || tail.substr(0, 6) === 'range[') {
137813
+ // Special case for (auto)range since we push it back into the layout
137814
+ // so all null should be treated equivalently to autorange: true with any range
137815
+ var pre0 = layoutPreGUI[head + '.range[0]'];
137816
+ var pre1 = layoutPreGUI[head + '.range[1]'];
137817
+ var preAuto = layoutPreGUI[head + '.autorange'];
137818
+ if(preAuto || (preAuto === null && pre0 === null && pre1 === null)) {
137819
+ // Only read the input layout once and stash the result,
137820
+ // so we get it before we start modifying it
137821
+ if(!(head in newAutorangeIn)) {
137822
+ var newContainer = nestedProperty(layout, head).get();
137823
+ newAutorangeIn[head] = newContainer && (
137824
+ newContainer.autorange ||
137825
+ (newContainer.autorange !== false && (
137826
+ !newContainer.range || newContainer.range.length !== 2)
137827
+ )
137828
+ );
137829
+ }
137830
+ if(newAutorangeIn[head]) {
137831
+ newNP.set(undefinedToNull(nestedProperty(oldFullLayout, key).get()));
137832
+ continue;
137833
+ }
137834
+ }
137803
137835
  }
137804
137836
  }
137805
137837
  } else {
@@ -137810,12 +137842,12 @@ function applyUIRevisions(data, layout, oldFullData, oldFullLayout) {
137810
137842
  // so remove it from _preGUI for next time.
137811
137843
  delete layoutPreGUI[key];
137812
137844
 
137813
- if(key.substr(key.length - 8, 6) === 'range[') {
137814
- newRangeAccepted[key.substr(0, key.length - 9)] = 1;
137845
+ if(match && match.tail.substr(0, 6) === 'range[') {
137846
+ newRangeAccepted[match.head] = 1;
137815
137847
  }
137816
137848
  }
137817
137849
 
137818
- // Special logic for `autorange`, since it interacts with `range`:
137850
+ // More special logic for `autorange`, since it interacts with `range`:
137819
137851
  // If the new figure's matching `range` was kept, and `autorange`
137820
137852
  // wasn't supplied explicitly in either the original or the new figure,
137821
137853
  // we shouldn't alter that - but we may just have done that, so fix it.
@@ -164176,11 +164208,14 @@ proto.project = function(v) {
164176
164208
  proto.getView = function() {
164177
164209
  var map = this.map;
164178
164210
  var mapCenter = map.getCenter();
164179
- var center = { lon: mapCenter.lng, lat: mapCenter.lat };
164211
+ var lon = mapCenter.lng;
164212
+ var lat = mapCenter.lat;
164213
+ var center = { lon: lon, lat: lat };
164180
164214
 
164181
164215
  var canvas = map.getCanvas();
164182
- var w = canvas.width;
164183
- var h = canvas.height;
164216
+ var w = parseInt(canvas.style.width);
164217
+ var h = parseInt(canvas.style.height);
164218
+
164184
164219
  return {
164185
164220
  center: center,
164186
164221
  zoom: map.getZoom(),
@@ -175562,7 +175597,7 @@ function appendBarText(gd, plotinfo, bar, cd, i, x0, x1, y0, y1, opts, makeOnCom
175562
175597
  }
175563
175598
 
175564
175599
  transform.fontSize = font.size;
175565
- recordMinTextSize(trace.type, transform, fullLayout);
175600
+ recordMinTextSize(trace.type === 'histogram' ? 'bar' : trace.type, transform, fullLayout);
175566
175601
  calcBar.transform = transform;
175567
175602
 
175568
175603
  transition(textSelection, fullLayout, opts, makeOnCompleteCallback)
@@ -190818,6 +190853,8 @@ module.exports = {
190818
190853
  var barAttrs = _dereq_('../bar/attributes');
190819
190854
  var axisHoverFormat = _dereq_('../../plots/cartesian/axis_format_attributes').axisHoverFormat;
190820
190855
  var hovertemplateAttrs = _dereq_('../../plots/template_attributes').hovertemplateAttrs;
190856
+ var texttemplateAttrs = _dereq_('../../plots/template_attributes').texttemplateAttrs;
190857
+ var fontAttrs = _dereq_('../../plots/font_attributes');
190821
190858
  var makeBinAttrs = _dereq_('./bin_attributes');
190822
190859
  var constants = _dereq_('./constants');
190823
190860
  var extendFlat = _dereq_('../../lib/extend').extendFlat;
@@ -191013,6 +191050,44 @@ module.exports = {
191013
191050
  keys: constants.eventDataKeys
191014
191051
  }),
191015
191052
 
191053
+ texttemplate: texttemplateAttrs({
191054
+ arrayOk: false,
191055
+ editType: 'plot'
191056
+ }, {
191057
+ keys: ['label', 'value']
191058
+ }),
191059
+
191060
+ textposition: extendFlat({}, barAttrs.textposition, {
191061
+ arrayOk: false
191062
+ }),
191063
+
191064
+ textfont: fontAttrs({
191065
+ arrayOk: false,
191066
+ editType: 'plot',
191067
+ colorEditType: 'style',
191068
+ description: 'Sets the text font.'
191069
+ }),
191070
+
191071
+ outsidetextfont: fontAttrs({
191072
+ arrayOk: false,
191073
+ editType: 'plot',
191074
+ colorEditType: 'style',
191075
+ description: 'Sets the font used for `text` lying outside the bar.'
191076
+ }),
191077
+
191078
+ insidetextfont: fontAttrs({
191079
+ arrayOk: false,
191080
+ editType: 'plot',
191081
+ colorEditType: 'style',
191082
+ description: 'Sets the font used for `text` lying inside the bar.'
191083
+ }),
191084
+
191085
+ insidetextanchor: barAttrs.insidetextanchor,
191086
+
191087
+ textangle: barAttrs.textangle,
191088
+ cliponaxis: barAttrs.cliponaxis,
191089
+ constraintext: barAttrs.constraintext,
191090
+
191016
191091
  marker: barAttrs.marker,
191017
191092
 
191018
191093
  offsetgroup: barAttrs.offsetgroup,
@@ -191026,7 +191101,7 @@ module.exports = {
191026
191101
  }
191027
191102
  };
191028
191103
 
191029
- },{"../../lib/extend":493,"../../plots/cartesian/axis_format_attributes":557,"../../plots/template_attributes":633,"../bar/attributes":648,"./bin_attributes":813,"./constants":817}],812:[function(_dereq_,module,exports){
191104
+ },{"../../lib/extend":493,"../../plots/cartesian/axis_format_attributes":557,"../../plots/font_attributes":585,"../../plots/template_attributes":633,"../bar/attributes":648,"./bin_attributes":813,"./constants":817}],812:[function(_dereq_,module,exports){
191030
191105
  'use strict';
191031
191106
 
191032
191107
 
@@ -192193,6 +192268,7 @@ var Registry = _dereq_('../../registry');
192193
192268
  var Lib = _dereq_('../../lib');
192194
192269
  var Color = _dereq_('../../components/color');
192195
192270
 
192271
+ var handleText = _dereq_('../bar/defaults').handleText;
192196
192272
  var handleStyleDefaults = _dereq_('../bar/style_defaults');
192197
192273
  var attributes = _dereq_('./attributes');
192198
192274
 
@@ -192211,6 +192287,16 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
192211
192287
  }
192212
192288
 
192213
192289
  coerce('text');
192290
+ var textposition = coerce('textposition');
192291
+ handleText(traceIn, traceOut, layout, coerce, textposition, {
192292
+ moduleHasSelected: true,
192293
+ moduleHasUnselected: true,
192294
+ moduleHasConstrain: true,
192295
+ moduleHasCliponaxis: true,
192296
+ moduleHasTextangle: true,
192297
+ moduleHasInsideanchor: true
192298
+ });
192299
+
192214
192300
  coerce('hovertext');
192215
192301
  coerce('hovertemplate');
192216
192302
  coerce('xhoverformat');
@@ -192254,7 +192340,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
192254
192340
  errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});
192255
192341
  };
192256
192342
 
192257
- },{"../../components/color":366,"../../lib":503,"../../registry":638,"../bar/style_defaults":663,"./attributes":811}],820:[function(_dereq_,module,exports){
192343
+ },{"../../components/color":366,"../../lib":503,"../../registry":638,"../bar/defaults":652,"../bar/style_defaults":663,"./attributes":811}],820:[function(_dereq_,module,exports){
192258
192344
  'use strict';
192259
192345
 
192260
192346
  module.exports = function eventData(out, pt, trace, cd, pointNumber) {
@@ -229829,7 +229915,7 @@ function getSortFunc(opts, d2c) {
229829
229915
  'use strict';
229830
229916
 
229831
229917
  // package version injected by `npm run preprocess`
229832
- exports.version = '2.6.4';
229918
+ exports.version = '2.7.0';
229833
229919
 
229834
229920
  },{}],1119:[function(_dereq_,module,exports){
229835
229921
  (function (global){(function (){
package/dist/plotly.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * plotly.js v2.6.4
2
+ * plotly.js v2.7.0
3
3
  * Copyright 2012-2021, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
@@ -87137,15 +87137,18 @@ var SIG_EXIF = str2arr('Exif\0\0');
87137
87137
  module.exports = function (data) {
87138
87138
  if (data.length < 2) return;
87139
87139
 
87140
- // first marker of the file MUST be 0xFFD8
87141
- if (data[0] !== 0xFF || data[1] !== 0xD8) return;
87140
+ // first marker of the file MUST be 0xFFD8,
87141
+ // following by either 0xFFE0, 0xFFE2 or 0xFFE3
87142
+ if (data[0] !== 0xFF || data[1] !== 0xD8 || data[2] !== 0xFF) return;
87142
87143
 
87143
87144
  var offset = 2;
87144
87145
 
87145
87146
  for (;;) {
87146
- if (data.length - offset < 2) return;
87147
- // not a JPEG marker
87148
- if (data[offset++] !== 0xFF) return;
87147
+ // skip until we see 0xFF, see https://github.com/nodeca/probe-image-size/issues/68
87148
+ for (;;) {
87149
+ if (data.length - offset < 2) return;
87150
+ if (data[offset++] === 0xFF) break;
87151
+ }
87149
87152
 
87150
87153
  var code = data[offset++];
87151
87154
  var length;
@@ -136409,7 +136412,8 @@ function findUIPattern(key, patternSpecs) {
136409
136412
  var spec = patternSpecs[i];
136410
136413
  var match = key.match(spec.pattern);
136411
136414
  if(match) {
136412
- return {head: match[1], attr: spec.attr};
136415
+ var head = match[1] || '';
136416
+ return {head: head, tail: key.substr(head.length + 1), attr: spec.attr};
136413
136417
  }
136414
136418
  }
136415
136419
  }
@@ -136461,26 +136465,54 @@ function valsMatch(v1, v2) {
136461
136465
 
136462
136466
  function applyUIRevisions(data, layout, oldFullData, oldFullLayout) {
136463
136467
  var layoutPreGUI = oldFullLayout._preGUI;
136464
- var key, revAttr, oldRev, newRev, match, preGUIVal, newNP, newVal;
136468
+ var key, revAttr, oldRev, newRev, match, preGUIVal, newNP, newVal, head, tail;
136465
136469
  var bothInheritAutorange = [];
136470
+ var newAutorangeIn = {};
136466
136471
  var newRangeAccepted = {};
136467
136472
  for(key in layoutPreGUI) {
136468
136473
  match = findUIPattern(key, layoutUIControlPatterns);
136469
136474
  if(match) {
136470
- revAttr = match.attr || (match.head + '.uirevision');
136475
+ head = match.head;
136476
+ tail = match.tail;
136477
+ revAttr = match.attr || (head + '.uirevision');
136471
136478
  oldRev = nestedProperty(oldFullLayout, revAttr).get();
136472
136479
  newRev = oldRev && getNewRev(revAttr, layout);
136480
+
136473
136481
  if(newRev && (newRev === oldRev)) {
136474
136482
  preGUIVal = layoutPreGUI[key];
136475
136483
  if(preGUIVal === null) preGUIVal = undefined;
136476
136484
  newNP = nestedProperty(layout, key);
136477
136485
  newVal = newNP.get();
136486
+
136478
136487
  if(valsMatch(newVal, preGUIVal)) {
136479
- if(newVal === undefined && key.substr(key.length - 9) === 'autorange') {
136480
- bothInheritAutorange.push(key.substr(0, key.length - 10));
136488
+ if(newVal === undefined && tail === 'autorange') {
136489
+ bothInheritAutorange.push(head);
136481
136490
  }
136482
136491
  newNP.set(undefinedToNull(nestedProperty(oldFullLayout, key).get()));
136483
136492
  continue;
136493
+ } else if(tail === 'autorange' || tail.substr(0, 6) === 'range[') {
136494
+ // Special case for (auto)range since we push it back into the layout
136495
+ // so all null should be treated equivalently to autorange: true with any range
136496
+ var pre0 = layoutPreGUI[head + '.range[0]'];
136497
+ var pre1 = layoutPreGUI[head + '.range[1]'];
136498
+ var preAuto = layoutPreGUI[head + '.autorange'];
136499
+ if(preAuto || (preAuto === null && pre0 === null && pre1 === null)) {
136500
+ // Only read the input layout once and stash the result,
136501
+ // so we get it before we start modifying it
136502
+ if(!(head in newAutorangeIn)) {
136503
+ var newContainer = nestedProperty(layout, head).get();
136504
+ newAutorangeIn[head] = newContainer && (
136505
+ newContainer.autorange ||
136506
+ (newContainer.autorange !== false && (
136507
+ !newContainer.range || newContainer.range.length !== 2)
136508
+ )
136509
+ );
136510
+ }
136511
+ if(newAutorangeIn[head]) {
136512
+ newNP.set(undefinedToNull(nestedProperty(oldFullLayout, key).get()));
136513
+ continue;
136514
+ }
136515
+ }
136484
136516
  }
136485
136517
  }
136486
136518
  } else {
@@ -136491,12 +136523,12 @@ function applyUIRevisions(data, layout, oldFullData, oldFullLayout) {
136491
136523
  // so remove it from _preGUI for next time.
136492
136524
  delete layoutPreGUI[key];
136493
136525
 
136494
- if(key.substr(key.length - 8, 6) === 'range[') {
136495
- newRangeAccepted[key.substr(0, key.length - 9)] = 1;
136526
+ if(match && match.tail.substr(0, 6) === 'range[') {
136527
+ newRangeAccepted[match.head] = 1;
136496
136528
  }
136497
136529
  }
136498
136530
 
136499
- // Special logic for `autorange`, since it interacts with `range`:
136531
+ // More special logic for `autorange`, since it interacts with `range`:
136500
136532
  // If the new figure's matching `range` was kept, and `autorange`
136501
136533
  // wasn't supplied explicitly in either the original or the new figure,
136502
136534
  // we shouldn't alter that - but we may just have done that, so fix it.
@@ -161346,11 +161378,14 @@ proto.project = function(v) {
161346
161378
  proto.getView = function() {
161347
161379
  var map = this.map;
161348
161380
  var mapCenter = map.getCenter();
161349
- var center = { lon: mapCenter.lng, lat: mapCenter.lat };
161381
+ var lon = mapCenter.lng;
161382
+ var lat = mapCenter.lat;
161383
+ var center = { lon: lon, lat: lat };
161350
161384
 
161351
161385
  var canvas = map.getCanvas();
161352
- var w = canvas.width;
161353
- var h = canvas.height;
161386
+ var w = parseInt(canvas.style.width);
161387
+ var h = parseInt(canvas.style.height);
161388
+
161354
161389
  return {
161355
161390
  center: center,
161356
161391
  zoom: map.getZoom(),
@@ -172483,7 +172518,7 @@ function appendBarText(gd, plotinfo, bar, cd, i, x0, x1, y0, y1, opts, makeOnCom
172483
172518
  }
172484
172519
 
172485
172520
  transform.fontSize = font.size;
172486
- recordMinTextSize(trace.type, transform, fullLayout);
172521
+ recordMinTextSize(trace.type === 'histogram' ? 'bar' : trace.type, transform, fullLayout);
172487
172522
  calcBar.transform = transform;
172488
172523
 
172489
172524
  transition(textSelection, fullLayout, opts, makeOnCompleteCallback)
@@ -186815,6 +186850,8 @@ module.exports = {
186815
186850
  var barAttrs = _dereq_('../bar/attributes');
186816
186851
  var axisHoverFormat = _dereq_('../../plots/cartesian/axis_format_attributes').axisHoverFormat;
186817
186852
  var hovertemplateAttrs = _dereq_('../../plots/template_attributes').hovertemplateAttrs;
186853
+ var texttemplateAttrs = _dereq_('../../plots/template_attributes').texttemplateAttrs;
186854
+ var fontAttrs = _dereq_('../../plots/font_attributes');
186818
186855
  var makeBinAttrs = _dereq_('./bin_attributes');
186819
186856
  var constants = _dereq_('./constants');
186820
186857
  var extendFlat = _dereq_('../../lib/extend').extendFlat;
@@ -186909,6 +186946,41 @@ module.exports = {
186909
186946
  keys: constants.eventDataKeys
186910
186947
  }),
186911
186948
 
186949
+ texttemplate: texttemplateAttrs({
186950
+ arrayOk: false,
186951
+ editType: 'plot'
186952
+ }, {
186953
+ keys: ['label', 'value']
186954
+ }),
186955
+
186956
+ textposition: extendFlat({}, barAttrs.textposition, {
186957
+ arrayOk: false
186958
+ }),
186959
+
186960
+ textfont: fontAttrs({
186961
+ arrayOk: false,
186962
+ editType: 'plot',
186963
+ colorEditType: 'style',
186964
+ }),
186965
+
186966
+ outsidetextfont: fontAttrs({
186967
+ arrayOk: false,
186968
+ editType: 'plot',
186969
+ colorEditType: 'style',
186970
+ }),
186971
+
186972
+ insidetextfont: fontAttrs({
186973
+ arrayOk: false,
186974
+ editType: 'plot',
186975
+ colorEditType: 'style',
186976
+ }),
186977
+
186978
+ insidetextanchor: barAttrs.insidetextanchor,
186979
+
186980
+ textangle: barAttrs.textangle,
186981
+ cliponaxis: barAttrs.cliponaxis,
186982
+ constraintext: barAttrs.constraintext,
186983
+
186912
186984
  marker: barAttrs.marker,
186913
186985
 
186914
186986
  offsetgroup: barAttrs.offsetgroup,
@@ -186922,7 +186994,7 @@ module.exports = {
186922
186994
  }
186923
186995
  };
186924
186996
 
186925
- },{"../../lib/extend":493,"../../plots/cartesian/axis_format_attributes":557,"../../plots/template_attributes":633,"../bar/attributes":648,"./bin_attributes":813,"./constants":817}],812:[function(_dereq_,module,exports){
186997
+ },{"../../lib/extend":493,"../../plots/cartesian/axis_format_attributes":557,"../../plots/font_attributes":585,"../../plots/template_attributes":633,"../bar/attributes":648,"./bin_attributes":813,"./constants":817}],812:[function(_dereq_,module,exports){
186926
186998
  'use strict';
186927
186999
 
186928
187000
 
@@ -188045,6 +188117,7 @@ var Registry = _dereq_('../../registry');
188045
188117
  var Lib = _dereq_('../../lib');
188046
188118
  var Color = _dereq_('../../components/color');
188047
188119
 
188120
+ var handleText = _dereq_('../bar/defaults').handleText;
188048
188121
  var handleStyleDefaults = _dereq_('../bar/style_defaults');
188049
188122
  var attributes = _dereq_('./attributes');
188050
188123
 
@@ -188063,6 +188136,16 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
188063
188136
  }
188064
188137
 
188065
188138
  coerce('text');
188139
+ var textposition = coerce('textposition');
188140
+ handleText(traceIn, traceOut, layout, coerce, textposition, {
188141
+ moduleHasSelected: true,
188142
+ moduleHasUnselected: true,
188143
+ moduleHasConstrain: true,
188144
+ moduleHasCliponaxis: true,
188145
+ moduleHasTextangle: true,
188146
+ moduleHasInsideanchor: true
188147
+ });
188148
+
188066
188149
  coerce('hovertext');
188067
188150
  coerce('hovertemplate');
188068
188151
  coerce('xhoverformat');
@@ -188106,7 +188189,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
188106
188189
  errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});
188107
188190
  };
188108
188191
 
188109
- },{"../../components/color":366,"../../lib":503,"../../registry":638,"../bar/style_defaults":663,"./attributes":811}],820:[function(_dereq_,module,exports){
188192
+ },{"../../components/color":366,"../../lib":503,"../../registry":638,"../bar/defaults":652,"../bar/style_defaults":663,"./attributes":811}],820:[function(_dereq_,module,exports){
188110
188193
  'use strict';
188111
188194
 
188112
188195
  module.exports = function eventData(out, pt, trace, cd, pointNumber) {
@@ -223430,7 +223513,7 @@ function getSortFunc(opts, d2c) {
223430
223513
  'use strict';
223431
223514
 
223432
223515
  // package version injected by `npm run preprocess`
223433
- exports.version = '2.6.4';
223516
+ exports.version = '2.7.0';
223434
223517
 
223435
223518
  },{}],1119:[function(_dereq_,module,exports){
223436
223519
  (function (global){(function (){