plotly.js 2.9.0 → 2.10.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.
- package/.circleci/config.yml +39 -1
- package/.circleci/test.sh +14 -1
- package/CHANGELOG.md +11 -1
- package/CONTRIBUTING.md +1 -1
- package/README.md +12 -4
- package/dist/README.md +26 -26
- package/dist/plot-schema.json +98 -0
- package/dist/plotly-basic.js +174 -83
- package/dist/plotly-basic.min.js +3 -3
- package/dist/plotly-cartesian.js +174 -83
- package/dist/plotly-cartesian.min.js +4 -4
- package/dist/plotly-finance.js +174 -83
- package/dist/plotly-finance.min.js +3 -3
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +174 -83
- package/dist/plotly-geo.min.js +3 -3
- package/dist/plotly-gl2d.js +174 -83
- package/dist/plotly-gl2d.min.js +6 -6
- package/dist/plotly-gl3d.js +174 -83
- package/dist/plotly-gl3d.min.js +8 -8
- package/dist/plotly-mapbox.js +174 -83
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +174 -83
- package/dist/plotly-strict.min.js +6 -6
- package/dist/plotly-with-meta.js +178 -83
- package/dist/plotly.js +174 -83
- package/dist/plotly.min.js +2 -2
- package/package.json +6 -3
- package/src/components/drawing/index.js +28 -24
- package/src/components/legend/style.js +10 -6
- package/src/lib/svg_text_utils.js +106 -21
- package/src/plot_api/plot_config.js +9 -0
- package/src/snapshot/tosvg.js +14 -25
- package/src/traces/scatter/attributes.js +2 -0
- package/src/traces/scatter/defaults.js +2 -0
- package/src/traces/scatter/plot.js +4 -4
- package/src/traces/scatter/style.js +1 -1
- package/src/version.js +1 -1
- package/tasks/noci_test.sh +1 -1
package/dist/plotly.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js v2.
|
|
2
|
+
* plotly.js v2.10.0
|
|
3
3
|
* Copyright 2012-2022, Plotly, Inc.
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
* Licensed under the MIT license
|
|
@@ -108948,24 +108948,42 @@ drawing.dashStyle = function(dash, lineWidth) {
|
|
|
108948
108948
|
return dash;
|
|
108949
108949
|
};
|
|
108950
108950
|
|
|
108951
|
+
function setFillStyle(sel, trace, gd) {
|
|
108952
|
+
var markerPattern = trace.fillpattern;
|
|
108953
|
+
var patternShape = markerPattern && drawing.getPatternAttr(markerPattern.shape, 0, '');
|
|
108954
|
+
if(patternShape) {
|
|
108955
|
+
var patternBGColor = drawing.getPatternAttr(markerPattern.bgcolor, 0, null);
|
|
108956
|
+
var patternFGColor = drawing.getPatternAttr(markerPattern.fgcolor, 0, null);
|
|
108957
|
+
var patternFGOpacity = markerPattern.fgopacity;
|
|
108958
|
+
var patternSize = drawing.getPatternAttr(markerPattern.size, 0, 8);
|
|
108959
|
+
var patternSolidity = drawing.getPatternAttr(markerPattern.solidity, 0, 0.3);
|
|
108960
|
+
var patternID = trace.uid;
|
|
108961
|
+
drawing.pattern(sel, 'point', gd, patternID,
|
|
108962
|
+
patternShape, patternSize, patternSolidity,
|
|
108963
|
+
undefined, markerPattern.fillmode,
|
|
108964
|
+
patternBGColor, patternFGColor, patternFGOpacity
|
|
108965
|
+
);
|
|
108966
|
+
} else if(trace.fillcolor) {
|
|
108967
|
+
sel.call(Color.fill, trace.fillcolor);
|
|
108968
|
+
}
|
|
108969
|
+
}
|
|
108970
|
+
|
|
108951
108971
|
// Same as fillGroupStyle, except in this case the selection may be a transition
|
|
108952
|
-
drawing.singleFillStyle = function(sel) {
|
|
108972
|
+
drawing.singleFillStyle = function(sel, gd) {
|
|
108953
108973
|
var node = d3.select(sel.node());
|
|
108954
108974
|
var data = node.data();
|
|
108955
|
-
var
|
|
108956
|
-
|
|
108957
|
-
sel.call(Color.fill, fillcolor);
|
|
108958
|
-
}
|
|
108975
|
+
var trace = ((data[0] || [])[0] || {}).trace || {};
|
|
108976
|
+
setFillStyle(sel, trace, gd);
|
|
108959
108977
|
};
|
|
108960
108978
|
|
|
108961
|
-
drawing.fillGroupStyle = function(s) {
|
|
108979
|
+
drawing.fillGroupStyle = function(s, gd) {
|
|
108962
108980
|
s.style('stroke-width', 0)
|
|
108963
108981
|
.each(function(d) {
|
|
108964
108982
|
var shape = d3.select(this);
|
|
108965
108983
|
// N.B. 'd' won't be a calcdata item when
|
|
108966
108984
|
// fill !== 'none' on a segment-less and marker-less trace
|
|
108967
108985
|
if(d[0].trace) {
|
|
108968
|
-
shape
|
|
108986
|
+
setFillStyle(shape, d[0].trace, gd);
|
|
108969
108987
|
}
|
|
108970
108988
|
});
|
|
108971
108989
|
};
|
|
@@ -109118,12 +109136,7 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {
|
|
|
109118
109136
|
sel.style(prop, getFullUrl(fullID, gd))
|
|
109119
109137
|
.style(prop + '-opacity', null);
|
|
109120
109138
|
|
|
109121
|
-
|
|
109122
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
109123
|
-
};
|
|
109124
|
-
var k = className2query(d3.select(sel.node().parentNode)) +
|
|
109125
|
-
'>' + className2query(sel);
|
|
109126
|
-
fullLayout._gradientUrlQueryParts[k] = 1;
|
|
109139
|
+
sel.classed('gradient_filled', true);
|
|
109127
109140
|
};
|
|
109128
109141
|
|
|
109129
109142
|
/**
|
|
@@ -109330,11 +109343,6 @@ drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity,
|
|
|
109330
109343
|
.style('fill-opacity', null);
|
|
109331
109344
|
|
|
109332
109345
|
sel.classed('pattern_filled', true);
|
|
109333
|
-
var className2query = function(s) {
|
|
109334
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
109335
|
-
};
|
|
109336
|
-
var k = className2query(d3.select(sel.node().parentNode)) + '>.pattern_filled';
|
|
109337
|
-
fullLayout._patternUrlQueryParts[k] = 1;
|
|
109338
109346
|
};
|
|
109339
109347
|
|
|
109340
109348
|
/*
|
|
@@ -109350,9 +109358,7 @@ drawing.initGradients = function(gd) {
|
|
|
109350
109358
|
var gradientsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'gradients');
|
|
109351
109359
|
gradientsGroup.selectAll('linearGradient,radialGradient').remove();
|
|
109352
109360
|
|
|
109353
|
-
|
|
109354
|
-
// used to fix URL strings during image exports
|
|
109355
|
-
fullLayout._gradientUrlQueryParts = {};
|
|
109361
|
+
d3.select(gd).selectAll('.gradient_filled').classed('gradient_filled', false);
|
|
109356
109362
|
};
|
|
109357
109363
|
|
|
109358
109364
|
drawing.initPatterns = function(gd) {
|
|
@@ -109361,9 +109367,7 @@ drawing.initPatterns = function(gd) {
|
|
|
109361
109367
|
var patternsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'patterns');
|
|
109362
109368
|
patternsGroup.selectAll('pattern').remove();
|
|
109363
109369
|
|
|
109364
|
-
|
|
109365
|
-
// used to fix URL strings during image exports
|
|
109366
|
-
fullLayout._patternUrlQueryParts = {};
|
|
109370
|
+
d3.select(gd).selectAll('.pattern_filled').classed('pattern_filled', false);
|
|
109367
109371
|
};
|
|
109368
109372
|
|
|
109369
109373
|
drawing.getPatternAttr = function(mp, i, dflt) {
|
|
@@ -116700,12 +116704,16 @@ module.exports = function style(s, gd, legend) {
|
|
|
116700
116704
|
var colorscale = cOpts.colorscale;
|
|
116701
116705
|
var reversescale = cOpts.reversescale;
|
|
116702
116706
|
|
|
116703
|
-
var
|
|
116707
|
+
var fillStyle = function(s) {
|
|
116704
116708
|
if(s.size()) {
|
|
116705
|
-
|
|
116706
|
-
|
|
116707
|
-
|
|
116708
|
-
|
|
116709
|
+
if(showFill) {
|
|
116710
|
+
Drawing.fillGroupStyle(s, gd);
|
|
116711
|
+
} else {
|
|
116712
|
+
var gradientID = 'legendfill-' + trace.uid;
|
|
116713
|
+
Drawing.gradient(s, gd, gradientID,
|
|
116714
|
+
getGradientDirection(reversescale),
|
|
116715
|
+
colorscale, 'fill');
|
|
116716
|
+
}
|
|
116709
116717
|
}
|
|
116710
116718
|
};
|
|
116711
116719
|
|
|
@@ -116734,7 +116742,7 @@ module.exports = function style(s, gd, legend) {
|
|
|
116734
116742
|
fill.enter().append('path').classed('js-fill', true);
|
|
116735
116743
|
fill.exit().remove();
|
|
116736
116744
|
fill.attr('d', pathStart + 'h' + itemWidth + 'v6h-' + itemWidth + 'z')
|
|
116737
|
-
.call(
|
|
116745
|
+
.call(fillStyle);
|
|
116738
116746
|
|
|
116739
116747
|
if(showLine || showGradientLine) {
|
|
116740
116748
|
var lw = boundLineWidth(undefined, trace.line, MAX_LINE_WIDTH, CST_LINE_WIDTH);
|
|
@@ -132140,6 +132148,7 @@ exports.convertToTspans = function(_context, gd, _callback) {
|
|
|
132140
132148
|
// Until we get tex integrated more fully (so it can be used along with non-tex)
|
|
132141
132149
|
// allow some elements to prohibit it by attaching 'data-notex' to the original
|
|
132142
132150
|
var tex = (!_context.attr('data-notex')) &&
|
|
132151
|
+
gd && gd._context.typesetMath &&
|
|
132143
132152
|
(typeof MathJax !== 'undefined') &&
|
|
132144
132153
|
str.match(FIND_TEX);
|
|
132145
132154
|
|
|
@@ -132294,70 +132303,154 @@ function cleanEscapesForTex(s) {
|
|
|
132294
132303
|
.replace(GT_MATCH, '\\gt ');
|
|
132295
132304
|
}
|
|
132296
132305
|
|
|
132306
|
+
var inlineMath = [['$', '$'], ['\\(', '\\)']];
|
|
132307
|
+
|
|
132297
132308
|
function texToSVG(_texString, _config, _callback) {
|
|
132309
|
+
var MathJaxVersion = parseInt(
|
|
132310
|
+
(MathJax.version || '').split('.')[0]
|
|
132311
|
+
);
|
|
132312
|
+
|
|
132313
|
+
if(
|
|
132314
|
+
MathJaxVersion !== 2 &&
|
|
132315
|
+
MathJaxVersion !== 3
|
|
132316
|
+
) {
|
|
132317
|
+
Lib.warn('No MathJax version:', MathJax.version);
|
|
132318
|
+
return;
|
|
132319
|
+
}
|
|
132320
|
+
|
|
132298
132321
|
var originalRenderer,
|
|
132299
132322
|
originalConfig,
|
|
132300
132323
|
originalProcessSectionDelay,
|
|
132301
132324
|
tmpDiv;
|
|
132302
132325
|
|
|
132303
|
-
|
|
132304
|
-
function() {
|
|
132326
|
+
var setConfig2 = function() {
|
|
132305
132327
|
originalConfig = Lib.extendDeepAll({}, MathJax.Hub.config);
|
|
132306
132328
|
|
|
132307
132329
|
originalProcessSectionDelay = MathJax.Hub.processSectionDelay;
|
|
132308
132330
|
if(MathJax.Hub.processSectionDelay !== undefined) {
|
|
132309
|
-
// MathJax 2.5+
|
|
132331
|
+
// MathJax 2.5+ but not 3+
|
|
132310
132332
|
MathJax.Hub.processSectionDelay = 0;
|
|
132311
132333
|
}
|
|
132312
132334
|
|
|
132313
132335
|
return MathJax.Hub.Config({
|
|
132314
132336
|
messageStyle: 'none',
|
|
132315
132337
|
tex2jax: {
|
|
132316
|
-
inlineMath:
|
|
132338
|
+
inlineMath: inlineMath
|
|
132317
132339
|
},
|
|
132318
132340
|
displayAlign: 'left',
|
|
132319
132341
|
});
|
|
132320
|
-
}
|
|
132321
|
-
|
|
132322
|
-
|
|
132342
|
+
};
|
|
132343
|
+
|
|
132344
|
+
var setConfig3 = function() {
|
|
132345
|
+
originalConfig = Lib.extendDeepAll({}, MathJax.config);
|
|
132346
|
+
|
|
132347
|
+
if(!MathJax.config.tex) {
|
|
132348
|
+
MathJax.config.tex = {};
|
|
132349
|
+
}
|
|
132350
|
+
|
|
132351
|
+
MathJax.config.tex.inlineMath = inlineMath;
|
|
132352
|
+
};
|
|
132353
|
+
|
|
132354
|
+
var setRenderer2 = function() {
|
|
132323
132355
|
originalRenderer = MathJax.Hub.config.menuSettings.renderer;
|
|
132324
132356
|
if(originalRenderer !== 'SVG') {
|
|
132325
132357
|
return MathJax.Hub.setRenderer('SVG');
|
|
132326
132358
|
}
|
|
132327
|
-
}
|
|
132328
|
-
|
|
132359
|
+
};
|
|
132360
|
+
|
|
132361
|
+
var setRenderer3 = function() {
|
|
132362
|
+
originalRenderer = MathJax.config.startup.output;
|
|
132363
|
+
if(originalRenderer !== 'svg') {
|
|
132364
|
+
MathJax.config.startup.output = 'svg';
|
|
132365
|
+
}
|
|
132366
|
+
};
|
|
132367
|
+
|
|
132368
|
+
var initiateMathJax = function() {
|
|
132329
132369
|
var randomID = 'math-output-' + Lib.randstr({}, 64);
|
|
132330
132370
|
tmpDiv = d3.select('body').append('div')
|
|
132331
132371
|
.attr({id: randomID})
|
|
132332
|
-
.style({
|
|
132333
|
-
|
|
132372
|
+
.style({
|
|
132373
|
+
visibility: 'hidden',
|
|
132374
|
+
position: 'absolute',
|
|
132375
|
+
'font-size': _config.fontSize + 'px'
|
|
132376
|
+
})
|
|
132334
132377
|
.text(cleanEscapesForTex(_texString));
|
|
132335
132378
|
|
|
132336
|
-
|
|
132337
|
-
|
|
132338
|
-
|
|
132339
|
-
|
|
132379
|
+
var tmpNode = tmpDiv.node();
|
|
132380
|
+
|
|
132381
|
+
return MathJaxVersion === 2 ?
|
|
132382
|
+
MathJax.Hub.Typeset(tmpNode) :
|
|
132383
|
+
MathJax.typeset([tmpNode]);
|
|
132384
|
+
};
|
|
132340
132385
|
|
|
132341
|
-
|
|
132386
|
+
var finalizeMathJax = function() {
|
|
132387
|
+
var sel = tmpDiv.select(
|
|
132388
|
+
MathJaxVersion === 2 ? '.MathJax_SVG' : '.MathJax'
|
|
132389
|
+
);
|
|
132390
|
+
|
|
132391
|
+
var node = !sel.empty() && tmpDiv.select('svg').node();
|
|
132392
|
+
if(!node) {
|
|
132342
132393
|
Lib.log('There was an error in the tex syntax.', _texString);
|
|
132343
132394
|
_callback();
|
|
132344
132395
|
} else {
|
|
132345
|
-
var
|
|
132346
|
-
|
|
132396
|
+
var nodeBBox = node.getBoundingClientRect();
|
|
132397
|
+
var glyphDefs;
|
|
132398
|
+
if(MathJaxVersion === 2) {
|
|
132399
|
+
glyphDefs = d3.select('body').select('#MathJax_SVG_glyphs');
|
|
132400
|
+
} else {
|
|
132401
|
+
glyphDefs = sel.select('defs');
|
|
132402
|
+
}
|
|
132403
|
+
_callback(sel, glyphDefs, nodeBBox);
|
|
132347
132404
|
}
|
|
132348
132405
|
|
|
132349
132406
|
tmpDiv.remove();
|
|
132407
|
+
};
|
|
132350
132408
|
|
|
132409
|
+
var resetRenderer2 = function() {
|
|
132351
132410
|
if(originalRenderer !== 'SVG') {
|
|
132352
132411
|
return MathJax.Hub.setRenderer(originalRenderer);
|
|
132353
132412
|
}
|
|
132354
|
-
}
|
|
132355
|
-
|
|
132413
|
+
};
|
|
132414
|
+
|
|
132415
|
+
var resetRenderer3 = function() {
|
|
132416
|
+
if(originalRenderer !== 'svg') {
|
|
132417
|
+
MathJax.config.startup.output = originalRenderer;
|
|
132418
|
+
}
|
|
132419
|
+
};
|
|
132420
|
+
|
|
132421
|
+
var resetConfig2 = function() {
|
|
132356
132422
|
if(originalProcessSectionDelay !== undefined) {
|
|
132357
132423
|
MathJax.Hub.processSectionDelay = originalProcessSectionDelay;
|
|
132358
132424
|
}
|
|
132359
132425
|
return MathJax.Hub.Config(originalConfig);
|
|
132360
|
-
}
|
|
132426
|
+
};
|
|
132427
|
+
|
|
132428
|
+
var resetConfig3 = function() {
|
|
132429
|
+
MathJax.config = originalConfig;
|
|
132430
|
+
};
|
|
132431
|
+
|
|
132432
|
+
if(MathJaxVersion === 2) {
|
|
132433
|
+
MathJax.Hub.Queue(
|
|
132434
|
+
setConfig2,
|
|
132435
|
+
setRenderer2,
|
|
132436
|
+
initiateMathJax,
|
|
132437
|
+
finalizeMathJax,
|
|
132438
|
+
resetRenderer2,
|
|
132439
|
+
resetConfig2
|
|
132440
|
+
);
|
|
132441
|
+
} else if(MathJaxVersion === 3) {
|
|
132442
|
+
setConfig3();
|
|
132443
|
+
setRenderer3();
|
|
132444
|
+
MathJax.startup.defaultReady();
|
|
132445
|
+
|
|
132446
|
+
MathJax.startup.promise.then(function() {
|
|
132447
|
+
initiateMathJax();
|
|
132448
|
+
finalizeMathJax();
|
|
132449
|
+
|
|
132450
|
+
resetRenderer3();
|
|
132451
|
+
resetConfig3();
|
|
132452
|
+
});
|
|
132453
|
+
}
|
|
132361
132454
|
}
|
|
132362
132455
|
|
|
132363
132456
|
var TAG_STYLES = {
|
|
@@ -138203,6 +138296,11 @@ var configAttributes = {
|
|
|
138203
138296
|
dflt: false,
|
|
138204
138297
|
},
|
|
138205
138298
|
|
|
138299
|
+
typesetMath: {
|
|
138300
|
+
valType: 'boolean',
|
|
138301
|
+
dflt: true,
|
|
138302
|
+
},
|
|
138303
|
+
|
|
138206
138304
|
plotlyServerURL: {
|
|
138207
138305
|
valType: 'string',
|
|
138208
138306
|
dflt: '',
|
|
@@ -170640,7 +170738,7 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
170640
170738
|
var toppaper = fullLayout._toppaper;
|
|
170641
170739
|
var width = fullLayout.width;
|
|
170642
170740
|
var height = fullLayout.height;
|
|
170643
|
-
var i
|
|
170741
|
+
var i;
|
|
170644
170742
|
|
|
170645
170743
|
// make background color a rect in the svg, then revert after scraping
|
|
170646
170744
|
// all other alterations have been dealt with by properly preparing the svg
|
|
@@ -170713,32 +170811,21 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
170713
170811
|
}
|
|
170714
170812
|
});
|
|
170715
170813
|
|
|
170716
|
-
|
|
170717
|
-
|
|
170718
|
-
for(k in fullLayout._gradientUrlQueryParts) queryParts.push(k);
|
|
170719
|
-
}
|
|
170720
|
-
|
|
170721
|
-
if(fullLayout._patternUrlQueryParts) {
|
|
170722
|
-
for(k in fullLayout._patternUrlQueryParts) queryParts.push(k);
|
|
170723
|
-
}
|
|
170724
|
-
|
|
170725
|
-
if(queryParts.length) {
|
|
170726
|
-
svg.selectAll(queryParts.join(',')).each(function() {
|
|
170727
|
-
var pt = d3.select(this);
|
|
170814
|
+
svg.selectAll('.gradient_filled,.pattern_filled').each(function() {
|
|
170815
|
+
var pt = d3.select(this);
|
|
170728
170816
|
|
|
170729
|
-
|
|
170730
|
-
|
|
170731
|
-
|
|
170732
|
-
|
|
170733
|
-
|
|
170734
|
-
|
|
170817
|
+
// similar to font family styles above,
|
|
170818
|
+
// we must remove " after the SVG DOM has been serialized
|
|
170819
|
+
var fill = this.style.fill;
|
|
170820
|
+
if(fill && fill.indexOf('url(') !== -1) {
|
|
170821
|
+
pt.style('fill', fill.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
170822
|
+
}
|
|
170735
170823
|
|
|
170736
|
-
|
|
170737
|
-
|
|
170738
|
-
|
|
170739
|
-
|
|
170740
|
-
|
|
170741
|
-
}
|
|
170824
|
+
var stroke = this.style.stroke;
|
|
170825
|
+
if(stroke && stroke.indexOf('url(') !== -1) {
|
|
170826
|
+
pt.style('stroke', stroke.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
170827
|
+
}
|
|
170828
|
+
});
|
|
170742
170829
|
|
|
170743
170830
|
if(format === 'pdf' || format === 'eps') {
|
|
170744
170831
|
// these formats make the extra line MathJax adds around symbols look super thick in some cases
|
|
@@ -204379,6 +204466,7 @@ var hovertemplateAttrs = _dereq_('../../plots/template_attributes').hovertemplat
|
|
|
204379
204466
|
var colorScaleAttrs = _dereq_('../../components/colorscale/attributes');
|
|
204380
204467
|
var fontAttrs = _dereq_('../../plots/font_attributes');
|
|
204381
204468
|
var dash = _dereq_('../../components/drawing/attributes').dash;
|
|
204469
|
+
var pattern = _dereq_('../../components/drawing/attributes').pattern;
|
|
204382
204470
|
|
|
204383
204471
|
var Drawing = _dereq_('../../components/drawing');
|
|
204384
204472
|
var constants = _dereq_('./constants');
|
|
@@ -204566,6 +204654,7 @@ module.exports = {
|
|
|
204566
204654
|
editType: 'style',
|
|
204567
204655
|
anim: true,
|
|
204568
204656
|
},
|
|
204657
|
+
fillpattern: pattern,
|
|
204569
204658
|
marker: extendFlat({
|
|
204570
204659
|
symbol: {
|
|
204571
204660
|
valType: 'enumerated',
|
|
@@ -205302,6 +205391,7 @@ var handleLineDefaults = _dereq_('./line_defaults');
|
|
|
205302
205391
|
var handleLineShapeDefaults = _dereq_('./line_shape_defaults');
|
|
205303
205392
|
var handleTextDefaults = _dereq_('./text_defaults');
|
|
205304
205393
|
var handleFillColorDefaults = _dereq_('./fillcolor_defaults');
|
|
205394
|
+
var coercePattern = _dereq_('../../lib').coercePattern;
|
|
205305
205395
|
|
|
205306
205396
|
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
|
|
205307
205397
|
function coerce(attr, dflt) {
|
|
@@ -205355,6 +205445,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
205355
205445
|
if(traceOut.fill !== 'none') {
|
|
205356
205446
|
handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);
|
|
205357
205447
|
if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);
|
|
205448
|
+
coercePattern(coerce, 'fillpattern', traceOut.fillcolor, false);
|
|
205358
205449
|
}
|
|
205359
205450
|
|
|
205360
205451
|
var lineColor = (traceOut.line || {}).color;
|
|
@@ -206737,11 +206828,11 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
206737
206828
|
// the points on the axes are the first two points. Otherwise
|
|
206738
206829
|
// animations get a little crazy if the number of points changes.
|
|
206739
206830
|
transition(ownFillEl3).attr('d', 'M' + pt1 + 'L' + pt0 + 'L' + fullpath.substr(1))
|
|
206740
|
-
.call(Drawing.singleFillStyle);
|
|
206831
|
+
.call(Drawing.singleFillStyle, gd);
|
|
206741
206832
|
} else {
|
|
206742
206833
|
// fill to self: just join the path to itself
|
|
206743
206834
|
transition(ownFillEl3).attr('d', fullpath + 'Z')
|
|
206744
|
-
.call(Drawing.singleFillStyle);
|
|
206835
|
+
.call(Drawing.singleFillStyle, gd);
|
|
206745
206836
|
}
|
|
206746
206837
|
}
|
|
206747
206838
|
} else if(tonext) {
|
|
@@ -206753,7 +206844,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
206753
206844
|
// This makes strange results if one path is *not* entirely
|
|
206754
206845
|
// inside the other, but then that is a strange usage.
|
|
206755
206846
|
transition(tonext).attr('d', fullpath + 'Z' + prevRevpath + 'Z')
|
|
206756
|
-
.call(Drawing.singleFillStyle);
|
|
206847
|
+
.call(Drawing.singleFillStyle, gd);
|
|
206757
206848
|
} else {
|
|
206758
206849
|
// tonextx/y: for now just connect endpoints with lines. This is
|
|
206759
206850
|
// the correct behavior if the endpoints are at the same value of
|
|
@@ -206761,7 +206852,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
206761
206852
|
// things depending on whether the new endpoint projects onto the
|
|
206762
206853
|
// existing curve or off the end of it
|
|
206763
206854
|
transition(tonext).attr('d', fullpath + 'L' + prevRevpath.substr(1) + 'Z')
|
|
206764
|
-
.call(Drawing.singleFillStyle);
|
|
206855
|
+
.call(Drawing.singleFillStyle, gd);
|
|
206765
206856
|
}
|
|
206766
206857
|
trace._polygons = trace._polygons.concat(prevPolygons);
|
|
206767
206858
|
} else {
|
|
@@ -207154,7 +207245,7 @@ function style(gd) {
|
|
|
207154
207245
|
.call(Drawing.lineGroupStyle);
|
|
207155
207246
|
|
|
207156
207247
|
s.selectAll('g.trace path.js-fill')
|
|
207157
|
-
.call(Drawing.fillGroupStyle);
|
|
207248
|
+
.call(Drawing.fillGroupStyle, gd);
|
|
207158
207249
|
|
|
207159
207250
|
Registry.getComponentMethod('errorbars', 'style')(s);
|
|
207160
207251
|
}
|
|
@@ -224170,7 +224261,7 @@ function getSortFunc(opts, d2c) {
|
|
|
224170
224261
|
'use strict';
|
|
224171
224262
|
|
|
224172
224263
|
// package version injected by `npm run preprocess`
|
|
224173
|
-
exports.version = '2.
|
|
224264
|
+
exports.version = '2.10.0';
|
|
224174
224265
|
|
|
224175
224266
|
},{}],1120:[function(_dereq_,module,exports){
|
|
224176
224267
|
(function (global){(function (){
|