@carbon/charts 1.11.21 → 1.13.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +3 -3
  3. package/dist/{angle-utils-6b17e95b.mjs → angle-utils-7844066d.mjs} +69 -57
  4. package/dist/{angle-utils-6b17e95b.mjs.map → angle-utils-7844066d.mjs.map} +1 -1
  5. package/dist/{choropleth-17b85d55.mjs → choropleth-d4b2bac9.mjs} +2 -2
  6. package/dist/{choropleth-17b85d55.mjs.map → choropleth-d4b2bac9.mjs.map} +1 -1
  7. package/dist/components/index.mjs +2 -2
  8. package/dist/demo/index.mjs +227 -244
  9. package/dist/demo/index.mjs.map +1 -1
  10. package/dist/demo/styles.css +4499 -692
  11. package/dist/demo/styles.css.map +1 -1
  12. package/dist/demo/utils/package-versions.d.ts +0 -2
  13. package/dist/{index-b0e98af9.mjs → index-0bab3ec3.mjs} +2 -2
  14. package/dist/{index-b0e98af9.mjs.map → index-0bab3ec3.mjs.map} +1 -1
  15. package/dist/index.mjs +5 -5
  16. package/dist/interfaces/charts.d.ts +6 -0
  17. package/dist/model/index.mjs +21 -13
  18. package/dist/model/index.mjs.map +1 -1
  19. package/dist/services/index.mjs +2 -2
  20. package/dist/styles.css +4249 -781
  21. package/dist/styles.css.map +1 -1
  22. package/dist/styles.min.css +1 -1
  23. package/dist/styles.min.css.map +1 -1
  24. package/dist/umd/bundle.umd.js +3 -3
  25. package/dist/umd/bundle.umd.js.map +1 -1
  26. package/package.json +21 -21
  27. package/scss/_chart-holder.scss +18 -17
  28. package/scss/_chart-wrapper.scss +6 -0
  29. package/scss/_color-palette.scss +2 -2
  30. package/scss/_colors.scss +26 -25
  31. package/scss/_globals.scss +8 -0
  32. package/scss/_tokens.scss +50 -50
  33. package/scss/_transition.scss +4 -0
  34. package/scss/_type.scss +14 -14
  35. package/scss/components/_axis.scss +12 -11
  36. package/scss/components/_callouts.scss +4 -3
  37. package/scss/components/_color-legend.scss +4 -4
  38. package/scss/components/_grid-brush.scss +7 -5
  39. package/scss/components/_grid.scss +9 -8
  40. package/scss/components/_highlights.scss +6 -3
  41. package/scss/components/_layout.scss +5 -3
  42. package/scss/components/_legend.scss +14 -11
  43. package/scss/components/_meter-title.scss +11 -9
  44. package/scss/components/_modal.scss +14 -11
  45. package/scss/components/_ruler.scss +6 -3
  46. package/scss/components/_skeleton-lines.scss +9 -6
  47. package/scss/components/_skeleton.scss +9 -6
  48. package/scss/components/_threshold.scss +12 -11
  49. package/scss/components/_title.scss +5 -5
  50. package/scss/components/_toolbar.scss +6 -6
  51. package/scss/components/_tooltip.scss +12 -11
  52. package/scss/components/_zero-line.scss +4 -3
  53. package/scss/components/_zoom-bar.scss +16 -14
  54. package/scss/components/diagrams/_card-node.scss +74 -74
  55. package/scss/components/diagrams/_edge.scss +46 -49
  56. package/scss/components/diagrams/_marker.scss +4 -5
  57. package/scss/components/diagrams/_shape-node.scss +72 -73
  58. package/scss/components/diagrams/index.scss +4 -4
  59. package/scss/components/index.scss +20 -20
  60. package/scss/demos.scss +1 -0
  61. package/scss/graphs/_alluvial.scss +7 -6
  62. package/scss/graphs/_area.scss +4 -2
  63. package/scss/graphs/_bubble.scss +6 -5
  64. package/scss/graphs/_bullet.scss +11 -13
  65. package/scss/graphs/_choropleth.scss +7 -7
  66. package/scss/graphs/_circle-pack.scss +7 -6
  67. package/scss/graphs/_donut.scss +3 -1
  68. package/scss/graphs/_gauge.scss +7 -6
  69. package/scss/graphs/_heatmap.scss +6 -6
  70. package/scss/graphs/_line.scss +6 -4
  71. package/scss/graphs/_lollipop.scss +3 -1
  72. package/scss/graphs/_meter.scss +11 -10
  73. package/scss/graphs/_pie.scss +3 -1
  74. package/scss/graphs/_radar.scss +6 -5
  75. package/scss/graphs/_scatter-stacked.scss +4 -3
  76. package/scss/graphs/_scatter.scss +6 -5
  77. package/scss/graphs/_tree.scss +11 -9
  78. package/scss/graphs/_treemap.scss +3 -1
  79. package/scss/graphs/_wordcloud.scss +3 -1
  80. package/scss/graphs/index.scss +19 -19
  81. package/scss/index.scss +10 -31
  82. package/styles.css +4249 -781
  83. package/styles.min.css +1 -1
  84. package/scss/components/_edge.scss +0 -65
  85. package/scss/components/_marker.scss +0 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,32 @@
