plotly.js 2.9.0 → 2.11.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 +24 -1
- package/CONTRIBUTING.md +18 -1
- package/README.md +12 -4
- package/dist/README.md +28 -28
- 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 +601 -433
- package/dist/plotly-gl2d.min.js +10 -10
- package/dist/plotly-gl3d.js +223 -91
- 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 +40414 -1028
- package/dist/plotly-strict.min.js +11 -11
- package/dist/plotly-with-meta.js +881 -704
- package/dist/plotly.js +848 -675
- package/dist/plotly.min.js +4 -4
- package/lib/index-strict.js +5 -0
- package/package.json +13 -9
- package/src/components/drawing/index.js +28 -24
- package/src/components/legend/style.js +10 -6
- package/src/generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc +1462 -0
- package/src/generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260 +3391 -0
- package/src/generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13 +3375 -0
- package/src/generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316 +2488 -0
- package/src/generated/regl-codegen/4df455b48c9de7d9f1de4b9481b505c09613ba7f90d2b4e360e673839566688e +662 -0
- package/src/generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6 +459 -0
- package/src/generated/regl-codegen/59568c77bcbe6343ee6109df49ceeb78c8a8a8a81872e88fb077f9a3d6dc0567 +637 -0
- package/src/generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc +2226 -0
- package/src/generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4 +2052 -0
- package/src/generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770 +664 -0
- package/src/generated/regl-codegen/909861c036d6f1ef40ba2dfcc33ef32489d2fe05fa7b7984d5ff315ddceb17b1 +454 -0
- package/src/generated/regl-codegen/c759965c8d66b2b356ae7455825df829f2ba7d4e7e903236f8c8d3bc5f45bd44 +2116 -0
- package/src/generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956 +2755 -0
- package/src/generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce +639 -0
- package/src/lib/prepare_regl.js +7 -3
- 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/parcoords/base_index.js +24 -0
- package/src/traces/parcoords/index.js +4 -22
- package/src/traces/parcoords/plot-strict.js +9 -0
- package/src/traces/parcoords/plot.js +5 -2
- package/src/traces/parcoords/regl_precompiled.js +12 -0
- package/src/traces/parcoords/strict.js +7 -0
- 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/traces/scattergl/base_index.js +29 -0
- package/src/traces/scattergl/index.js +3 -26
- package/src/traces/scattergl/plot.js +5 -2
- package/src/traces/scattergl/plot_strict.js +9 -0
- package/src/traces/scattergl/regl_precompiled.js +24 -0
- package/src/traces/scattergl/strict.js +7 -0
- package/src/traces/scatterpolargl/base_index.js +29 -0
- package/src/traces/scatterpolargl/index.js +3 -26
- package/src/traces/scatterpolargl/plot.js +4 -0
- package/src/traces/scatterpolargl/plot_strict.js +13 -0
- package/src/traces/scatterpolargl/regl_precompiled.js +24 -0
- package/src/traces/scatterpolargl/strict.js +7 -0
- package/src/traces/splom/base_index.js +36 -0
- package/src/traces/splom/base_plot.js +5 -2
- package/src/traces/splom/base_plot_strict.js +9 -0
- package/src/traces/splom/index.js +3 -33
- package/src/traces/splom/regl_precompiled.js +24 -0
- package/src/traces/splom/strict.js +7 -0
- package/src/version.js +1 -1
- package/stackgl_modules/index.js +49 -8
- package/stackgl_modules/package-lock.json +10 -10
- package/stackgl_modules/package.json +2 -2
- package/tasks/bundle.js +18 -0
- package/tasks/noci_test.sh +1 -1
- package/tasks/partial_bundle.js +26 -23
- package/tasks/stats.js +3 -3
- package/tasks/util/constants.js +13 -1
package/dist/plotly-finance.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js (finance) v2.
|
|
2
|
+
* plotly.js (finance) v2.11.0
|
|
3
3
|
* Copyright 2012-2022, Plotly, Inc.
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
* Licensed under the MIT license
|
|
@@ -25710,24 +25710,42 @@ drawing.dashStyle = function(dash, lineWidth) {
|
|
|
25710
25710
|
return dash;
|
|
25711
25711
|
};
|
|
25712
25712
|
|
|
25713
|
+
function setFillStyle(sel, trace, gd) {
|
|
25714
|
+
var markerPattern = trace.fillpattern;
|
|
25715
|
+
var patternShape = markerPattern && drawing.getPatternAttr(markerPattern.shape, 0, '');
|
|
25716
|
+
if(patternShape) {
|
|
25717
|
+
var patternBGColor = drawing.getPatternAttr(markerPattern.bgcolor, 0, null);
|
|
25718
|
+
var patternFGColor = drawing.getPatternAttr(markerPattern.fgcolor, 0, null);
|
|
25719
|
+
var patternFGOpacity = markerPattern.fgopacity;
|
|
25720
|
+
var patternSize = drawing.getPatternAttr(markerPattern.size, 0, 8);
|
|
25721
|
+
var patternSolidity = drawing.getPatternAttr(markerPattern.solidity, 0, 0.3);
|
|
25722
|
+
var patternID = trace.uid;
|
|
25723
|
+
drawing.pattern(sel, 'point', gd, patternID,
|
|
25724
|
+
patternShape, patternSize, patternSolidity,
|
|
25725
|
+
undefined, markerPattern.fillmode,
|
|
25726
|
+
patternBGColor, patternFGColor, patternFGOpacity
|
|
25727
|
+
);
|
|
25728
|
+
} else if(trace.fillcolor) {
|
|
25729
|
+
sel.call(Color.fill, trace.fillcolor);
|
|
25730
|
+
}
|
|
25731
|
+
}
|
|
25732
|
+
|
|
25713
25733
|
// Same as fillGroupStyle, except in this case the selection may be a transition
|
|
25714
|
-
drawing.singleFillStyle = function(sel) {
|
|
25734
|
+
drawing.singleFillStyle = function(sel, gd) {
|
|
25715
25735
|
var node = d3.select(sel.node());
|
|
25716
25736
|
var data = node.data();
|
|
25717
|
-
var
|
|
25718
|
-
|
|
25719
|
-
sel.call(Color.fill, fillcolor);
|
|
25720
|
-
}
|
|
25737
|
+
var trace = ((data[0] || [])[0] || {}).trace || {};
|
|
25738
|
+
setFillStyle(sel, trace, gd);
|
|
25721
25739
|
};
|
|
25722
25740
|
|
|
25723
|
-
drawing.fillGroupStyle = function(s) {
|
|
25741
|
+
drawing.fillGroupStyle = function(s, gd) {
|
|
25724
25742
|
s.style('stroke-width', 0)
|
|
25725
25743
|
.each(function(d) {
|
|
25726
25744
|
var shape = d3.select(this);
|
|
25727
25745
|
// N.B. 'd' won't be a calcdata item when
|
|
25728
25746
|
// fill !== 'none' on a segment-less and marker-less trace
|
|
25729
25747
|
if(d[0].trace) {
|
|
25730
|
-
shape
|
|
25748
|
+
setFillStyle(shape, d[0].trace, gd);
|
|
25731
25749
|
}
|
|
25732
25750
|
});
|
|
25733
25751
|
};
|
|
@@ -25880,12 +25898,7 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {
|
|
|
25880
25898
|
sel.style(prop, getFullUrl(fullID, gd))
|
|
25881
25899
|
.style(prop + '-opacity', null);
|
|
25882
25900
|
|
|
25883
|
-
|
|
25884
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
25885
|
-
};
|
|
25886
|
-
var k = className2query(d3.select(sel.node().parentNode)) +
|
|
25887
|
-
'>' + className2query(sel);
|
|
25888
|
-
fullLayout._gradientUrlQueryParts[k] = 1;
|
|
25901
|
+
sel.classed('gradient_filled', true);
|
|
25889
25902
|
};
|
|
25890
25903
|
|
|
25891
25904
|
/**
|
|
@@ -26092,11 +26105,6 @@ drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity,
|
|
|
26092
26105
|
.style('fill-opacity', null);
|
|
26093
26106
|
|
|
26094
26107
|
sel.classed('pattern_filled', true);
|
|
26095
|
-
var className2query = function(s) {
|
|
26096
|
-
return '.' + s.attr('class').replace(/\s/g, '.');
|
|
26097
|
-
};
|
|
26098
|
-
var k = className2query(d3.select(sel.node().parentNode)) + '>.pattern_filled';
|
|
26099
|
-
fullLayout._patternUrlQueryParts[k] = 1;
|
|
26100
26108
|
};
|
|
26101
26109
|
|
|
26102
26110
|
/*
|
|
@@ -26112,9 +26120,7 @@ drawing.initGradients = function(gd) {
|
|
|
26112
26120
|
var gradientsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'gradients');
|
|
26113
26121
|
gradientsGroup.selectAll('linearGradient,radialGradient').remove();
|
|
26114
26122
|
|
|
26115
|
-
|
|
26116
|
-
// used to fix URL strings during image exports
|
|
26117
|
-
fullLayout._gradientUrlQueryParts = {};
|
|
26123
|
+
d3.select(gd).selectAll('.gradient_filled').classed('gradient_filled', false);
|
|
26118
26124
|
};
|
|
26119
26125
|
|
|
26120
26126
|
drawing.initPatterns = function(gd) {
|
|
@@ -26123,9 +26129,7 @@ drawing.initPatterns = function(gd) {
|
|
|
26123
26129
|
var patternsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'patterns');
|
|
26124
26130
|
patternsGroup.selectAll('pattern').remove();
|
|
26125
26131
|
|
|
26126
|
-
|
|
26127
|
-
// used to fix URL strings during image exports
|
|
26128
|
-
fullLayout._patternUrlQueryParts = {};
|
|
26132
|
+
d3.select(gd).selectAll('.pattern_filled').classed('pattern_filled', false);
|
|
26129
26133
|
};
|
|
26130
26134
|
|
|
26131
26135
|
drawing.getPatternAttr = function(mp, i, dflt) {
|
|
@@ -33462,12 +33466,16 @@ module.exports = function style(s, gd, legend) {
|
|
|
33462
33466
|
var colorscale = cOpts.colorscale;
|
|
33463
33467
|
var reversescale = cOpts.reversescale;
|
|
33464
33468
|
|
|
33465
|
-
var
|
|
33469
|
+
var fillStyle = function(s) {
|
|
33466
33470
|
if(s.size()) {
|
|
33467
|
-
|
|
33468
|
-
|
|
33469
|
-
|
|
33470
|
-
|
|
33471
|
+
if(showFill) {
|
|
33472
|
+
Drawing.fillGroupStyle(s, gd);
|
|
33473
|
+
} else {
|
|
33474
|
+
var gradientID = 'legendfill-' + trace.uid;
|
|
33475
|
+
Drawing.gradient(s, gd, gradientID,
|
|
33476
|
+
getGradientDirection(reversescale),
|
|
33477
|
+
colorscale, 'fill');
|
|
33478
|
+
}
|
|
33471
33479
|
}
|
|
33472
33480
|
};
|
|
33473
33481
|
|
|
@@ -33496,7 +33504,7 @@ module.exports = function style(s, gd, legend) {
|
|
|
33496
33504
|
fill.enter().append('path').classed('js-fill', true);
|
|
33497
33505
|
fill.exit().remove();
|
|
33498
33506
|
fill.attr('d', pathStart + 'h' + itemWidth + 'v6h-' + itemWidth + 'z')
|
|
33499
|
-
.call(
|
|
33507
|
+
.call(fillStyle);
|
|
33500
33508
|
|
|
33501
33509
|
if(showLine || showGradientLine) {
|
|
33502
33510
|
var lw = boundLineWidth(undefined, trace.line, MAX_LINE_WIDTH, CST_LINE_WIDTH);
|
|
@@ -48137,6 +48145,7 @@ exports.convertToTspans = function(_context, gd, _callback) {
|
|
|
48137
48145
|
// Until we get tex integrated more fully (so it can be used along with non-tex)
|
|
48138
48146
|
// allow some elements to prohibit it by attaching 'data-notex' to the original
|
|
48139
48147
|
var tex = (!_context.attr('data-notex')) &&
|
|
48148
|
+
gd && gd._context.typesetMath &&
|
|
48140
48149
|
(typeof MathJax !== 'undefined') &&
|
|
48141
48150
|
str.match(FIND_TEX);
|
|
48142
48151
|
|
|
@@ -48291,70 +48300,154 @@ function cleanEscapesForTex(s) {
|
|
|
48291
48300
|
.replace(GT_MATCH, '\\gt ');
|
|
48292
48301
|
}
|
|
48293
48302
|
|
|
48303
|
+
var inlineMath = [['$', '$'], ['\\(', '\\)']];
|
|
48304
|
+
|
|
48294
48305
|
function texToSVG(_texString, _config, _callback) {
|
|
48306
|
+
var MathJaxVersion = parseInt(
|
|
48307
|
+
(MathJax.version || '').split('.')[0]
|
|
48308
|
+
);
|
|
48309
|
+
|
|
48310
|
+
if(
|
|
48311
|
+
MathJaxVersion !== 2 &&
|
|
48312
|
+
MathJaxVersion !== 3
|
|
48313
|
+
) {
|
|
48314
|
+
Lib.warn('No MathJax version:', MathJax.version);
|
|
48315
|
+
return;
|
|
48316
|
+
}
|
|
48317
|
+
|
|
48295
48318
|
var originalRenderer,
|
|
48296
48319
|
originalConfig,
|
|
48297
48320
|
originalProcessSectionDelay,
|
|
48298
48321
|
tmpDiv;
|
|
48299
48322
|
|
|
48300
|
-
|
|
48301
|
-
function() {
|
|
48323
|
+
var setConfig2 = function() {
|
|
48302
48324
|
originalConfig = Lib.extendDeepAll({}, MathJax.Hub.config);
|
|
48303
48325
|
|
|
48304
48326
|
originalProcessSectionDelay = MathJax.Hub.processSectionDelay;
|
|
48305
48327
|
if(MathJax.Hub.processSectionDelay !== undefined) {
|
|
48306
|
-
// MathJax 2.5+
|
|
48328
|
+
// MathJax 2.5+ but not 3+
|
|
48307
48329
|
MathJax.Hub.processSectionDelay = 0;
|
|
48308
48330
|
}
|
|
48309
48331
|
|
|
48310
48332
|
return MathJax.Hub.Config({
|
|
48311
48333
|
messageStyle: 'none',
|
|
48312
48334
|
tex2jax: {
|
|
48313
|
-
inlineMath:
|
|
48335
|
+
inlineMath: inlineMath
|
|
48314
48336
|
},
|
|
48315
48337
|
displayAlign: 'left',
|
|
48316
48338
|
});
|
|
48317
|
-
}
|
|
48318
|
-
|
|
48319
|
-
|
|
48339
|
+
};
|
|
48340
|
+
|
|
48341
|
+
var setConfig3 = function() {
|
|
48342
|
+
originalConfig = Lib.extendDeepAll({}, MathJax.config);
|
|
48343
|
+
|
|
48344
|
+
if(!MathJax.config.tex) {
|
|
48345
|
+
MathJax.config.tex = {};
|
|
48346
|
+
}
|
|
48347
|
+
|
|
48348
|
+
MathJax.config.tex.inlineMath = inlineMath;
|
|
48349
|
+
};
|
|
48350
|
+
|
|
48351
|
+
var setRenderer2 = function() {
|
|
48320
48352
|
originalRenderer = MathJax.Hub.config.menuSettings.renderer;
|
|
48321
48353
|
if(originalRenderer !== 'SVG') {
|
|
48322
48354
|
return MathJax.Hub.setRenderer('SVG');
|
|
48323
48355
|
}
|
|
48324
|
-
}
|
|
48325
|
-
|
|
48356
|
+
};
|
|
48357
|
+
|
|
48358
|
+
var setRenderer3 = function() {
|
|
48359
|
+
originalRenderer = MathJax.config.startup.output;
|
|
48360
|
+
if(originalRenderer !== 'svg') {
|
|
48361
|
+
MathJax.config.startup.output = 'svg';
|
|
48362
|
+
}
|
|
48363
|
+
};
|
|
48364
|
+
|
|
48365
|
+
var initiateMathJax = function() {
|
|
48326
48366
|
var randomID = 'math-output-' + Lib.randstr({}, 64);
|
|
48327
48367
|
tmpDiv = d3.select('body').append('div')
|
|
48328
48368
|
.attr({id: randomID})
|
|
48329
|
-
.style({
|
|
48330
|
-
|
|
48369
|
+
.style({
|
|
48370
|
+
visibility: 'hidden',
|
|
48371
|
+
position: 'absolute',
|
|
48372
|
+
'font-size': _config.fontSize + 'px'
|
|
48373
|
+
})
|
|
48331
48374
|
.text(cleanEscapesForTex(_texString));
|
|
48332
48375
|
|
|
48333
|
-
|
|
48334
|
-
|
|
48335
|
-
|
|
48336
|
-
|
|
48376
|
+
var tmpNode = tmpDiv.node();
|
|
48377
|
+
|
|
48378
|
+
return MathJaxVersion === 2 ?
|
|
48379
|
+
MathJax.Hub.Typeset(tmpNode) :
|
|
48380
|
+
MathJax.typeset([tmpNode]);
|
|
48381
|
+
};
|
|
48337
48382
|
|
|
48338
|
-
|
|
48383
|
+
var finalizeMathJax = function() {
|
|
48384
|
+
var sel = tmpDiv.select(
|
|
48385
|
+
MathJaxVersion === 2 ? '.MathJax_SVG' : '.MathJax'
|
|
48386
|
+
);
|
|
48387
|
+
|
|
48388
|
+
var node = !sel.empty() && tmpDiv.select('svg').node();
|
|
48389
|
+
if(!node) {
|
|
48339
48390
|
Lib.log('There was an error in the tex syntax.', _texString);
|
|
48340
48391
|
_callback();
|
|
48341
48392
|
} else {
|
|
48342
|
-
var
|
|
48343
|
-
|
|
48393
|
+
var nodeBBox = node.getBoundingClientRect();
|
|
48394
|
+
var glyphDefs;
|
|
48395
|
+
if(MathJaxVersion === 2) {
|
|
48396
|
+
glyphDefs = d3.select('body').select('#MathJax_SVG_glyphs');
|
|
48397
|
+
} else {
|
|
48398
|
+
glyphDefs = sel.select('defs');
|
|
48399
|
+
}
|
|
48400
|
+
_callback(sel, glyphDefs, nodeBBox);
|
|
48344
48401
|
}
|
|
48345
48402
|
|
|
48346
48403
|
tmpDiv.remove();
|
|
48404
|
+
};
|
|
48347
48405
|
|
|
48406
|
+
var resetRenderer2 = function() {
|
|
48348
48407
|
if(originalRenderer !== 'SVG') {
|
|
48349
48408
|
return MathJax.Hub.setRenderer(originalRenderer);
|
|
48350
48409
|
}
|
|
48351
|
-
}
|
|
48352
|
-
|
|
48410
|
+
};
|
|
48411
|
+
|
|
48412
|
+
var resetRenderer3 = function() {
|
|
48413
|
+
if(originalRenderer !== 'svg') {
|
|
48414
|
+
MathJax.config.startup.output = originalRenderer;
|
|
48415
|
+
}
|
|
48416
|
+
};
|
|
48417
|
+
|
|
48418
|
+
var resetConfig2 = function() {
|
|
48353
48419
|
if(originalProcessSectionDelay !== undefined) {
|
|
48354
48420
|
MathJax.Hub.processSectionDelay = originalProcessSectionDelay;
|
|
48355
48421
|
}
|
|
48356
48422
|
return MathJax.Hub.Config(originalConfig);
|
|
48357
|
-
}
|
|
48423
|
+
};
|
|
48424
|
+
|
|
48425
|
+
var resetConfig3 = function() {
|
|
48426
|
+
MathJax.config = originalConfig;
|
|
48427
|
+
};
|
|
48428
|
+
|
|
48429
|
+
if(MathJaxVersion === 2) {
|
|
48430
|
+
MathJax.Hub.Queue(
|
|
48431
|
+
setConfig2,
|
|
48432
|
+
setRenderer2,
|
|
48433
|
+
initiateMathJax,
|
|
48434
|
+
finalizeMathJax,
|
|
48435
|
+
resetRenderer2,
|
|
48436
|
+
resetConfig2
|
|
48437
|
+
);
|
|
48438
|
+
} else if(MathJaxVersion === 3) {
|
|
48439
|
+
setConfig3();
|
|
48440
|
+
setRenderer3();
|
|
48441
|
+
MathJax.startup.defaultReady();
|
|
48442
|
+
|
|
48443
|
+
MathJax.startup.promise.then(function() {
|
|
48444
|
+
initiateMathJax();
|
|
48445
|
+
finalizeMathJax();
|
|
48446
|
+
|
|
48447
|
+
resetRenderer3();
|
|
48448
|
+
resetConfig3();
|
|
48449
|
+
});
|
|
48450
|
+
}
|
|
48358
48451
|
}
|
|
48359
48452
|
|
|
48360
48453
|
var TAG_STYLES = {
|
|
@@ -54174,6 +54267,11 @@ var configAttributes = {
|
|
|
54174
54267
|
dflt: false,
|
|
54175
54268
|
},
|
|
54176
54269
|
|
|
54270
|
+
typesetMath: {
|
|
54271
|
+
valType: 'boolean',
|
|
54272
|
+
dflt: true,
|
|
54273
|
+
},
|
|
54274
|
+
|
|
54177
54275
|
plotlyServerURL: {
|
|
54178
54276
|
valType: 'string',
|
|
54179
54277
|
dflt: '',
|
|
@@ -74963,7 +75061,7 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
74963
75061
|
var toppaper = fullLayout._toppaper;
|
|
74964
75062
|
var width = fullLayout.width;
|
|
74965
75063
|
var height = fullLayout.height;
|
|
74966
|
-
var i
|
|
75064
|
+
var i;
|
|
74967
75065
|
|
|
74968
75066
|
// make background color a rect in the svg, then revert after scraping
|
|
74969
75067
|
// all other alterations have been dealt with by properly preparing the svg
|
|
@@ -75036,32 +75134,21 @@ module.exports = function toSVG(gd, format, scale) {
|
|
|
75036
75134
|
}
|
|
75037
75135
|
});
|
|
75038
75136
|
|
|
75039
|
-
|
|
75040
|
-
|
|
75041
|
-
for(k in fullLayout._gradientUrlQueryParts) queryParts.push(k);
|
|
75042
|
-
}
|
|
75043
|
-
|
|
75044
|
-
if(fullLayout._patternUrlQueryParts) {
|
|
75045
|
-
for(k in fullLayout._patternUrlQueryParts) queryParts.push(k);
|
|
75046
|
-
}
|
|
75047
|
-
|
|
75048
|
-
if(queryParts.length) {
|
|
75049
|
-
svg.selectAll(queryParts.join(',')).each(function() {
|
|
75050
|
-
var pt = d3.select(this);
|
|
75137
|
+
svg.selectAll('.gradient_filled,.pattern_filled').each(function() {
|
|
75138
|
+
var pt = d3.select(this);
|
|
75051
75139
|
|
|
75052
|
-
|
|
75053
|
-
|
|
75054
|
-
|
|
75055
|
-
|
|
75056
|
-
|
|
75057
|
-
|
|
75140
|
+
// similar to font family styles above,
|
|
75141
|
+
// we must remove " after the SVG DOM has been serialized
|
|
75142
|
+
var fill = this.style.fill;
|
|
75143
|
+
if(fill && fill.indexOf('url(') !== -1) {
|
|
75144
|
+
pt.style('fill', fill.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
75145
|
+
}
|
|
75058
75146
|
|
|
75059
|
-
|
|
75060
|
-
|
|
75061
|
-
|
|
75062
|
-
|
|
75063
|
-
|
|
75064
|
-
}
|
|
75147
|
+
var stroke = this.style.stroke;
|
|
75148
|
+
if(stroke && stroke.indexOf('url(') !== -1) {
|
|
75149
|
+
pt.style('stroke', stroke.replace(DOUBLEQUOTE_REGEX, DUMMY_SUB));
|
|
75150
|
+
}
|
|
75151
|
+
});
|
|
75065
75152
|
|
|
75066
75153
|
if(format === 'pdf' || format === 'eps') {
|
|
75067
75154
|
// these formats make the extra line MathJax adds around symbols look super thick in some cases
|
|
@@ -85937,6 +86024,7 @@ var hovertemplateAttrs = _dereq_('../../plots/template_attributes').hovertemplat
|
|
|
85937
86024
|
var colorScaleAttrs = _dereq_('../../components/colorscale/attributes');
|
|
85938
86025
|
var fontAttrs = _dereq_('../../plots/font_attributes');
|
|
85939
86026
|
var dash = _dereq_('../../components/drawing/attributes').dash;
|
|
86027
|
+
var pattern = _dereq_('../../components/drawing/attributes').pattern;
|
|
85940
86028
|
|
|
85941
86029
|
var Drawing = _dereq_('../../components/drawing');
|
|
85942
86030
|
var constants = _dereq_('./constants');
|
|
@@ -86124,6 +86212,7 @@ module.exports = {
|
|
|
86124
86212
|
editType: 'style',
|
|
86125
86213
|
anim: true,
|
|
86126
86214
|
},
|
|
86215
|
+
fillpattern: pattern,
|
|
86127
86216
|
marker: extendFlat({
|
|
86128
86217
|
symbol: {
|
|
86129
86218
|
valType: 'enumerated',
|
|
@@ -86860,6 +86949,7 @@ var handleLineDefaults = _dereq_('./line_defaults');
|
|
|
86860
86949
|
var handleLineShapeDefaults = _dereq_('./line_shape_defaults');
|
|
86861
86950
|
var handleTextDefaults = _dereq_('./text_defaults');
|
|
86862
86951
|
var handleFillColorDefaults = _dereq_('./fillcolor_defaults');
|
|
86952
|
+
var coercePattern = _dereq_('../../lib').coercePattern;
|
|
86863
86953
|
|
|
86864
86954
|
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
|
|
86865
86955
|
function coerce(attr, dflt) {
|
|
@@ -86913,6 +87003,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
86913
87003
|
if(traceOut.fill !== 'none') {
|
|
86914
87004
|
handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);
|
|
86915
87005
|
if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);
|
|
87006
|
+
coercePattern(coerce, 'fillpattern', traceOut.fillcolor, false);
|
|
86916
87007
|
}
|
|
86917
87008
|
|
|
86918
87009
|
var lineColor = (traceOut.line || {}).color;
|
|
@@ -88295,11 +88386,11 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
88295
88386
|
// the points on the axes are the first two points. Otherwise
|
|
88296
88387
|
// animations get a little crazy if the number of points changes.
|
|
88297
88388
|
transition(ownFillEl3).attr('d', 'M' + pt1 + 'L' + pt0 + 'L' + fullpath.substr(1))
|
|
88298
|
-
.call(Drawing.singleFillStyle);
|
|
88389
|
+
.call(Drawing.singleFillStyle, gd);
|
|
88299
88390
|
} else {
|
|
88300
88391
|
// fill to self: just join the path to itself
|
|
88301
88392
|
transition(ownFillEl3).attr('d', fullpath + 'Z')
|
|
88302
|
-
.call(Drawing.singleFillStyle);
|
|
88393
|
+
.call(Drawing.singleFillStyle, gd);
|
|
88303
88394
|
}
|
|
88304
88395
|
}
|
|
88305
88396
|
} else if(tonext) {
|
|
@@ -88311,7 +88402,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
88311
88402
|
// This makes strange results if one path is *not* entirely
|
|
88312
88403
|
// inside the other, but then that is a strange usage.
|
|
88313
88404
|
transition(tonext).attr('d', fullpath + 'Z' + prevRevpath + 'Z')
|
|
88314
|
-
.call(Drawing.singleFillStyle);
|
|
88405
|
+
.call(Drawing.singleFillStyle, gd);
|
|
88315
88406
|
} else {
|
|
88316
88407
|
// tonextx/y: for now just connect endpoints with lines. This is
|
|
88317
88408
|
// the correct behavior if the endpoints are at the same value of
|
|
@@ -88319,7 +88410,7 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition
|
|
|
88319
88410
|
// things depending on whether the new endpoint projects onto the
|
|
88320
88411
|
// existing curve or off the end of it
|
|
88321
88412
|
transition(tonext).attr('d', fullpath + 'L' + prevRevpath.substr(1) + 'Z')
|
|
88322
|
-
.call(Drawing.singleFillStyle);
|
|
88413
|
+
.call(Drawing.singleFillStyle, gd);
|
|
88323
88414
|
}
|
|
88324
88415
|
trace._polygons = trace._polygons.concat(prevPolygons);
|
|
88325
88416
|
} else {
|
|
@@ -88712,7 +88803,7 @@ function style(gd) {
|
|
|
88712
88803
|
.call(Drawing.lineGroupStyle);
|
|
88713
88804
|
|
|
88714
88805
|
s.selectAll('g.trace path.js-fill')
|
|
88715
|
-
.call(Drawing.fillGroupStyle);
|
|
88806
|
+
.call(Drawing.fillGroupStyle, gd);
|
|
88716
88807
|
|
|
88717
88808
|
Registry.getComponentMethod('errorbars', 'style')(s);
|
|
88718
88809
|
}
|
|
@@ -90684,7 +90775,7 @@ function getSortFunc(opts, d2c) {
|
|
|
90684
90775
|
'use strict';
|
|
90685
90776
|
|
|
90686
90777
|
// package version injected by `npm run preprocess`
|
|
90687
|
-
exports.version = '2.
|
|
90778
|
+
exports.version = '2.11.0';
|
|
90688
90779
|
|
|
90689
90780
|
},{}]},{},[12])(12)
|
|
90690
90781
|
});
|