@vaadin/charts 22.0.0-rc1 → 23.0.0-alpha2
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/package.json +4 -4
- package/src/vaadin-chart-series.js +1 -1
- package/src/vaadin-chart.js +35 -30
- package/theme/lumo/vaadin-chart-styles.js +84 -0
- package/theme/lumo/vaadin-chart.js +2 -0
- package/theme/material/vaadin-chart-styles.js +84 -0
- package/theme/material/vaadin-chart.js +2 -0
- package/theme/vaadin-chart-base-theme.js +1028 -0
- package/vaadin-chart.js +1 -2
- package/theme/vaadin-chart-default-theme.js +0 -1010
- package/vaadin-chart-default-theme.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/charts",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.0.0-alpha2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@polymer/polymer": "^3.0.0",
|
|
36
|
-
"@vaadin/component-base": "
|
|
36
|
+
"@vaadin/component-base": "23.0.0-alpha2",
|
|
37
37
|
"@vaadin/vaadin-license-checker": "^2.1.0",
|
|
38
|
-
"@vaadin/vaadin-themable-mixin": "
|
|
38
|
+
"@vaadin/vaadin-themable-mixin": "23.0.0-alpha2",
|
|
39
39
|
"highcharts": "9.2.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
44
44
|
"sinon": "^9.2.4"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "070f586dead02ca41b66717820c647f48bf1665f"
|
|
47
47
|
}
|
|
@@ -371,7 +371,7 @@ class ChartSeries extends PolymerElement {
|
|
|
371
371
|
if (parent && parent instanceof Chart) {
|
|
372
372
|
if (unit && !parent.__getAxis(unit)) {
|
|
373
373
|
const title = { title: { text: unit } };
|
|
374
|
-
parent.__addAxis(
|
|
374
|
+
parent.__addAxis({ id: unit, axisGenerated: true, ...title });
|
|
375
375
|
}
|
|
376
376
|
series.update({ yAxis: unit || 0 });
|
|
377
377
|
|
package/src/vaadin-chart.js
CHANGED
|
@@ -30,7 +30,7 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
|
|
|
30
30
|
import { ChartSeries } from './vaadin-chart-series.js';
|
|
31
31
|
|
|
32
32
|
/** @private */
|
|
33
|
-
export
|
|
33
|
+
export function deepMerge(target, source) {
|
|
34
34
|
const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);
|
|
35
35
|
|
|
36
36
|
if (isObject(source) && isObject(target)) {
|
|
@@ -48,12 +48,12 @@ export const deepMerge = function deepMerge(target, source) {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
return target;
|
|
51
|
-
}
|
|
51
|
+
}
|
|
52
52
|
|
|
53
53
|
['exportChart', 'exportChartLocal', 'getSVG'].forEach((methodName) => {
|
|
54
|
-
Highcharts.wrap(Highcharts.Chart.prototype, methodName, function (proceed) {
|
|
54
|
+
Highcharts.wrap(Highcharts.Chart.prototype, methodName, function (proceed, ...args) {
|
|
55
55
|
Highcharts.fireEvent(this, 'beforeExport');
|
|
56
|
-
const result = proceed.apply(this,
|
|
56
|
+
const result = proceed.apply(this, args);
|
|
57
57
|
Highcharts.fireEvent(this, 'afterExport');
|
|
58
58
|
return result;
|
|
59
59
|
});
|
|
@@ -259,11 +259,10 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
/** @private */
|
|
262
|
-
static __callHighchartsFunction(functionName, redrawCharts) {
|
|
262
|
+
static __callHighchartsFunction(functionName, redrawCharts, ...args) {
|
|
263
263
|
const functionToCall = Highcharts[functionName];
|
|
264
|
-
const argumentsForCall = Array.prototype.splice.call(arguments, 2);
|
|
265
264
|
if (functionToCall && typeof functionToCall === 'function') {
|
|
266
|
-
functionToCall.apply(this.configuration,
|
|
265
|
+
functionToCall.apply(this.configuration, args);
|
|
267
266
|
if (redrawCharts) {
|
|
268
267
|
Highcharts.charts.forEach((c) => c.redraw());
|
|
269
268
|
}
|
|
@@ -527,7 +526,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
527
526
|
return;
|
|
528
527
|
}
|
|
529
528
|
|
|
530
|
-
const options =
|
|
529
|
+
const options = { ...this.options, ...this._jsonConfigurationBuffer };
|
|
531
530
|
this._jsonConfigurationBuffer = null;
|
|
532
531
|
this.__initChart(options);
|
|
533
532
|
this.__addChildObserver();
|
|
@@ -541,7 +540,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
541
540
|
* @return {!Options}
|
|
542
541
|
*/
|
|
543
542
|
get options() {
|
|
544
|
-
const options =
|
|
543
|
+
const options = { ...this._baseConfig };
|
|
545
544
|
deepMerge(options, this.additionalOptions);
|
|
546
545
|
|
|
547
546
|
if (this.type) {
|
|
@@ -636,7 +635,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
636
635
|
if (this.chart3d) {
|
|
637
636
|
options.chart = options.chart || {};
|
|
638
637
|
|
|
639
|
-
options.chart.options3d =
|
|
638
|
+
options.chart.options3d = { ...this._baseChart3d, ...options.chart.options3d };
|
|
640
639
|
}
|
|
641
640
|
|
|
642
641
|
return options;
|
|
@@ -1037,6 +1036,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1037
1036
|
/** @private */
|
|
1038
1037
|
__initChart(options) {
|
|
1039
1038
|
this.__initEventsListeners(options);
|
|
1039
|
+
this.__updateStyledMode(options);
|
|
1040
1040
|
if (this.timeline) {
|
|
1041
1041
|
this.configuration = Highcharts.stockChart(this.$.chart, options);
|
|
1042
1042
|
} else {
|
|
@@ -1044,6 +1044,12 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1044
1044
|
}
|
|
1045
1045
|
}
|
|
1046
1046
|
|
|
1047
|
+
/** @private */
|
|
1048
|
+
__updateStyledMode(options) {
|
|
1049
|
+
const styledMode = options.chart.styledMode;
|
|
1050
|
+
this.$.chart.toggleAttribute('styled-mode', !!styledMode);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1047
1053
|
/** @protected */
|
|
1048
1054
|
disconnectedCallback() {
|
|
1049
1055
|
super.disconnectedCallback();
|
|
@@ -1147,7 +1153,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1147
1153
|
}
|
|
1148
1154
|
|
|
1149
1155
|
if (resetConfiguration) {
|
|
1150
|
-
const initialOptions =
|
|
1156
|
+
const initialOptions = { ...this.options, ...this._jsonConfigurationBuffer };
|
|
1151
1157
|
|
|
1152
1158
|
this.__initChart(initialOptions);
|
|
1153
1159
|
|
|
@@ -1212,8 +1218,10 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1212
1218
|
const targetProperty = jsonConfiguration[attr];
|
|
1213
1219
|
if (attr.indexOf('_fn_') === 0 && (typeof targetProperty === 'string' || targetProperty instanceof String)) {
|
|
1214
1220
|
try {
|
|
1221
|
+
// eslint-disable-next-line no-eval
|
|
1215
1222
|
jsonConfiguration[attr.substr(4)] = eval('(' + targetProperty + ')');
|
|
1216
1223
|
} catch (e) {
|
|
1224
|
+
// eslint-disable-next-line no-eval
|
|
1217
1225
|
jsonConfiguration[attr.substr(4)] = eval('(function(){' + targetProperty + '})');
|
|
1218
1226
|
}
|
|
1219
1227
|
delete jsonConfiguration[attr];
|
|
@@ -1332,7 +1340,7 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1332
1340
|
// Zoom out a bit to avoid clipping the chart's edge on paper
|
|
1333
1341
|
effectiveCss =
|
|
1334
1342
|
effectiveCss +
|
|
1335
|
-
|
|
1343
|
+
'body {' +
|
|
1336
1344
|
' -moz-transform: scale(0.9, 0.9);' + // Mozilla
|
|
1337
1345
|
' zoom: 0.9;' + // Others
|
|
1338
1346
|
' zoom: 90%;' + // Webkit
|
|
@@ -1609,12 +1617,11 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1609
1617
|
if (chart3d) {
|
|
1610
1618
|
config.update({
|
|
1611
1619
|
chart: {
|
|
1612
|
-
options3d:
|
|
1613
|
-
|
|
1614
|
-
this.
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
)
|
|
1620
|
+
options3d: {
|
|
1621
|
+
...this._baseChart3d,
|
|
1622
|
+
...(this.additionalOptions && this.additionalOptions.chart && this.additionalOptions.chart.options3d),
|
|
1623
|
+
enabled: true
|
|
1624
|
+
}
|
|
1618
1625
|
}
|
|
1619
1626
|
});
|
|
1620
1627
|
} else {
|
|
@@ -1655,30 +1662,28 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1655
1662
|
}
|
|
1656
1663
|
|
|
1657
1664
|
/** @private */
|
|
1658
|
-
__callChartFunction(functionName) {
|
|
1665
|
+
__callChartFunction(functionName, ...args) {
|
|
1659
1666
|
if (this.configuration) {
|
|
1660
1667
|
const functionToCall = this.configuration[functionName];
|
|
1661
|
-
const argumentsForCall = Array.prototype.splice.call(arguments, 1);
|
|
1662
1668
|
if (functionToCall && typeof functionToCall === 'function') {
|
|
1663
|
-
functionToCall.apply(this.configuration,
|
|
1669
|
+
functionToCall.apply(this.configuration, args);
|
|
1664
1670
|
}
|
|
1665
1671
|
}
|
|
1666
1672
|
}
|
|
1667
1673
|
|
|
1668
1674
|
/** @private */
|
|
1669
|
-
__callSeriesFunction(functionName, seriesIndex) {
|
|
1675
|
+
__callSeriesFunction(functionName, seriesIndex, ...args) {
|
|
1670
1676
|
if (this.configuration && this.configuration.series[seriesIndex]) {
|
|
1671
1677
|
const series = this.configuration.series[seriesIndex];
|
|
1672
1678
|
const functionToCall = series[functionName];
|
|
1673
|
-
const argumentsForCall = Array.prototype.splice.call(arguments, 2);
|
|
1674
1679
|
if (functionToCall && typeof functionToCall === 'function') {
|
|
1675
|
-
functionToCall.apply(series,
|
|
1680
|
+
functionToCall.apply(series, args);
|
|
1676
1681
|
}
|
|
1677
1682
|
}
|
|
1678
1683
|
}
|
|
1679
1684
|
|
|
1680
1685
|
/** @private */
|
|
1681
|
-
__callAxisFunction(functionName, axisCategory, axisIndex) {
|
|
1686
|
+
__callAxisFunction(functionName, axisCategory, axisIndex, ...args) {
|
|
1682
1687
|
/*
|
|
1683
1688
|
* axisCategory:
|
|
1684
1689
|
* 0 - xAxis
|
|
@@ -1701,20 +1706,21 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1701
1706
|
case 3:
|
|
1702
1707
|
axes = this.configuration.colorAxis;
|
|
1703
1708
|
break;
|
|
1709
|
+
default:
|
|
1710
|
+
break;
|
|
1704
1711
|
}
|
|
1705
1712
|
if (axes && axes[axisIndex]) {
|
|
1706
1713
|
const axis = axes[axisIndex];
|
|
1707
1714
|
const functionToCall = axis[functionName];
|
|
1708
|
-
const argumentsForCall = Array.prototype.splice.call(arguments, 3);
|
|
1709
1715
|
if (functionToCall && typeof functionToCall === 'function') {
|
|
1710
|
-
functionToCall.apply(axis,
|
|
1716
|
+
functionToCall.apply(axis, args);
|
|
1711
1717
|
}
|
|
1712
1718
|
}
|
|
1713
1719
|
}
|
|
1714
1720
|
}
|
|
1715
1721
|
|
|
1716
1722
|
/** @private */
|
|
1717
|
-
__callPointFunction(functionName, seriesIndex, pointIndex) {
|
|
1723
|
+
__callPointFunction(functionName, seriesIndex, pointIndex, ...args) {
|
|
1718
1724
|
if (
|
|
1719
1725
|
this.configuration &&
|
|
1720
1726
|
this.configuration.series[seriesIndex] &&
|
|
@@ -1722,9 +1728,8 @@ class Chart extends ElementMixin(ThemableMixin(PolymerElement)) {
|
|
|
1722
1728
|
) {
|
|
1723
1729
|
const point = this.configuration.series[seriesIndex].data[pointIndex];
|
|
1724
1730
|
const functionToCall = point[functionName];
|
|
1725
|
-
const argumentsForCall = Array.prototype.splice.call(arguments, 3);
|
|
1726
1731
|
if (functionToCall && typeof functionToCall === 'function') {
|
|
1727
|
-
functionToCall.apply(point,
|
|
1732
|
+
functionToCall.apply(point, args);
|
|
1728
1733
|
}
|
|
1729
1734
|
}
|
|
1730
1735
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import '../vaadin-chart-base-theme.js';
|
|
2
|
+
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
3
|
+
import '@vaadin/vaadin-lumo-styles/typography.js';
|
|
4
|
+
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js';
|
|
5
|
+
|
|
6
|
+
const chartColors = css`
|
|
7
|
+
:host {
|
|
8
|
+
--vaadin-charts-color-0: #5ac2f7;
|
|
9
|
+
--vaadin-charts-color-1: #1676f3;
|
|
10
|
+
--vaadin-charts-color-2: #ff7d94;
|
|
11
|
+
--vaadin-charts-color-3: #c5164e;
|
|
12
|
+
--vaadin-charts-color-4: #15c15d;
|
|
13
|
+
--vaadin-charts-color-5: #0e8151;
|
|
14
|
+
--vaadin-charts-color-6: #c18ed2;
|
|
15
|
+
--vaadin-charts-color-7: #9233b3;
|
|
16
|
+
--vaadin-charts-color-8: #fda253;
|
|
17
|
+
--vaadin-charts-color-9: #e24932;
|
|
18
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-4, #15c15d);
|
|
19
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-9, #e24932);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([theme~='gradient']) {
|
|
23
|
+
--vaadin-charts-color-0: #1676f3;
|
|
24
|
+
--vaadin-charts-color-1: #13bbf0;
|
|
25
|
+
--vaadin-charts-color-2: #1ee;
|
|
26
|
+
--vaadin-charts-color-3: #0cd9bf;
|
|
27
|
+
--vaadin-charts-color-4: #06be81;
|
|
28
|
+
--vaadin-charts-color-5: #00a344;
|
|
29
|
+
--vaadin-charts-color-6: #41c639;
|
|
30
|
+
--vaadin-charts-color-7: #8aed2c;
|
|
31
|
+
--vaadin-charts-color-8: #c0e632;
|
|
32
|
+
--vaadin-charts-color-9: #f6db3a;
|
|
33
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-6);
|
|
34
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:host([theme~='monotone']) {
|
|
38
|
+
--vaadin-charts-color-0: #1676f3;
|
|
39
|
+
--vaadin-charts-color-1: #4795f5;
|
|
40
|
+
--vaadin-charts-color-2: #71b0f7;
|
|
41
|
+
--vaadin-charts-color-3: #a0cef9;
|
|
42
|
+
--vaadin-charts-color-4: #bce0fa;
|
|
43
|
+
--vaadin-charts-color-5: #a8d8ed;
|
|
44
|
+
--vaadin-charts-color-6: #7fc3dd;
|
|
45
|
+
--vaadin-charts-color-7: #54adcc;
|
|
46
|
+
--vaadin-charts-color-8: #2b99bc;
|
|
47
|
+
--vaadin-charts-color-9: #0284ac;
|
|
48
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-3);
|
|
49
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-9);
|
|
50
|
+
}
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
const chartTheme = css`
|
|
54
|
+
:host {
|
|
55
|
+
--vaadin-charts-background: var(--lumo-base-color);
|
|
56
|
+
--vaadin-charts-title-label: var(--lumo-header-text-color);
|
|
57
|
+
--vaadin-charts-axis-title: var(--lumo-secondary-text-color);
|
|
58
|
+
--vaadin-charts-axis-label: var(--lumo-secondary-text-color);
|
|
59
|
+
--vaadin-charts-data-label: var(--lumo-body-text-color);
|
|
60
|
+
--vaadin-charts-secondary-label: var(--lumo-secondary-text-color);
|
|
61
|
+
--vaadin-charts-axis-line: var(--lumo-contrast-5pct);
|
|
62
|
+
--vaadin-charts-grid-line: var(--lumo-contrast-20pct);
|
|
63
|
+
--vaadin-charts-disabled-label: var(--lumo-disabled-text-color);
|
|
64
|
+
--vaadin-charts-contrast: var(--lumo-contrast);
|
|
65
|
+
--vaadin-charts-contrast-5pct: var(--lumo-contrast-5pct);
|
|
66
|
+
--vaadin-charts-contrast-10pct: var(--lumo-contrast-10pct);
|
|
67
|
+
--vaadin-charts-contrast-20pct: var(--lumo-contrast-20pct);
|
|
68
|
+
--vaadin-charts-contrast-60pct: var(--lumo-contrast-60pct);
|
|
69
|
+
--vaadin-charts-tooltip-background: var(--lumo-base-color);
|
|
70
|
+
--vaadin-charts-tooltip-border-color: inherit;
|
|
71
|
+
--vaadin-charts-button-label: var(--lumo-primary-text-color);
|
|
72
|
+
--vaadin-charts-button-background: var(--lumo-contrast-5pct);
|
|
73
|
+
--vaadin-charts-button-hover-background: var(--lumo-primary-color-10pct);
|
|
74
|
+
--vaadin-charts-button-active-label: var(--lumo-primary-contrast-color);
|
|
75
|
+
--vaadin-charts-button-active-background: var(--lumo-primary-color);
|
|
76
|
+
--vaadin-charts-xaxis-line-width: 0;
|
|
77
|
+
--vaadin-charts-tooltip-background-opacity: 1;
|
|
78
|
+
font-family: var(--lumo-font-family);
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
registerStyles('vaadin-chart', [chartColors, chartTheme], { moduleId: 'lumo-chart' });
|
|
83
|
+
|
|
84
|
+
export { chartColors, chartTheme };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import '../vaadin-chart-base-theme.js';
|
|
2
|
+
import '@vaadin/vaadin-material-styles/color.js';
|
|
3
|
+
import '@vaadin/vaadin-material-styles/typography.js';
|
|
4
|
+
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js';
|
|
5
|
+
|
|
6
|
+
const chartColors = css`
|
|
7
|
+
:host {
|
|
8
|
+
--vaadin-charts-color-0: #6200ee;
|
|
9
|
+
--vaadin-charts-color-1: #2fa69a;
|
|
10
|
+
--vaadin-charts-color-2: #ec611f;
|
|
11
|
+
--vaadin-charts-color-3: #fec02f;
|
|
12
|
+
--vaadin-charts-color-4: #ff4193;
|
|
13
|
+
--vaadin-charts-color-5: #007dee;
|
|
14
|
+
--vaadin-charts-color-6: #b064fc;
|
|
15
|
+
--vaadin-charts-color-7: #0c5d56;
|
|
16
|
+
--vaadin-charts-color-8: #42c6ff;
|
|
17
|
+
--vaadin-charts-color-9: #b00020;
|
|
18
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-1, #2fa69a);
|
|
19
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-9, #b00020);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([theme~='gradient']) {
|
|
23
|
+
--vaadin-charts-color-0: #6200ee;
|
|
24
|
+
--vaadin-charts-color-1: #6962e8;
|
|
25
|
+
--vaadin-charts-color-2: #619fe1;
|
|
26
|
+
--vaadin-charts-color-3: #2fbfd3;
|
|
27
|
+
--vaadin-charts-color-4: #03dac6;
|
|
28
|
+
--vaadin-charts-color-5: #5bd091;
|
|
29
|
+
--vaadin-charts-color-6: #acc65e;
|
|
30
|
+
--vaadin-charts-color-7: #ffbc2b;
|
|
31
|
+
--vaadin-charts-color-8: #fe9940;
|
|
32
|
+
--vaadin-charts-color-9: #fd695e;
|
|
33
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-6);
|
|
34
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-9);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:host([theme~='monotone']) {
|
|
38
|
+
--vaadin-charts-color-0: #6200ee;
|
|
39
|
+
--vaadin-charts-color-1: #7f39fb;
|
|
40
|
+
--vaadin-charts-color-2: #985eff;
|
|
41
|
+
--vaadin-charts-color-3: #bb86fc;
|
|
42
|
+
--vaadin-charts-color-4: #dbb2ff;
|
|
43
|
+
--vaadin-charts-color-5: #ecddfd;
|
|
44
|
+
--vaadin-charts-color-6: #9fe3eb;
|
|
45
|
+
--vaadin-charts-color-7: #03dac6;
|
|
46
|
+
--vaadin-charts-color-8: #00c4b4;
|
|
47
|
+
--vaadin-charts-color-9: #01a299;
|
|
48
|
+
--vaadin-charts-color-positive: var(--vaadin-charts-color-8);
|
|
49
|
+
--vaadin-charts-color-negative: var(--vaadin-charts-color-0);
|
|
50
|
+
}
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
const chartTheme = css`
|
|
54
|
+
:host {
|
|
55
|
+
--vaadin-charts-background: var(--material-background-color);
|
|
56
|
+
--vaadin-charts-title-label: var(--material-body-text-color);
|
|
57
|
+
--vaadin-charts-axis-title: var(--material-secondary-text-color);
|
|
58
|
+
--vaadin-charts-axis-label: var(--material-secondary-text-color);
|
|
59
|
+
--vaadin-charts-data-label: var(--material-body-text-color);
|
|
60
|
+
--vaadin-charts-secondary-label: var(--material-secondary-text-color);
|
|
61
|
+
--vaadin-charts-axis-line: var(--vaadin-charts-contrast-5pct);
|
|
62
|
+
--vaadin-charts-grid-line: var(--vaadin-charts-contrast-10pct);
|
|
63
|
+
--vaadin-charts-disabled-label: var(--material-disabled-text-color);
|
|
64
|
+
--vaadin-charts-contrast: var(--material-body-text-color);
|
|
65
|
+
--vaadin-charts-contrast-5pct: var(--material-secondary-background-color);
|
|
66
|
+
--vaadin-charts-contrast-10pct: var(--material-divider-color);
|
|
67
|
+
--vaadin-charts-contrast-20pct: var(--material-disabled-color);
|
|
68
|
+
--vaadin-charts-contrast-60pct: var(--material-secondary-text-color);
|
|
69
|
+
--vaadin-charts-tooltip-background: var(--material-background-color);
|
|
70
|
+
--vaadin-charts-tooltip-border-color: var(--material-background-color);
|
|
71
|
+
--vaadin-charts-button-label: var(--material-primary-color);
|
|
72
|
+
--vaadin-charts-button-background: var(--material-background-color);
|
|
73
|
+
--vaadin-charts-button-hover-background: var(--material-secondary-background-color);
|
|
74
|
+
--vaadin-charts-button-active-label: var(--material-primary-contrast-color);
|
|
75
|
+
--vaadin-charts-button-active-background: var(--material-primary-color);
|
|
76
|
+
--vaadin-charts-xaxis-line-width: 0;
|
|
77
|
+
--vaadin-charts-tooltip-background-opacity: 1;
|
|
78
|
+
font-family: var(--material-font-family);
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
registerStyles('vaadin-chart', [chartColors, chartTheme], { moduleId: 'material-chart' });
|
|
83
|
+
|
|
84
|
+
export { chartColors, chartTheme };
|