3
3
  All notable changes to this project will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 1.13.0 (2023-09-15)
7
+
8
+ ### Features
9
+
10
+ - **exports:** custom fileDownload.fileName function
11
+ ([#1661](https://github.com/carbon-design-system/carbon-charts/issues/1661))
12
+ ([1dc22cc](https://github.com/carbon-design-system/carbon-charts/commit/1dc22cc73cba69d8fd1a06ff761e2f28797157a7))
13
+
14
+ # Change Log
15
+
16
+ All notable changes to this project will be documented in this file. See
17
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
18
+
19
+ # 1.12.0 (2023-09-05)
20
+
21
+ ### Features
22
+
23
+ - **scss:** Optimized SCSS to remove need to separately load @carbon/styles
24
+ ([#1652](https://github.com/carbon-design-system/carbon-charts/issues/1652))
25
+ ([d970944](https://github.com/carbon-design-system/carbon-charts/commit/d970944e49da6f0ca5cc4f290be9b2895e521e7d))
26
+
27
+ # Change Log
28
+
29
+ All notable changes to this project will be documented in this file. See
30
+ [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
31
+
6
32
  ## 1.11.21 (2023-08-14)
7
33
 
8
34
  ### Bug Fixes
package/README.md CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  Carbon Charts is a component library for vanilla JavaScript. Chart visualizations are based on D3.js, a peer dependency.
4
4
 
5
- The required styles should be imported from `@carbon/charts/styles.css` and `@carbon/styles/css/styles.css`. Additional documentation is provided in the Storybook demos.
5
+ The required styles should be imported from `@carbon/charts/styles.css`. Additional documentation is provided in the Storybook demos.
6
6
 
7
7
  ## Getting started
8
8
 
9
9
  Run the following command using [npm](https://www.npmjs.com/):
10
10
 
11
11
  ```bash
12
- npm install -S @carbon/charts @carbon/styles d3 d3-cloud d3-sankey
12
+ npm install -S @carbon/charts d3 d3-cloud d3-sankey
13
13
  ```
14
14
 
15
15
  If you prefer [Yarn](https://yarnpkg.com/en/), use the following command instead:
16
16
 
17
17
  ```bash
18
- yarn add @carbon/charts @carbon/styles d3 d3-cloud d3-sankey
18
+ yarn add @carbon/charts d3 d3-cloud d3-sankey
19
19
  ```
20
20
 
21
21
  ## Step-by-step instructions
@@ -1,5 +1,5 @@
1
1
  import { select as m } from "d3";
2
- import { a as fe, c as O, r as de, g as $, d as _ } from "./color-scale-utils-faf67b75.mjs";
2
+ import { a as fe, c as O, r as de, g as T, d as _ } from "./color-scale-utils-faf67b75.mjs";
3
3
  import { _ as P, T as E, o as b } from "./enums-a96ef472.mjs";
4
4
  var me = /\s/;
5
5
  function ge(t) {
@@ -42,9 +42,9 @@ function Ie(t, e, n) {
42
42
  return r = i = void 0, u = l, a = t.apply(C, S), a;
43
43
  }
44
44
  function R(l) {
45
- return u = l, c = setTimeout(I, e), f ? w(l) : a;
45
+ return u = l, c = setTimeout(L, e), f ? w(l) : a;
46
46
  }
47
- function T(l) {
47
+ function I(l) {
48
48
  var S = l - o, C = l - u, U = e - S;
49
49
  return d ? Te(U, s - C) : U;
50
50
  }
@@ -52,11 +52,11 @@ function Ie(t, e, n) {
52
52
  var S = l - o, C = l - u;
53
53
  return o === void 0 || S >= e || S < 0 || d && C >= s;
54
54
  }
55
- function I() {
55
+ function L() {
56
56
  var l = M();
57
57
  if (z(l))
58
58
  return G(l);
59
- c = setTimeout(I, T(l));
59
+ c = setTimeout(L, I(l));
60
60
  }
61
61
  function G(l) {
62
62
  return c = void 0, h && r ? w(l) : (r = i = void 0, a);
@@ -67,17 +67,17 @@ function Ie(t, e, n) {
67
67
  function he() {
68
68
  return c === void 0 ? a : G(M());
69
69
  }
70
- function F() {
70
+ function $() {
71
71
  var l = M(), S = z(l);
72
72
  if (r = arguments, i = this, o = l, S) {
73
73
  if (c === void 0)
74
74
  return R(o);
75
75
  if (d)
76
- return clearTimeout(c), c = setTimeout(I, e), w(o);
76
+ return clearTimeout(c), c = setTimeout(L, e), w(o);
77
77
  }
78
- return c === void 0 && (c = setTimeout(I, e)), a;
78
+ return c === void 0 && (c = setTimeout(L, e)), a;
79
79
  }
80
- return F.cancel = ue, F.flush = he, F;
80
+ return $.cancel = ue, $.flush = he, $;
81
81
  }
82
82
  function Le(t, e) {
83
83
  if (t.match(/^[a-z]+:\/\//i))
@@ -89,7 +89,7 @@ function Le(t, e) {
89
89
  const n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
90
90
  return n.head.appendChild(r), n.body.appendChild(i), e && (r.href = e), i.href = t, i.href;
91
91
  }
92
- const ve = (() => {
92
+ const De = (() => {
93
93
  let t = 0;
94
94
  const e = () => (
95
95
  // eslint-disable-next-line no-bitwise
@@ -107,7 +107,7 @@ function v(t, e) {
107
107
  const r = (t.ownerDocument.defaultView || window).getComputedStyle(t).getPropertyValue(e);
108
108
  return r ? parseFloat(r.replace("px", "")) : 0;
109
109
  }
110
- function De(t) {
110
+ function ve(t) {
111
111
  const e = v(t, "border-left-width"), n = v(t, "border-right-width");
112
112
  return t.clientWidth + e + n;
113
113
  }
@@ -116,7 +116,7 @@ function Ae(t) {
116
116
  return t.clientHeight + e + n;
117
117
  }
118
118
  function ee(t, e = {}) {
119
- const n = e.width || De(t), r = e.height || Ae(t);
119
+ const n = e.width || ve(t), r = e.height || Ae(t);
120
120
  return { width: n, height: r };
121
121
  }
122
122
  function Fe() {
@@ -132,7 +132,7 @@ const p = 16384;
132
132
  function $e(t) {
133
133
  (t.width > p || t.height > p) && (t.width > p && t.height > p ? t.width > t.height ? (t.height *= p / t.width, t.width = p) : (t.width *= p / t.height, t.height = p) : t.width > p ? (t.height *= p / t.width, t.width = p) : (t.width *= p / t.height, t.height = p));
134
134
  }
135
- function D(t) {
135
+ function A(t) {
136
136
  return new Promise((e, n) => {
137
137
  const r = new Image();
138
138
  r.decode = () => e(r), r.onload = () => e(r), r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = t;
@@ -165,11 +165,11 @@ function Be(t, e, n) {
165
165
  const r = `.${t}:${e}`, i = n.cssText ? He(n) : Oe(n);
166
166
  return document.createTextNode(`${r}{${i}}`);
167
167
  }
168
- function X(t, e, n) {
168
+ function N(t, e, n) {
169
169
  const r = window.getComputedStyle(t, n), i = r.getPropertyValue("content");
170
170
  if (i === "" || i === "none")
171
171
  return;
172
- const s = ve();
172
+ const s = De();
173
173
  try {
174
174
  e.className = `${e.className} ${s}`;
175
175
  } catch {
@@ -179,16 +179,16 @@ function X(t, e, n) {
179
179
  a.appendChild(Be(s, n, r)), e.appendChild(a);
180
180
  }
181
181
  function ke(t, e) {
182
- X(t, e, ":before"), X(t, e, ":after");
182
+ N(t, e, ":before"), N(t, e, ":after");
183
183
  }
184
- const J = "application/font-woff", N = "image/jpeg", Ve = {
185
- woff: J,
186
- woff2: J,
184
+ const X = "application/font-woff", J = "image/jpeg", Ve = {
185
+ woff: X,
186
+ woff2: X,
187
187
  ttf: "application/font-truetype",
188
188
  eot: "application/vnd.ms-fontobject",
189
189
  png: "image/png",
190
- jpg: N,
191
- jpeg: N,
190
+ jpg: J,
191
+ jpeg: J,
192
192
  gif: "image/gif",
193
193
  tiff: "image/tiff",
194
194
  svg: "image/svg+xml",
@@ -250,23 +250,23 @@ async function W(t, e, n) {
250
250
  }
251
251
  async function Ue(t) {
252
252
  const e = t.toDataURL();
253
- return e === "data:," ? t.cloneNode(!1) : D(e);
253
+ return e === "data:," ? t.cloneNode(!1) : A(e);
254
254
  }
255
255
  async function _e(t, e) {
256
256
  if (t.currentSrc) {
257
257
  const s = document.createElement("canvas"), a = s.getContext("2d");
258
258
  s.width = t.clientWidth, s.height = t.clientHeight, a == null || a.drawImage(t, 0, 0, s.width, s.height);
259
259
  const c = s.toDataURL();
260
- return D(c);
260
+ return A(c);
261
261
  }
262
262
  const n = t.poster, r = V(n), i = await W(n, r, e);
263
- return D(i);
263
+ return A(i);
264
264
  }
265
265
  async function qe(t) {
266
266
  var e;
267
267
  try {
268
268
  if (!((e = t == null ? void 0 : t.contentDocument) === null || e === void 0) && e.body)
269
- return await A(t.contentDocument.body, {}, !0);
269
+ return await F(t.contentDocument.body, {}, !0);
270
270
  } catch {
271
271
  }
272
272
  return t.cloneNode(!1);
@@ -274,15 +274,15 @@ async function qe(t) {
274
274
  async function je(t, e) {
275
275
  return g(t, HTMLCanvasElement) ? Ue(t) : g(t, HTMLVideoElement) ? _e(t, e) : g(t, HTMLIFrameElement) ? qe(t) : t.cloneNode(!1);
276
276
  }
277
- const Xe = (t) => t.tagName != null && t.tagName.toUpperCase() === "SLOT";
278
- async function Je(t, e, n) {
277
+ const Ne = (t) => t.tagName != null && t.tagName.toUpperCase() === "SLOT";
278
+ async function Xe(t, e, n) {
279
279
  var r, i;
280
280
  let s = [];
281
- return Xe(t) && t.assignedNodes ? s = y(t.assignedNodes()) : g(t, HTMLIFrameElement) && (!((r = t.contentDocument) === null || r === void 0) && r.body) ? s = y(t.contentDocument.body.childNodes) : s = y(((i = t.shadowRoot) !== null && i !== void 0 ? i : t).childNodes), s.length === 0 || g(t, HTMLVideoElement) || await s.reduce((a, c) => a.then(() => A(c, n)).then((o) => {
281
+ return Ne(t) && t.assignedNodes ? s = y(t.assignedNodes()) : g(t, HTMLIFrameElement) && (!((r = t.contentDocument) === null || r === void 0) && r.body) ? s = y(t.contentDocument.body.childNodes) : s = y(((i = t.shadowRoot) !== null && i !== void 0 ? i : t).childNodes), s.length === 0 || g(t, HTMLVideoElement) || await s.reduce((a, c) => a.then(() => F(c, n)).then((o) => {
282
282
  o && e.appendChild(o);
283
283
  }), Promise.resolve()), e;
284
284
  }
285
- function Ne(t, e) {
285
+ function Je(t, e) {
286
286
  const n = e.style;
287
287
  if (!n)
288
288
  return;
@@ -302,7 +302,7 @@ function Ye(t, e) {
302
302
  }
303
303
  }
304
304
  function Ze(t, e) {
305
- return g(e, Element) && (Ne(t, e), ke(t, e), Qe(t, e), Ye(t, e)), e;
305
+ return g(e, Element) && (Je(t, e), ke(t, e), Qe(t, e), Ye(t, e)), e;
306
306
  }
307
307
  async function Ke(t, e) {
308
308
  const n = t.querySelectorAll ? t.querySelectorAll("use") : [];
@@ -313,7 +313,7 @@ async function Ke(t, e) {
313
313
  const c = n[s].getAttribute("xlink:href");
314
314
  if (c) {
315
315
  const o = t.querySelector(c), u = document.querySelector(c);
316
- !o && u && !r[c] && (r[c] = await A(u, e, !0));
316
+ !o && u && !r[c] && (r[c] = await F(u, e, !0));
317
317
  }
318
318
  }
319
319
  const i = Object.values(r);
@@ -328,8 +328,8 @@ async function Ke(t, e) {
328
328
  }
329
329
  return t;
330
330
  }
331
- async function A(t, e, n) {
332
- return !n && e.filter && !e.filter(t) ? null : Promise.resolve(t).then((r) => je(r, e)).then((r) => Je(t, r, e)).then((r) => Ze(t, r)).then((r) => Ke(r, e));
331
+ async function F(t, e, n) {
332
+ return !n && e.filter && !e.filter(t) ? null : Promise.resolve(t).then((r) => je(r, e)).then((r) => Xe(t, r, e)).then((r) => Ze(t, r)).then((r) => Ke(r, e));
333
333
  }
334
334
  const re = /url\((['"]?)([^'"]+?)\1\)/g, et = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, tt = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
335
335
  function nt(t) {
@@ -374,7 +374,7 @@ async function se(t, e, n) {
374
374
  const r = st(t, n);
375
375
  return rt(r).reduce((s, a) => s.then((c) => it(c, a, e, n)), Promise.resolve(r));
376
376
  }
377
- async function L(t, e, n) {
377
+ async function D(t, e, n) {
378
378
  var r;
379
379
  const i = (r = e.style) === null || r === void 0 ? void 0 : r.getPropertyValue(t);
380
380
  if (i) {
@@ -384,7 +384,7 @@ async function L(t, e, n) {
384
384
  return !1;
385
385
  }
386
386
  async function at(t, e) {
387
- await L("background", t, e) || await L("background-image", t, e), await L("mask", t, e) || await L("mask-image", t, e);
387
+ await D("background", t, e) || await D("background-image", t, e), await D("mask", t, e) || await D("mask-image", t, e);
388
388
  }
389
389
  async function ct(t, e) {
390
390
  const n = g(t, HTMLImageElement);
@@ -521,11 +521,11 @@ async function mt(t, e) {
521
521
  }
522
522
  }
523
523
  async function gt(t, e = {}) {
524
- const { width: n, height: r } = ee(t, e), i = await A(t, e, !0);
524
+ const { width: n, height: r } = ee(t, e), i = await F(t, e, !0);
525
525
  return await mt(i, e), await ae(i, e), lt(i, e), await Me(i, n, r);
526
526
  }
527
527
  async function ce(t, e = {}) {
528
- const { width: n, height: r } = ee(t, e), i = await gt(t, e), s = await D(i), a = document.createElement("canvas"), c = a.getContext("2d"), o = e.pixelRatio || Fe(), u = e.canvasWidth || n, f = e.canvasHeight || r;
528
+ const { width: n, height: r } = ee(t, e), i = await gt(t, e), s = await A(i), a = document.createElement("canvas"), c = a.getContext("2d"), o = e.pixelRatio || Fe(), u = e.canvasWidth || n, f = e.canvasHeight || r;
529
529
  return a.width = u * o, a.height = f * o, e.skipAutoScale || $e(a), a.style.width = `${u}`, a.style.height = `${f}`, e.backgroundColor && (c.fillStyle = e.backgroundColor, c.fillRect(0, 0, a.width, a.height)), c.drawImage(s, 0, 0, a.width, a.height), a;
530
530
  }
531
531
  async function pt(t, e = {}) {
@@ -576,8 +576,8 @@ class k extends oe {
576
576
  }, i = (h) => {
577
577
  h && Object.keys(r).forEach((w) => {
578
578
  if (h[w]) {
579
- const R = h[w], T = parseFloat(R);
580
- R && T > r[w] && ("" + R).indexOf("%") === -1 && (r[w] = T);
579
+ const R = h[w], I = parseFloat(R);
580
+ R && I > r[w] && ("" + R).indexOf("%") === -1 && (r[w] = I);
581
581
  }
582
582
  });
583
583
  }, s = {
@@ -617,8 +617,8 @@ class k extends oe {
617
617
  }
618
618
  try {
619
619
  const h = {
620
- width: $(e.node(), "width", "baseVal", "value"),
621
- height: $(e.node(), "height", "baseVal", "value")
620
+ width: T(e.node(), "width", "baseVal", "value"),
621
+ height: T(e.node(), "height", "baseVal", "value")
622
622
  };
623
623
  i(h);
624
624
  } catch {
@@ -647,7 +647,7 @@ class k extends oe {
647
647
  this.chartID = Math.floor((1 + Math.random()) * 281474976710656).toString(16);
648
648
  }
649
649
  addMainContainer() {
650
- const e = this.model.getOptions(), n = $(e, "style", "prefix"), r = m(this.getHolder()).append("div").classed(`${_}--${n}--chart-wrapper`, !0).attr("id", `chart-${this.getChartID()}`).style("height", "100%").style("width", "100%");
650
+ const e = this.model.getOptions(), n = T(e, "style", "prefix"), r = m(this.getHolder()).append("div").classed(`${_}--${n}--chart-wrapper`, !0).attr("id", `chart-${this.getChartID()}`).style("height", "100%").style("width", "100%");
651
651
  r.append("g").attr("class", wt), this.mainContainer = r.node();
652
652
  }
653
653
  update() {
@@ -661,27 +661,39 @@ class k extends oe {
661
661
  return this.model.get("holder");
662
662
  }
663
663
  exportToJPG() {
664
- const e = this, n = this.getHolder(), r = m(n);
665
- r.classed("filled", !0), yt(this.getMainContainer(), {
664
+ const e = this, n = this.model.getOptions(), r = this.getHolder(), i = m(r);
665
+ i.classed("filled", !0), yt(this.getMainContainer(), {
666
666
  quality: 1,
667
667
  // Remove toolbar
668
- filter: (i) => !(i.classList && i.classList.contains("cds--cc--toolbar"))
669
- }).then(function(i) {
670
- var s;
671
- (s = e.services.files) == null || s.downloadImage(i, "myChart.jpg"), r.classed("filled", !1);
668
+ filter: (s) => !(s.classList && s.classList.contains("cds--cc--toolbar"))
669
+ }).then(function(s) {
670
+ var o;
671
+ let a = "myChart";
672
+ const c = T(
673
+ n,
674
+ "fileDownload",
675
+ "fileName"
676
+ );
677
+ typeof c == "function" ? a = c("jpg") : typeof c == "string" && (a = c), (o = e.services.files) == null || o.downloadImage(s, `${a}.jpg`), i.classed("filled", !1);
672
678
  });
673
679
  }
674
680
  exportToPNG() {
675
- const e = this, n = this.getHolder(), r = m(n);
676
- r.classed("filled", !0), pt(this.getMainContainer(), {
681
+ const e = this, n = this.model.getOptions(), r = this.getHolder(), i = m(r);
682
+ i.classed("filled", !0), pt(this.getMainContainer(), {
677
683
  quality: 1,
678
684
  // Remove toolbar
679
- filter: (i) => !(i.classList && i.classList.contains("cds--cc--toolbar"))
680
- }).then(function(i) {
681
- var s;
682
- (s = e.services.files) == null || s.downloadImage(i, "myChart.png"), r.classed("filled", !1);
683
- }).catch(function(i) {
684
- console.error("oops, something went wrong!", i);
685
+ filter: (s) => !(s.classList && s.classList.contains("cds--cc--toolbar"))
686
+ }).then(function(s) {
687
+ var o;
688
+ let a = "myChart";
689
+ const c = T(
690
+ n,
691
+ "fileDownload",
692
+ "fileName"
693
+ );
694
+ typeof c == "function" ? a = c("png") : typeof c == "string" && (a = c), (o = e.services.files) == null || o.downloadImage(s, `${a}.png`), i.classed("filled", !1);
695
+ }).catch(function(s) {
696
+ console.error("oops, something went wrong!", s);
685
697
  });
686
698
  }
687
699
  toggleFullscreen() {
@@ -837,4 +849,4 @@ export {
837
849
  Ct as r,
838
850
  j as t
839
851
  };
840
- //# sourceMappingURL=angle-utils-6b17e95b.mjs.map
852
+ //# sourceMappingURL=angle-utils-7844066d.mjs.map