plotly.js 3.0.0-rc.1 → 3.0.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/CHANGELOG.md CHANGED
@@ -9,6 +9,54 @@ To see all merged commits on the master branch that will be part of the next plo
9
9
 
10
10
  where X.Y.Z is the semver of most recent plotly.js release.
11
11
 
12
+ ## [3.0.0] -- 2025-01-27
13
+
14
+ ### Removed
15
+ - Drop support for passing a string to the `title` attribute, and drop support for deprecated attributes `titlefont`, `titleposition`, `titleside`, and `titleoffset` (use `title.text`, `title.font`, `title.side`, `title.offset` instead)[[#7212](https://github.com/plotly/plotly.js/pull/7212)]
16
+ - Drop deprecated pointcloud and heatmapgl traces and gl2d subplots [[#7213](https://github.com/plotly/plotly.js/pull/7213)]
17
+ Drop support for deprecated `bardir` attribute (use `orientation` instead) [[#7214](https://github.com/plotly/plotly.js/pull/7214)]
18
+ - Drop support for deprecated `annotation.ref` attribute (use `annotation.xref` and `annotation.yref` instead) [[#7215](https://github.com/plotly/plotly.js/pull/7215)]
19
+ - Drop support for deprecated error bar `opacity` attribute (use alpha channel of error bar `color` attribute instead) [[#7214](https://github.com/plotly/plotly.js/pull/7216)]
20
+ - Drop support for deprecated attribute `gl3d.cameraposition` (use `gl3d.camera` instead) [[#7217](https://github.com/plotly/plotly.js/pull/7217)]
21
+ - Drop deprecated `plot3dPixelRatio` from config [[#7231](https://github.com/plotly/plotly.js/pull/7231)]
22
+ - Drop deprecated `zauto`, `zmin` and `zmax` from the surface trace [[#7234](https://github.com/plotly/plotly.js/pull/7234)]
23
+ - Drop deprecated `autotick` attributes from cartesian axes [[#7236](https://github.com/plotly/plotly.js/pull/7236)]
24
+ - Drop `transforms` from the API [[#7240](https://github.com/plotly/plotly.js/pull/7240), [#7254](https://github.com/plotly/plotly.js/pull/7254)]
25
+ - Drop jQuery events support [[#7224](https://github.com/plotly/plotly.js/pull/7224)]
26
+ - Drop the AMD support from the bundle header [[#7229](https://github.com/plotly/plotly.js/pull/7229)]
27
+
28
+ ### Changed
29
+ - Switch from webpack to esbuild for fast builds & testing as well as allowing modern JavaScript beyond es5 [[#6909](https://github.com/plotly/plotly.js/pull/6909)]
30
+ - Make offsetgroup work with barmode "stacked" and "relative" for bar traces [[#7009](https://github.com/plotly/plotly.js/pull/7009)]
31
+ - Node v18 required for development [[#7116](https://github.com/plotly/plotly.js/pull/7124)]
32
+ - Cleanup remaining code that was there to support the Internet Explorer [[#7251](https://github.com/plotly/plotly.js/pull/7251)]
33
+ - Deprecate mapbox traces and provide links to migration docs for plotly.js and plotly.py users [[#7260](https://github.com/plotly/plotly.js/pull/7260)]
34
+
35
+ ### Fixed
36
+ - Remove inline styles that break plots in strict CSP setups [[#7109](https://github.com/plotly/plotly.js/pull/7109)],
37
+ with thanks to @martian111 for the contribution!
38
+ - Allow null or broken selection objects without throwing an error [[#7164](https://github.com/plotly/plotly.js/pull/7164)]
39
+ - Render scatterternary traces correctly if they have the `ids` attribute [[#7164](https://github.com/plotly/plotly.js/pull/7164)]
40
+ - Do not convert url-sourced layout images to data URI unless we're in staticPlot mode, to improve interactivity when images are changed with zoom/pan [[#7199](https://github.com/plotly/plotly.js/pull/7199)]
41
+ - Fix source map of the mablibre dependency [[#7204](https://github.com/plotly/plotly.js/pull/7204)]
42
+ - Fix years in license [[#7205](https://github.com/plotly/plotly.js/pull/7205)]
43
+ - Maintain layout images element identity based on coordinates,
44
+ for smoother updates when you add or remove images early in the list. [[#7277](https://github.com/plotly/plotly.js/pull/7277)]
45
+ - Fix handling of new domain values given in the Plotly.react function to
46
+ prevent loss of new domain values. [[#7283](https://github.com/plotly/plotly.js/pull/7283)]
47
+ - Fix distortions in sankey diagram links loops [[#7272](https://github.com/plotly/plotly.js/pull/7272)],
48
+ with thanks to @giuseppe-straziota for the contribution!
49
+ - Performance improvement for scattergl traces with many points [[#7301](https://github.com/plotly/plotly.js/pull/7301)],
50
+ with thanks to @giuseppe-straziota for the contribution!
51
+ - Set height and width on the `.plotly-container` div to 100% to fix gl3d rendering in Dash Enterprise apps [[#7313](https://github.com/plotly/plotly.js/pull/7313)]
52
+
53
+
54
+ ## [2.35.3] -- 2024-12-13
55
+
56
+ ### Fixed
57
+ - Set height and width on the `.plotly-container` div to 100% to fix gl3d rendering in Dash Enterprise apps [[#7313](https://github.com/plotly/plotly.js/pull/7313)]
58
+
59
+
12
60
  ## [3.0.0-rc.1] -- 2024-11-27
13
61
 
14
62
  ### Removed
@@ -591,7 +639,7 @@ Drop support for deprecated `bardir` attribute (use `orientation` instead) [[#72
591
639
  ## [2.15.1] -- 2022-10-11
592
640
 
593
641
  ### Fixed
594
- - Fix latest version of plotly.js main module on npm
642
+ - Fix latest version of plotly.js main module on npm
595
643
 
596
644
 
597
645
  ## [2.15.0] -- 2022-10-06
@@ -610,9 +658,9 @@ Drop support for deprecated `bardir` attribute (use `orientation` instead) [[#72
610
658
  - Fix automargin to update axis titles in redraws [[#6312](https://github.com/plotly/plotly.js/pull/6312)]
611
659
  - Fix exporting patterns with transparent color [[#6318](https://github.com/plotly/plotly.js/pull/6318)]
612
660
  - Fix exporting text on empty slices [[#6335](https://github.com/plotly/plotly.js/pull/6335)]
613
- - Disable interactions for `treemap`, `icicle`, `sunburst`, `pie`, `funnelarea`,
661
+ - Disable interactions for `treemap`, `icicle`, `sunburst`, `pie`, `funnelarea`,
614
662
  `parcats`, `parcoords` and `sankey` traces when `staticPlot` is set to true [[#6296](https://github.com/plotly/plotly.js/pull/6296)]
615
-
663
+
616
664
 
617
665
  ## [2.14.0] -- 2022-08-10
618
666
 
package/CITATION.cff CHANGED
@@ -9,7 +9,7 @@ authors:
9
9
  - family-names: "Samimi"
10
10
  given-names: "Mojtaba"
11
11
  title: "Open source Plotly charting library"
12
- version: 2.35.2
12
+ version: 3.0.0
13
13
  doi: 10.5281/zenodo.13964707
14
- date-released: 2024-09-10
14
+ date-released: 2025-01-27
15
15
  url: "https://github.com/plotly/plotly.js"
package/CONTRIBUTING.md CHANGED
@@ -340,7 +340,7 @@ This will produce the following plot, and say you want to simulate a selection p
340
340
 
341
341
  The trace modules (found in [`src/traces`](https://github.com/plotly/plotly.js/tree/master/src/traces))
342
342
  are defined as plain objects with functions and constants attached to them in an index file
343
- (e.g. `src/traces/scatter/index.js`). The trace modules are "registered" undo the `Registry` object
343
+ (e.g. `src/traces/scatter/index.js`). The trace modules are "registered" under the `Registry` object
344
344
  (found in [`src/registry.js`](https://github.com/plotly/plotly.js/blob/master/src/registry.js)) using
345
345
  `Plotly.register` (as done in the index files in `dist/`).
346
346
 
package/README.md CHANGED
@@ -62,7 +62,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
62
62
 
63
63
  ```html
64
64
  <head>
65
- <script src="https://cdn.plot.ly/plotly-3.0.0-rc.1.min.js" charset="utf-8"></script>
65
+ <script src="https://cdn.plot.ly/plotly-3.0.0.min.js" charset="utf-8"></script>
66
66
  </head>
67
67
  <body>
68
68
  <div id="gd"></div>
@@ -79,7 +79,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
79
79
  Alternatively you may consider using [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) in the script tag.
80
80
  ```html
81
81
  <script type="module">
82
- import "https://cdn.plot.ly/plotly-3.0.0-rc.1.min.js"
82
+ import "https://cdn.plot.ly/plotly-3.0.0.min.js"
83
83
  Plotly.newPlot("gd", [{ y: [1, 2, 3] }])
84
84
  </script>
85
85
  ```
@@ -89,7 +89,7 @@ Fastly supports Plotly.js with free CDN service. Read more at <https://www.fastl
89
89
  ### Un-minified versions are also available on CDN
90
90
  While non-minified source files may contain characters outside UTF-8, it is recommended that you specify the `charset` when loading those bundles.
91
91
  ```html
92
- <script src="https://cdn.plot.ly/plotly-3.0.0-rc.1.js" charset="utf-8"></script>
92
+ <script src="https://cdn.plot.ly/plotly-3.0.0.js" charset="utf-8"></script>
93
93
  ```
94
94
 
95
95
  > Please note that as of v2 the "plotly-latest" outputs (e.g. https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version.
package/dist/README.md CHANGED
@@ -46,9 +46,9 @@ The main plotly.js bundles weight in at:
46
46
  | 10.3 MB | 4.4 MB | 1.4 MB | 10.6 MB |
47
47
 
48
48
  #### CDN links
49
- > https://cdn.plot.ly/plotly-3.0.0-rc.1.js
49
+ > https://cdn.plot.ly/plotly-3.0.0.js
50
50
 
51
- > https://cdn.plot.ly/plotly-3.0.0-rc.1.min.js
51
+ > https://cdn.plot.ly/plotly-3.0.0.min.js
52
52
 
53
53
 
54
54
  #### npm packages
@@ -91,12 +91,12 @@ The `basic` partial bundle contains trace modules `bar`, `pie` and `scatter`.
91
91
 
92
92
  | Raw size | Minified size | Minified + gzip size |
93
93
  |------|-----------------|------------------------|
94
- | 2.6 MB | 1008.7 kB | 349.3 kB |
94
+ | 2.6 MB | 1008.8 kB | 349.3 kB |
95
95
 
96
96
  #### CDN links
97
- > https://cdn.plot.ly/plotly-basic-3.0.0-rc.1.js
97
+ > https://cdn.plot.ly/plotly-basic-3.0.0.js
98
98
 
99
- > https://cdn.plot.ly/plotly-basic-3.0.0-rc.1.min.js
99
+ > https://cdn.plot.ly/plotly-basic-3.0.0.min.js
100
100
 
101
101
 
102
102
  #### npm packages
@@ -117,9 +117,9 @@ The `cartesian` partial bundle contains trace modules `bar`, `box`, `contour`, `
117
117
  | 3.3 MB | 1.3 MB | 446.5 kB |
118
118
 
119
119
  #### CDN links
120
- > https://cdn.plot.ly/plotly-cartesian-3.0.0-rc.1.js
120
+ > https://cdn.plot.ly/plotly-cartesian-3.0.0.js
121
121
 
122
- > https://cdn.plot.ly/plotly-cartesian-3.0.0-rc.1.min.js
122
+ > https://cdn.plot.ly/plotly-cartesian-3.0.0.min.js
123
123
 
124
124
 
125
125
  #### npm packages
@@ -140,9 +140,9 @@ The `geo` partial bundle contains trace modules `choropleth`, `scatter` and `sca
140
140
  | 2.9 MB | 1.1 MB | 398.8 kB |
141
141
 
142
142
  #### CDN links
143
- > https://cdn.plot.ly/plotly-geo-3.0.0-rc.1.js
143
+ > https://cdn.plot.ly/plotly-geo-3.0.0.js
144
144
 
145
- > https://cdn.plot.ly/plotly-geo-3.0.0-rc.1.min.js
145
+ > https://cdn.plot.ly/plotly-geo-3.0.0.min.js
146
146
 
147
147
 
148
148
  #### npm packages
@@ -163,9 +163,9 @@ The `gl3d` partial bundle contains trace modules `cone`, `isosurface`, `mesh3d`,
163
163
  | 4.1 MB | 1.5 MB | 513.8 kB |
164
164
 
165
165
  #### CDN links
166
- > https://cdn.plot.ly/plotly-gl3d-3.0.0-rc.1.js
166
+ > https://cdn.plot.ly/plotly-gl3d-3.0.0.js
167
167
 
168
- > https://cdn.plot.ly/plotly-gl3d-3.0.0-rc.1.min.js
168
+ > https://cdn.plot.ly/plotly-gl3d-3.0.0.min.js
169
169
 
170
170
 
171
171
  #### npm packages
@@ -183,12 +183,12 @@ The `gl2d` partial bundle contains trace modules `parcoords`, `scatter`, `scatte
183
183
 
184
184
  | Raw size | Minified size | Minified + gzip size |
185
185
  |------|-----------------|------------------------|
186
- | 3.4 MB | 1.3 MB | 469 kB |
186
+ | 3.4 MB | 1.3 MB | 469.1 kB |
187
187
 
188
188
  #### CDN links
189
- > https://cdn.plot.ly/plotly-gl2d-3.0.0-rc.1.js
189
+ > https://cdn.plot.ly/plotly-gl2d-3.0.0.js
190
190
 
191
- > https://cdn.plot.ly/plotly-gl2d-3.0.0-rc.1.min.js
191
+ > https://cdn.plot.ly/plotly-gl2d-3.0.0.min.js
192
192
 
193
193
 
194
194
  #### npm packages
@@ -209,9 +209,9 @@ The `mapbox` partial bundle contains trace modules `choroplethmapbox`, `densitym
209
209
  | 4.4 MB | 1.8 MB | 564.4 kB |
210
210
 
211
211
  #### CDN links
212
- > https://cdn.plot.ly/plotly-mapbox-3.0.0-rc.1.js
212
+ > https://cdn.plot.ly/plotly-mapbox-3.0.0.js
213
213
 
214
- > https://cdn.plot.ly/plotly-mapbox-3.0.0-rc.1.min.js
214
+ > https://cdn.plot.ly/plotly-mapbox-3.0.0.min.js
215
215
 
216
216
 
217
217
  #### npm packages
@@ -232,9 +232,9 @@ The `finance` partial bundle contains trace modules `bar`, `candlestick`, `funne
232
232
  | 2.8 MB | 1.1 MB | 383 kB |
233
233
 
234
234
  #### CDN links
235
- > https://cdn.plot.ly/plotly-finance-3.0.0-rc.1.js
235
+ > https://cdn.plot.ly/plotly-finance-3.0.0.js
236
236
 
237
- > https://cdn.plot.ly/plotly-finance-3.0.0-rc.1.min.js
237
+ > https://cdn.plot.ly/plotly-finance-3.0.0.min.js
238
238
 
239
239
 
240
240
  #### npm packages
@@ -255,9 +255,9 @@ The `strict` partial bundle contains trace modules `bar`, `barpolar`, `box`, `ca
255
255
  | 11.1 MB | 4.8 MB | 1.4 MB |
256
256
 
257
257
  #### CDN links
258
- > https://cdn.plot.ly/plotly-strict-3.0.0-rc.1.js
258
+ > https://cdn.plot.ly/plotly-strict-3.0.0.js
259
259
 
260
- > https://cdn.plot.ly/plotly-strict-3.0.0-rc.1.min.js
260
+ > https://cdn.plot.ly/plotly-strict-3.0.0.min.js
261
261
 
262
262
 
263
263
  #### npm packages
@@ -1,6 +1,6 @@
1
1
  /**
2
- * plotly.js (basic) v3.0.0-rc.1
3
- * Copyright 2012-2024, Plotly, Inc.
2
+ * plotly.js (basic) v3.0.0
3
+ * Copyright 2012-2025, Plotly, Inc.
4
4
  * All rights reserved.
5
5
  * Licensed under the MIT license
6
6
  */
@@ -38,7 +38,7 @@ var Plotly = (() => {
38
38
  var require_version = __commonJS({
39
39
  "src/version.js"(exports) {
40
40
  "use strict";
41
- exports.version = "3.0.0-rc.1";
41
+ exports.version = "3.0.0";
42
42
  }
43
43
  });
44
44
 
@@ -12768,11 +12768,14 @@ var Plotly = (() => {
12768
12768
  var style = document.getElementById(id);
12769
12769
  if (style) removeElement(style);
12770
12770
  }
12771
- function setStyleOnHover(selector, activeSelector, childSelector, activeStyle, inactiveStyle) {
12771
+ function setStyleOnHover(selector, activeSelector, childSelector, activeStyle, inactiveStyle, element) {
12772
12772
  var activeStyleParts = activeStyle.split(":");
12773
12773
  var inactiveStyleParts = inactiveStyle.split(":");
12774
12774
  var eventAddedAttrName = "data-btn-style-event-added";
12775
- document.querySelectorAll(selector).forEach(function(el) {
12775
+ if (!element) {
12776
+ element = document;
12777
+ }
12778
+ element.querySelectorAll(selector).forEach(function(el) {
12776
12779
  if (!el.getAttribute(eventAddedAttrName)) {
12777
12780
  el.addEventListener("mouseenter", function() {
12778
12781
  var childEl = this.querySelector(childSelector);
@@ -13734,10 +13737,10 @@ var Plotly = (() => {
13734
13737
  }
13735
13738
  });
13736
13739
 
13737
- // stylePlugin:/home/solarch/plotly/webgl/plotly.js/node_modules/maplibre-gl/dist/maplibre-gl.css
13740
+ // stylePlugin:/Users/alex/plotly/plotly.js/node_modules/maplibre-gl/dist/maplibre-gl.css
13738
13741
  var maplibre_gl_exports = {};
13739
13742
  var init_maplibre_gl2 = __esm({
13740
- "stylePlugin:/home/solarch/plotly/webgl/plotly.js/node_modules/maplibre-gl/dist/maplibre-gl.css"() {
13743
+ "stylePlugin:/Users/alex/plotly/plotly.js/node_modules/maplibre-gl/dist/maplibre-gl.css"() {
13741
13744
  init_maplibre_gl();
13742
13745
  }
13743
13746
  });
@@ -22700,8 +22703,10 @@ var Plotly = (() => {
22700
22703
  pointData.distance = 0;
22701
22704
  } else pointData.index = false;
22702
22705
  } else {
22703
- for (var i = 0; i < cd.length; i++) {
22704
- var newDistance = distfn(cd[i]);
22706
+ var newDistance = Infinity;
22707
+ var len = cd.length;
22708
+ for (var i = 0; i < len; i++) {
22709
+ newDistance = distfn(cd[i]);
22705
22710
  if (newDistance <= pointData.distance) {
22706
22711
  pointData.index = i;
22707
22712
  pointData.distance = newDistance;
@@ -37152,7 +37157,6 @@ var Plotly = (() => {
37152
37157
  document.querySelectorAll(groupSelector).forEach(function(group) {
37153
37158
  group.style.backgroundColor = style.bgcolor;
37154
37159
  });
37155
- Lib.setStyleOnHover("#" + modeBarId + " .modebar-btn", ".active", ".icon path", "fill: " + style.activecolor, "fill: " + style.color);
37156
37160
  var needsNewButtons = !this.hasButtons(buttons);
37157
37161
  var needsNewLogo = this.hasLogo !== context.displaylogo;
37158
37162
  var needsNewLocale = this.locale !== context.locale;
@@ -37174,6 +37178,7 @@ var Plotly = (() => {
37174
37178
  }
37175
37179
  }
37176
37180
  this.updateActiveButton();
37181
+ Lib.setStyleOnHover("#" + modeBarId + " .modebar-btn", ".active", ".icon path", "fill: " + style.activecolor, "fill: " + style.color, this.element);
37177
37182
  };
37178
37183
  proto.updateButtons = function(buttons) {
37179
37184
  var _this = this;
@@ -46390,7 +46395,10 @@ var Plotly = (() => {
46390
46395
  fullLayout._calcInverseTransform = calcInverseTransform;
46391
46396
  fullLayout._calcInverseTransform(gd);
46392
46397
  fullLayout._container = gd3.selectAll(".plot-container").data([0]);
46393
- fullLayout._container.enter().insert("div", ":first-child").classed("plot-container", true).classed("plotly", true);
46398
+ fullLayout._container.enter().insert("div", ":first-child").classed("plot-container", true).classed("plotly", true).style({
46399
+ width: "100%",
46400
+ height: "100%"
46401
+ });
46394
46402
  fullLayout._paperdiv = fullLayout._container.selectAll(".svg-container").data([0]);
46395
46403
  fullLayout._paperdiv.enter().append("div").classed("user-select-none", true).classed("svg-container", true).style("position", "relative");
46396
46404
  fullLayout._glcontainer = fullLayout._paperdiv.selectAll(".gl-container").data([{}]);