@vaadin/charts 25.0.0-alpha9 → 25.0.0-beta1

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.
@@ -16,7 +16,8 @@
16
16
  *
17
17
  * License: www.highcharts.com/license
18
18
  */
19
- import '@vaadin/component-base/src/style-props.js';
19
+ import '@vaadin/component-base/src/styles/style-props.js';
20
+ import '@vaadin/component-base/src/styles/user-colors.js';
20
21
  import { css, unsafeCSS } from 'lit';
21
22
  import { addGlobalThemeStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js';
22
23
 
@@ -31,35 +32,33 @@ const tooltipStyles = (scope) => css`
31
32
  filter: drop-shadow(var(--vaadin-charts-tooltip-shadow, 0 4px 8px rgba(0, 0, 0, 0.2))) !important;
32
33
  }
33
34
 
34
- ${unsafeCSS(scope)} .highcharts-tooltip text {
35
- fill: var(--vaadin-charts-data-label, var(--vaadin-color));
35
+ ${unsafeCSS(scope)} .highcharts-tooltip text,
36
+ ${unsafeCSS(scope)} .highcharts-tooltip foreignObject span {
37
+ fill: var(--highcharts-neutral-color-80, var(--vaadin-charts-data-label, var(--vaadin-text-color)));
38
+ }
39
+
40
+ ${unsafeCSS(scope)} .highcharts-tooltip .highcharts-tracker {
41
+ fill: none;
42
+ stroke: none;
36
43
  }
37
44
 
38
45
  ${unsafeCSS(scope)} .highcharts-tooltip .highcharts-header {
39
46
  font-size: 0.85em;
40
- color: var(--vaadin-color-subtle);
47
+ color: var(--highcharts-neutral-color-60, var(--vaadin-text-color-secondary));
41
48
  }
42
49
 
43
50
  ${unsafeCSS(scope)} .highcharts-tooltip-box {
44
- stroke-width: 1px;
45
- stroke: var(--vaadin-charts-tooltip-border, var(--vaadin-border-color));
46
- fill: var(--vaadin-charts-tooltip-background, var(--vaadin-background-color));
47
- fill-opacity: var(--vaadin-charts-tooltip-background-opacity, 1);
51
+ stroke-width: 0;
52
+ fill: var(--highcharts-background-color, var(--vaadin-charts-tooltip-background, var(--vaadin-background-color)));
48
53
  }
49
54
 
50
55
  ${unsafeCSS(scope)} .highcharts-tooltip-box .highcharts-label-box {
51
- fill: var(--vaadin-charts-tooltip-background, var(--vaadin-background-color));
52
- fill-opacity: var(--vaadin-charts-tooltip-background-opacity, 1);
53
- stroke: var(--vaadin-charts-tooltip-border, var(--vaadin-border-color));
54
- }
55
-
56
- ${unsafeCSS(scope)} .highcharts-tooltip-header {
57
- stroke-width: 1px;
58
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent);
56
+ fill: var(--highcharts-background-color, var(--vaadin-charts-tooltip-background, var(--vaadin-background-color)));
59
57
  }
60
58
 
61
59
  ${unsafeCSS(scope)} div.highcharts-tooltip {
62
60
  filter: none;
61
+ font-size: 0.8em;
63
62
  }
64
63
  `;
65
64
 
@@ -79,77 +78,54 @@ export const chartStyles = css`
79
78
  :host {
80
79
  display: block;
81
80
  width: 100%;
81
+ height: 100%;
82
82
  overflow: hidden;
83
+ }
84
+
85
+ :host,
86
+ :root {
83
87
  font-size: var(--vaadin-charts-font-size, 0.75rem);
84
88
  line-height: normal;
85
89
 
86
90
  /* Needs to be a color, not a background image */
87
91
  --_bg: var(--vaadin-charts-background, var(--vaadin-background-color));
88
- --_hue-scale: 180;
89
- --_accent: var(--vaadin-charts-accent, #4172d5);
90
- --_accent-0: var(--vaadin-charts-color-0, var(--_accent));
91
- --_accent-1: var(
92
- --vaadin-charts-color-1,
93
- oklch(from var(--_accent-0) clamp(0.2, l - 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 1))
94
- );
95
- --_accent-2: var(
96
- --vaadin-charts-color-2,
97
- oklch(from var(--_accent-0) clamp(0.2, l + 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 2))
98
- );
99
- --_accent-3: var(
100
- --vaadin-charts-color-3,
101
- oklch(from var(--_accent-0) clamp(0.2, l - 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 3))
102
- );
103
- --_accent-4: var(
104
- --vaadin-charts-color-4,
105
- oklch(from var(--_accent-0) clamp(0.2, l + 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 4))
106
- );
107
- --_accent-5: var(
108
- --vaadin-charts-color-5,
109
- oklch(from var(--_accent-0) clamp(0.2, l - 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 5))
110
- );
111
- --_accent-6: var(
112
- --vaadin-charts-color-6,
113
- oklch(from var(--_accent-0) clamp(0.2, l + 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 6))
114
- );
115
- --_accent-7: var(
116
- --vaadin-charts-color-7,
117
- oklch(from var(--_accent-0) clamp(0.2, l - 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 7))
118
- );
119
- --_accent-8: var(
120
- --vaadin-charts-color-8,
121
- oklch(from var(--_accent-0) clamp(0.2, l + 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 8))
122
- );
123
- --_accent-9: var(
124
- --vaadin-charts-color-9,
125
- oklch(from var(--_accent-0) clamp(0.2, l - 0.1, 0.8) c calc(h - var(--_hue-scale) / 9 * 9))
126
- );
127
92
 
128
- --_accent-0-label: oklch(from var(--_accent-0) clamp(0, (0.62 - l) * 1000, 1) 0 0);
129
- --_accent-1-label: oklch(from var(--_accent-1) clamp(0, (0.62 - l) * 1000, 1) 0 0);
130
- --_accent-2-label: oklch(from var(--_accent-2) clamp(0, (0.62 - l) * 1000, 1) 0 0);
131
- --_accent-3-label: oklch(from var(--_accent-3) clamp(0, (0.62 - l) * 1000, 1) 0 0);
132
- --_accent-4-label: oklch(from var(--_accent-4) clamp(0, (0.62 - l) * 1000, 1) 0 0);
133
- --_accent-5-label: oklch(from var(--_accent-5) clamp(0, (0.62 - l) * 1000, 1) 0 0);
134
- --_accent-6-label: oklch(from var(--_accent-6) clamp(0, (0.62 - l) * 1000, 1) 0 0);
135
- --_accent-7-label: oklch(from var(--_accent-7) clamp(0, (0.62 - l) * 1000, 1) 0 0);
136
- --_accent-8-label: oklch(from var(--_accent-8) clamp(0, (0.62 - l) * 1000, 1) 0 0);
137
- --_accent-9-label: oklch(from var(--_accent-9) clamp(0, (0.62 - l) * 1000, 1) 0 0);
138
-
139
- --_accent-positive: light-dark(#19b156, #1ccc62);
140
- --_accent-negative: light-dark(#dc0611, #f7353f);
141
-
142
- --_label: var(--vaadin-charts-label, var(--vaadin-color));
143
- --_secondary-label: var(--vaadin-charts-secondary-label, var(--vaadin-color-subtle));
144
- --_disabled-label: var(--vaadin-charts-disabled-label, var(--vaadin-color-disabled));
93
+ --_color-0: var(--highcharts-color-0, var(--vaadin-charts-color-0, var(--vaadin-user-color-0)));
94
+ --_color-1: var(--highcharts-color-1, var(--vaadin-charts-color-1, var(--vaadin-user-color-1)));
95
+ --_color-2: var(--highcharts-color-2, var(--vaadin-charts-color-2, var(--vaadin-user-color-2)));
96
+ --_color-3: var(--highcharts-color-3, var(--vaadin-charts-color-3, var(--vaadin-user-color-3)));
97
+ --_color-4: var(--highcharts-color-4, var(--vaadin-charts-color-4, var(--vaadin-user-color-4)));
98
+ --_color-5: var(--highcharts-color-5, var(--vaadin-charts-color-5, var(--vaadin-user-color-5)));
99
+ --_color-6: var(--highcharts-color-6, var(--vaadin-charts-color-6, var(--vaadin-user-color-6)));
100
+ --_color-7: var(--highcharts-color-7, var(--vaadin-charts-color-7, var(--vaadin-user-color-7)));
101
+ --_color-8: var(--highcharts-color-8, var(--vaadin-charts-color-8, var(--vaadin-user-color-8)));
102
+ --_color-9: var(--highcharts-color-9, var(--vaadin-charts-color-9, var(--vaadin-user-color-9)));
103
+
104
+ --_color-0-label: oklch(from var(--_color-0) clamp(0, (0.62 - l) * 1000, 1) 0 0);
105
+ --_color-1-label: oklch(from var(--_color-1) clamp(0, (0.62 - l) * 1000, 1) 0 0);
106
+ --_color-2-label: oklch(from var(--_color-2) clamp(0, (0.62 - l) * 1000, 1) 0 0);
107
+ --_color-3-label: oklch(from var(--_color-3) clamp(0, (0.62 - l) * 1000, 1) 0 0);
108
+ --_color-4-label: oklch(from var(--_color-4) clamp(0, (0.62 - l) * 1000, 1) 0 0);
109
+ --_color-5-label: oklch(from var(--_color-5) clamp(0, (0.62 - l) * 1000, 1) 0 0);
110
+ --_color-6-label: oklch(from var(--_color-6) clamp(0, (0.62 - l) * 1000, 1) 0 0);
111
+ --_color-7-label: oklch(from var(--_color-7) clamp(0, (0.62 - l) * 1000, 1) 0 0);
112
+ --_color-8-label: oklch(from var(--_color-8) clamp(0, (0.62 - l) * 1000, 1) 0 0);
113
+ --_color-9-label: oklch(from var(--_color-9) clamp(0, (0.62 - l) * 1000, 1) 0 0);
114
+
115
+ --_color-positive: light-dark(#19b156, #1ccc62);
116
+ --_color-negative: light-dark(#dc0611, #f7353f);
117
+
118
+ --_label: var(--vaadin-charts-label, var(--vaadin-text-color));
119
+ --_secondary-label: var(--vaadin-charts-secondary-label, var(--vaadin-text-color-secondary));
120
+ --_disabled-label: var(--vaadin-charts-disabled-label, var(--vaadin-text-color-disabled));
145
121
  --_point-border: var(--vaadin-charts-point-border, var(--_bg));
146
- --_axis-line: var(--vaadin-charts-axis-line, var(--vaadin-border-color));
122
+ --_axis-line: var(--vaadin-charts-axis-line, var(--vaadin-border-color-secondary));
147
123
  --_axis-title: var(--vaadin-charts-axis-title, var(--_secondary-label));
148
124
  --_axis-label: var(--vaadin-charts-axis-label, var(--_secondary-label));
149
- --_grid-line: var(--vaadin-charts-grid-line, var(--vaadin-border-color));
125
+ --_grid-line: var(--vaadin-charts-grid-line, var(--vaadin-border-color-secondary));
150
126
  --_minor-grid-line: var(
151
127
  --vaadin-charts-minor-grid-line,
152
- color-mix(in srgb, var(--vaadin-border-color) 60%, transparent)
128
+ color-mix(in srgb, var(--vaadin-border-color-secondary) 60%, transparent)
153
129
  );
154
130
  --_data-label: var(--vaadin-charts-data-label, var(--_label));
155
131
  }
@@ -172,8 +148,16 @@ export const chartStyles = css`
172
148
  width: 100%;
173
149
  height: 100%;
174
150
  text-align: left;
175
- z-index: 0;
151
+ line-height: normal;
152
+ z-index: 0; /* highcharts/highcharts#1072 */
176
153
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
154
+ user-select: none;
155
+ touch-action: manipulation;
156
+ outline: none;
157
+ }
158
+
159
+ :where([styled-mode]) .highcharts-no-touch-action {
160
+ touch-action: none;
177
161
  }
178
162
 
179
163
  :where([styled-mode]) .highcharts-root {
@@ -185,7 +169,7 @@ export const chartStyles = css`
185
169
  }
186
170
 
187
171
  :where([styled-mode]) .highcharts-strong {
188
- font-weight: 600;
172
+ font-weight: bold;
189
173
  }
190
174
 
191
175
  :where([styled-mode]) .highcharts-emphasized {
@@ -197,7 +181,7 @@ export const chartStyles = css`
197
181
  }
198
182
 
199
183
  :where([styled-mode]) .highcharts-background {
200
- fill: var(--_bg);
184
+ fill: var(--highcharts-background-color, var(--_bg));
201
185
  }
202
186
 
203
187
  :where([styled-mode]) .highcharts-plot-border,
@@ -209,6 +193,10 @@ export const chartStyles = css`
209
193
  fill: none;
210
194
  }
211
195
 
196
+ :where([styled-mode]) .highcharts-label text {
197
+ fill: var(--highcharts-neutral-color-80, var(--_data-label));
198
+ }
199
+
212
200
  :where([styled-mode]) .highcharts-button-box {
213
201
  fill: inherit;
214
202
  rx: var(--vaadin-charts-button-border-radius, var(--vaadin-radius-m));
@@ -229,19 +217,20 @@ export const chartStyles = css`
229
217
 
230
218
  /* Titles */
231
219
  :where([styled-mode]) .highcharts-title {
232
- fill: var(--vaadin-charts-title-label, var(--_label));
233
- font-size: 1.5em;
234
- font-weight: 600;
220
+ fill: var(--highcharts-neutral-color-80, var(--vaadin-charts-title-label, var(--_label)));
221
+ font-size: 1.6em;
222
+ font-weight: bold;
235
223
  }
236
224
 
237
225
  :where([styled-mode]) .highcharts-subtitle {
238
- fill: var(--_secondary-label);
226
+ fill: var(--highcharts-neutral-color-60, var(--_secondary-label));
227
+ font-size: 1em;
239
228
  }
240
229
 
241
230
  /* Axes */
242
231
  :where([styled-mode]) .highcharts-axis-line {
243
232
  fill: none;
244
- stroke: var(--_axis-line);
233
+ stroke: var(--highcharts-neutral-color-80, var(--_axis-line));
245
234
  }
246
235
 
247
236
  :where([styled-mode]) .highcharts-yaxis .highcharts-axis-line {
@@ -249,18 +238,18 @@ export const chartStyles = css`
249
238
  }
250
239
 
251
240
  :where([styled-mode]) .highcharts-axis-title {
252
- fill: var(--_axis-title);
241
+ fill: var(--highcharts-neutral-color-60, var(--_axis-title));
242
+ font-size: 1em;
253
243
  }
254
244
 
255
245
  :where([styled-mode]) .highcharts-axis-labels {
256
- fill: var(--_axis-label);
246
+ fill: var(--highcharts-neutral-color-80, var(--_axis-label));
257
247
  cursor: default;
258
- font-size: 0.9em;
259
248
  }
260
249
 
261
250
  :where([styled-mode]) .highcharts-grid-line {
262
251
  fill: none;
263
- stroke: var(--_grid-line);
252
+ stroke: var(--highcharts-neutral-color-10, var(--_grid-line));
264
253
  }
265
254
 
266
255
  :where([styled-mode]) .highcharts-xaxis-grid .highcharts-grid-line {
@@ -268,7 +257,7 @@ export const chartStyles = css`
268
257
  }
269
258
 
270
259
  :where([styled-mode]) .highcharts-tick {
271
- stroke: var(--_grid-line);
260
+ stroke: var(--highcharts-neutral-color-80, var(--_grid-line));
272
261
  }
273
262
 
274
263
  :where([styled-mode]) .highcharts-yaxis .highcharts-tick {
@@ -276,23 +265,23 @@ export const chartStyles = css`
276
265
  }
277
266
 
278
267
  :where([styled-mode]) .highcharts-minor-grid-line {
279
- stroke: var(--_minor-grid-line);
268
+ stroke: var(--highcharts-neutral-color-5, var(--_minor-grid-line));
280
269
  }
281
270
 
282
271
  :where([styled-mode]) .highcharts-crosshair-thin {
283
272
  stroke-width: 1px;
284
- stroke: var(--_grid-line);
273
+ stroke: var(--highcharts-neutral-color-20, var(--_grid-line));
285
274
  }
286
275
 
287
276
  :where([styled-mode]) .highcharts-crosshair-category {
288
- stroke: var(--_accent-0);
277
+ stroke: var(--highcharts-highlight-color-20, var(--_color-0));
289
278
  stroke-opacity: 0.25;
290
279
  }
291
280
 
292
281
  /* Credits */
293
282
  :where([styled-mode]) .highcharts-credits {
294
283
  cursor: pointer;
295
- fill: var(--_disabled-label);
284
+ fill: var(--highcharts-neutral-color-40, var(--_disabled-label));
296
285
  font-size: 0.7em;
297
286
  transition:
298
287
  fill 250ms,
@@ -300,15 +289,15 @@ export const chartStyles = css`
300
289
  }
301
290
 
302
291
  :where([styled-mode]) .highcharts-credits:hover {
303
- fill: black;
304
- font-size: 1em;
292
+ fill: var(--highcharts-neutral-color-100, black);
293
+ font-size: 0.8em;
305
294
  }
306
295
 
307
296
  /* Tooltip */
308
297
  ${unsafeCSS(tooltipStyles(':where([styled-mode])'))};
309
298
 
310
299
  :where([styled-mode]) .highcharts-selection-marker {
311
- fill: var(--_accent-0);
300
+ fill: var(--highcharts-highlight-color-80, var(--_color-0));
312
301
  fill-opacity: 0.25;
313
302
  }
314
303
 
@@ -319,30 +308,32 @@ export const chartStyles = css`
319
308
  stroke-linejoin: round;
320
309
  }
321
310
 
311
+ :where([styled-mode]) .highcharts-empty-series {
312
+ stroke-width: 1px;
313
+ fill: none;
314
+ stroke: var(--highcharts-neutral-color-20, var(--_color-0));
315
+ }
316
+
322
317
  :where([styled-mode]) .highcharts-state-hover .highcharts-graph {
323
318
  stroke-width: calc(var(--vaadin-chart-graph-stroke-width, 2) + 1);
324
319
  }
325
320
 
326
321
  :where([styled-mode]) .highcharts-point-inactive {
327
322
  opacity: 0.2;
328
- transition: opacity 50ms;
329
- /* quick in */
323
+ transition: opacity 50ms; /* quick in */
330
324
  }
331
325
 
332
326
  :where([styled-mode]) .highcharts-series-inactive {
333
327
  opacity: 0.2;
334
- transition: opacity 50ms;
335
- /* quick in */
328
+ transition: opacity 50ms; /* quick in */
336
329
  }
337
330
 
338
331
  :where([styled-mode]) .highcharts-state-hover path {
339
- transition: stroke-width 50ms;
340
- /* quick in */
332
+ transition: stroke-width 50ms; /* quick in */
341
333
  }
342
334
 
343
335
  :where([styled-mode]) .highcharts-state-normal path {
344
- transition: stroke-width 250ms;
345
- /* slow out */
336
+ transition: stroke-width 250ms; /* slow out */
346
337
  }
347
338
 
348
339
  /* Legend hover affects points and series */
@@ -354,135 +345,145 @@ export const chartStyles = css`
354
345
  }
355
346
 
356
347
  :where([styled-mode]) .highcharts-legend-series-active g.highcharts-series:not(.highcharts-series-hover),
357
- :where([styled-mode]) .highcharts-legend-point-active .highcharts-point:not(.highcharts-point-hover),
348
+ :where([styled-mode])
349
+ .highcharts-legend-point-active
350
+ .highcharts-point:not(.highcharts-point-hover, .highcharts-point-select),
358
351
  :where([styled-mode]) .highcharts-legend-series-active .highcharts-markers:not(.highcharts-series-hover),
359
352
  :where([styled-mode]) .highcharts-legend-series-active .highcharts-data-labels:not(.highcharts-series-hover) {
360
353
  opacity: 0.2;
361
354
  }
362
355
 
363
356
  /* Series options */
357
+
364
358
  /* Default colors */
365
- /* vaadin-charts custom properties */
366
- /* Use of :where() function to avoid setting classes with high specificity */
367
359
  :where([styled-mode]) .highcharts-color-0 {
368
- fill: var(--_accent-0);
369
- stroke: var(--_accent-0);
370
- color: var(--_accent-0-label);
360
+ fill: var(--_color-0);
361
+ stroke: var(--_color-0);
371
362
  }
372
363
 
373
364
  :where([styled-mode]) .highcharts-color-1 {
374
- fill: var(--_accent-1);
375
- stroke: var(--_accent-1);
376
- color: var(--_accent-1-label);
365
+ fill: var(--_color-1);
366
+ stroke: var(--_color-1);
377
367
  }
378
368
 
379
369
  :where([styled-mode]) .highcharts-color-2 {
380
- fill: var(--_accent-2);
381
- stroke: var(--_accent-2);
382
- color: var(--_accent-2-label);
370
+ fill: var(--_color-2);
371
+ stroke: var(--_color-2);
383
372
  }
384
373
 
385
374
  :where([styled-mode]) .highcharts-color-3 {
386
- fill: var(--_accent-3);
387
- stroke: var(--_accent-3);
388
- color: var(--_accent-2-label);
375
+ fill: var(--_color-3);
376
+ stroke: var(--_color-3);
389
377
  }
390
378
 
391
379
  :where([styled-mode]) .highcharts-color-4 {
392
- fill: var(--_accent-4);
393
- stroke: var(--_accent-4);
394
- color: var(--_accent-4-label);
380
+ fill: var(--_color-4);
381
+ stroke: var(--_color-4);
395
382
  }
396
383
 
397
384
  :where([styled-mode]) .highcharts-color-5 {
398
- fill: var(--_accent-5);
399
- stroke: var(--_accent-5);
400
- color: var(--_accent-5-label);
385
+ fill: var(--_color-5);
386
+ stroke: var(--_color-5);
401
387
  }
402
388
 
403
389
  :where([styled-mode]) .highcharts-color-6 {
404
- fill: var(--_accent-6);
405
- stroke: var(--_accent-6);
406
- color: var(--_accent-6-label);
390
+ fill: var(--_color-6);
391
+ stroke: var(--_color-6);
407
392
  }
408
393
 
409
394
  :where([styled-mode]) .highcharts-color-7 {
410
- fill: var(--_accent-7);
411
- stroke: var(--_accent-7);
412
- color: var(--_accent-7-label);
395
+ fill: var(--_color-7);
396
+ color: var(--_color-7-label);
413
397
  }
414
398
 
415
399
  :where([styled-mode]) .highcharts-color-8 {
416
- fill: var(--_accent-8);
417
- stroke: var(--_accent-8);
418
- color: var(--_accent-8-label);
400
+ fill: var(--_color-8);
401
+ stroke: var(--_color-8);
419
402
  }
420
403
 
421
404
  :where([styled-mode]) .highcharts-color-9 {
422
- fill: var(--_accent-9);
423
- stroke: var(--_accent-9);
424
- color: var(--_accent-9-label);
405
+ fill: var(--_color-9);
406
+ stroke: var(--_color-9);
425
407
  }
426
408
 
427
- :where([styled-mode]) .highcharts-data-label-color-0 {
428
- color: var(--_accent-0-label);
409
+ :where([styled-mode])
410
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
411
+ .highcharts-data-label-color-0 {
412
+ color: var(--_color-0-label);
429
413
  }
430
414
 
431
- :where([styled-mode]) .highcharts-data-label-color-1 {
432
- color: var(--_accent-1-label);
415
+ :where([styled-mode])
416
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
417
+ .highcharts-data-label-color-1 {
418
+ color: var(--_color-1-label);
433
419
  }
434
420
 
435
- :where([styled-mode]) .highcharts-data-label-color-2 {
436
- color: var(--_accent-2-label);
421
+ :where([styled-mode])
422
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
423
+ .highcharts-data-label-color-2 {
424
+ color: var(--_color-2-label);
437
425
  }
438
426
 
439
- :where([styled-mode]) .highcharts-data-label-color-3 {
440
- color: var(--_accent-3-label);
427
+ :where([styled-mode])
428
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
429
+ .highcharts-data-label-color-3 {
430
+ color: var(--_color-3-label);
441
431
  }
442
432
 
443
- :where([styled-mode]) .highcharts-data-label-color-4 {
444
- color: var(--_accent-4-label);
433
+ :where([styled-mode])
434
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
435
+ .highcharts-data-label-color-4 {
436
+ color: var(--_color-4-label);
445
437
  }
446
438
 
447
- :where([styled-mode]) .highcharts-data-label-color-5 {
448
- color: var(--_accent-5-label);
439
+ :where([styled-mode])
440
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
441
+ .highcharts-data-label-color-5 {
442
+ color: var(--_color-5-label);
449
443
  }
450
444
 
451
- :where([styled-mode]) .highcharts-data-label-color-6 {
452
- color: var(--_accent-6-label);
445
+ :where([styled-mode])
446
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
447
+ .highcharts-data-label-color-6 {
448
+ color: var(--_color-6-label);
453
449
  }
454
450
 
455
- :where([styled-mode]) .highcharts-data-label-color-7 {
456
- color: var(--_accent-7-label);
451
+ :where([styled-mode])
452
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
453
+ .highcharts-data-label-color-7 {
454
+ color: var(--_color-7-label);
457
455
  }
458
456
 
459
- :where([styled-mode]) .highcharts-data-label-color-8 {
460
- color: var(--_accent-8-label);
457
+ :where([styled-mode])
458
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
459
+ .highcharts-data-label-color-8 {
460
+ color: var(--_color-8-label);
461
461
  }
462
462
 
463
- :where([styled-mode]) .highcharts-data-label-color-9 {
464
- color: var(--_accent-9-label);
463
+ :where([styled-mode])
464
+ :where(.highcharts-treemap-series, .highcharts-organization-series, .highcharts-gantt-series)
465
+ .highcharts-data-label-color-9 {
466
+ color: var(--_color-9-label);
465
467
  }
466
468
 
467
469
  :where([styled-mode]) [class*='highcharts-data-label-color-'] {
468
470
  fill: currentColor;
469
471
  }
470
472
 
471
- /* end of vaadin-charts custom properties */
472
-
473
+ /* Various series-specific */
473
474
  :where([styled-mode]) .highcharts-area {
474
- fill-opacity: 0.5;
475
+ fill-opacity: 0.75;
475
476
  stroke-width: 0;
476
477
  }
477
478
 
478
479
  :where([styled-mode]) .highcharts-markers {
479
480
  stroke-width: 1px;
480
- stroke: var(--_bg);
481
+ stroke: var(--highcharts-background-color, var(--_bg));
481
482
  }
482
483
 
483
484
  :where([styled-mode])
484
485
  .highcharts-a11y-markers-hidden
485
- .highcharts-point:not(.highcharts-point-hover):not(.highcharts-a11y-marker-visible),
486
+ .highcharts-point:not(.highcharts-point-hover, .highcharts-a11y-marker-visible),
486
487
  :where([styled-mode]) .highcharts-a11y-marker-hidden {
487
488
  opacity: 0;
488
489
  }
@@ -495,9 +496,10 @@ export const chartStyles = css`
495
496
  stroke-width: 0;
496
497
  }
497
498
 
498
- :where([styled-mode]) .highcharts-data-label {
499
+ :where([styled-mode]) .highcharts-data-label text,
500
+ :where([styled-mode]) .highcharts-data-label span,
501
+ :where([styled-mode]) text.highcharts-data-label {
499
502
  font-size: 0.9em;
500
- font-weight: normal;
501
503
  }
502
504
 
503
505
  :where([styled-mode]) .highcharts-data-label-box {
@@ -507,7 +509,7 @@ export const chartStyles = css`
507
509
 
508
510
  :where([styled-mode]) .highcharts-data-label text,
509
511
  :where([styled-mode]) text.highcharts-data-label {
510
- fill: var(--_data-label);
512
+ fill: var(--highcharts-neutral-color-80, var(--_data-label));
511
513
  }
512
514
 
513
515
  :where([styled-mode]) .highcharts-data-label-connector {
@@ -523,29 +525,37 @@ export const chartStyles = css`
523
525
  stroke-width: 0;
524
526
  }
525
527
 
528
+ :where([styled-mode]) .highcharts-series-label text {
529
+ fill: inherit;
530
+ font-weight: bold;
531
+ }
532
+
526
533
  :where([styled-mode]) .highcharts-series:not(.highcharts-pie-series) .highcharts-point-select,
527
534
  :where([styled-mode]) .highcharts-markers .highcharts-point-select {
528
- /* TODO where are these used? */
529
- fill: var(--_grid-line);
530
- stroke: var(--vaadin-charts-contrast, var(--_label));
535
+ fill: var(--highcharts-neutral-color-20, var(--_grid-line));
536
+ stroke: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
531
537
  }
532
538
 
533
- :where([styled-mode]) .highcharts-column-series rect.highcharts-point {
534
- stroke: var(--_point-border);
539
+ :where([styled-mode]) .highcharts-column-series path.highcharts-point,
540
+ :where([styled-mode]) .highcharts-bar-series path.highcharts-point {
541
+ /* path to prevent stroke on 3D columns and bars */
542
+ stroke: var(--highcharts-background-color, var(--_point-border));
535
543
  }
536
544
 
537
- :where([styled-mode]) .highcharts-column-series .highcharts-point {
545
+ :where([styled-mode]) .highcharts-column-series .highcharts-point,
546
+ :where([styled-mode]) .highcharts-bar-series .highcharts-point {
538
547
  transition: fill-opacity 250ms;
539
548
  }
540
549
 
541
- :where([styled-mode]) .highcharts-column-series .highcharts-point-hover {
550
+ :where([styled-mode]) .highcharts-column-series .highcharts-point-hover,
551
+ :where([styled-mode]) .highcharts-bar-series .highcharts-point-hover {
542
552
  fill-opacity: 0.75;
543
553
  transition: fill-opacity 50ms;
544
554
  }
545
555
 
546
556
  :where([styled-mode]) .highcharts-pie-series .highcharts-point {
547
557
  stroke-linejoin: round;
548
- stroke: var(--_point-border);
558
+ stroke: var(--highcharts-background-color, var(--_point-border));
549
559
  }
550
560
 
551
561
  :where([styled-mode]) .highcharts-pie-series .highcharts-point-hover {
@@ -555,8 +565,7 @@ export const chartStyles = css`
555
565
 
556
566
  :where([styled-mode]) .highcharts-funnel-series .highcharts-point {
557
567
  stroke-linejoin: round;
558
- stroke: var(--_point-border);
559
- stroke-width: 2px;
568
+ stroke: var(--highcharts-background-color, var(--_point-border));
560
569
  }
561
570
 
562
571
  :where([styled-mode]) .highcharts-funnel-series .highcharts-point-hover {
@@ -571,8 +580,7 @@ export const chartStyles = css`
571
580
 
572
581
  :where([styled-mode]) .highcharts-pyramid-series .highcharts-point {
573
582
  stroke-linejoin: round;
574
- stroke: var(--_point-border);
575
- stroke-width: 2px;
583
+ stroke: var(--highcharts-background-color, var(--_point-border));
576
584
  }
577
585
 
578
586
  :where([styled-mode]) .highcharts-pyramid-series .highcharts-point-hover {
@@ -590,8 +598,8 @@ export const chartStyles = css`
590
598
  }
591
599
 
592
600
  :where([styled-mode]) .highcharts-treemap-series .highcharts-point {
593
- stroke-width: 2px;
594
- stroke: var(--_point-border);
601
+ stroke-width: 1px;
602
+ stroke: var(--highcharts-background-color, var(--_point-border));
595
603
  transition:
596
604
  stroke 250ms,
597
605
  fill 250ms,
@@ -599,9 +607,7 @@ export const chartStyles = css`
599
607
  }
600
608
 
601
609
  :where([styled-mode]) .highcharts-treemap-series .highcharts-point-hover {
602
- stroke-width: 0;
603
- stroke: var(--_point-border);
604
- fill-opacity: 0.75;
610
+ stroke: var(--highcharts-neutral-color-40, var(--_point-border));
605
611
  transition:
606
612
  stroke 25ms,
607
613
  fill 25ms,
@@ -625,10 +631,6 @@ export const chartStyles = css`
625
631
  fill-opacity: 0.75;
626
632
  }
627
633
 
628
- :where([styled-mode]) .highcharts-treemap-series [class*='highcharts-data-label-color-'] text {
629
- fill: inherit;
630
- }
631
-
632
634
  :where([styled-mode]) .highcharts-vector-series .highcharts-point {
633
635
  fill: none;
634
636
  stroke-width: 2px;
@@ -640,8 +642,7 @@ export const chartStyles = css`
640
642
  }
641
643
 
642
644
  :where([styled-mode]) .highcharts-lollipop-stem {
643
- /* TODO where is this used? */
644
- stroke: var(--vaadin-charts-contrast, var(--_label));
645
+ stroke: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
645
646
  }
646
647
 
647
648
  :where([styled-mode]) .highcharts-focus-border {
@@ -659,35 +660,32 @@ export const chartStyles = css`
659
660
  stroke-width: 0;
660
661
  }
661
662
 
662
- :where([styled-mode]) .highcharts-legend-item > text {
663
- fill: var(--_data-label);
664
- font-weight: normal;
663
+ :where([styled-mode]) .highcharts-legend-item > text,
664
+ :where([styled-mode]) .highcharts-legend-item span {
665
+ fill: var(--highcharts-neutral-color-80, var(--_data-label));
665
666
  font-size: 1em;
666
667
  cursor: pointer;
667
668
  stroke-width: 0;
668
669
  }
669
670
 
670
- :where([styled-mode]) .highcharts-legend-item > .highcharts-point {
671
- stroke-width: 0;
672
- }
673
-
674
671
  :where([styled-mode]) .highcharts-legend-item:hover text {
675
- fill: var(--vaadin-charts-title-label, var(--_label));
672
+ fill: var(--highcharts-neutral-color-100, var(--vaadin-charts-title-label, var(--_label)));
676
673
  }
677
674
 
678
675
  :where([styled-mode]) .highcharts-legend-item-hidden * {
679
- fill: var(--_disabled-label) !important;
680
- stroke: var(--_disabled-label) !important;
676
+ fill: var(--highcharts-neutral-color-60, var(--_disabled-label)) !important;
677
+ stroke: var(--highcharts-neutral-color-60, var(--_disabled-label)) !important;
681
678
  transition: fill 250ms;
679
+ text-decoration: line-through;
682
680
  }
683
681
 
684
682
  :where([styled-mode]) .highcharts-legend-nav-active {
685
- fill: var(--vaadin-charts-button-label, var(--_label));
683
+ fill: var(--highcharts-highlight-color-100, var(--vaadin-charts-button-label, var(--_label)));
686
684
  cursor: pointer;
687
685
  }
688
686
 
689
687
  :where([styled-mode]) .highcharts-legend-nav-inactive {
690
- fill: var(--_disabled-label);
688
+ fill: var(--highcharts-neutral-color-20, var(--_disabled-label));
691
689
  }
692
690
 
693
691
  :where([styled-mode]) circle.highcharts-legend-nav-active,
@@ -712,13 +710,14 @@ export const chartStyles = css`
712
710
  }
713
711
 
714
712
  :where([styled-mode]) .highcharts-bubble-legend-labels {
715
- fill: var(--_data-label);
713
+ fill: var(--highcharts-neutral-color-80, var(--_data-label));
714
+ font-size: 0.95em;
716
715
  }
717
716
 
718
717
  /* Loading */
719
718
  :where([styled-mode]) .highcharts-loading {
720
719
  position: absolute;
721
- background-color: var(--_bg);
720
+ background-color: var(--highcharts-background-color, var(--_bg));
722
721
  opacity: 0.5;
723
722
  text-align: center;
724
723
  z-index: 10;
@@ -735,7 +734,7 @@ export const chartStyles = css`
735
734
  }
736
735
 
737
736
  :where([styled-mode]) .highcharts-loading-inner {
738
- font-weight: normal;
737
+ font-weight: bold;
739
738
  position: relative;
740
739
  top: 45%;
741
740
  }
@@ -743,24 +742,26 @@ export const chartStyles = css`
743
742
  /* Plot bands and polar pane backgrounds */
744
743
  :where([styled-mode]) .highcharts-plot-band,
745
744
  :where([styled-mode]) .highcharts-pane {
746
- fill: var(--vaadin-charts-contrast, var(--_label));
745
+ fill: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
747
746
  fill-opacity: 0.05;
748
747
  }
749
748
 
750
749
  :where([styled-mode]) .highcharts-plot-line {
751
750
  fill: none;
752
- /* TODO where is this used? */
753
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
751
+ stroke: var(
752
+ --highcharts-neutral-color-40,
753
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent)
754
+ );
754
755
  stroke-width: 1px;
755
756
  }
756
757
 
757
758
  :where([styled-mode]) .highcharts-plot-line-label {
758
- fill: var(--_data-label);
759
+ font-size: 1em;
759
760
  }
760
761
 
761
762
  /* Highcharts More and modules */
762
763
  :where([styled-mode]) .highcharts-boxplot-box {
763
- fill: var(--_bg);
764
+ fill: var(--highcharts-background-color, var(--_bg));
764
765
  }
765
766
 
766
767
  :where([styled-mode]) .highcharts-boxplot-median {
@@ -772,26 +773,33 @@ export const chartStyles = css`
772
773
  }
773
774
 
774
775
  :where([styled-mode]) .highcharts-errorbar-series .highcharts-point {
775
- stroke: var(--vaadin-charts-contrast, var(--_label));
776
+ stroke: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
776
777
  }
777
778
 
778
779
  :where([styled-mode]) .highcharts-gauge-series .highcharts-data-label-box {
779
- stroke: var(--_grid-line);
780
+ stroke: var(--highcharts-neutral-color-20, var(--_grid-line));
780
781
  stroke-width: 1px;
781
782
  }
782
783
 
783
784
  :where([styled-mode]) .highcharts-gauge-series .highcharts-dial {
784
- fill: var(--vaadin-charts-contrast, var(--_label));
785
+ fill: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
785
786
  stroke-width: 0;
786
787
  }
787
788
 
789
+ :where([styled-mode]) .highcharts-organization-series .highcharts-null-point {
790
+ fill: transparent;
791
+ }
792
+
788
793
  :where([styled-mode]) .highcharts-polygon-series .highcharts-graph {
789
794
  fill: inherit;
790
795
  stroke-width: 0;
791
796
  }
792
797
 
793
798
  :where([styled-mode]) .highcharts-waterfall-series .highcharts-graph {
794
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
799
+ stroke: var(
800
+ --highcharts-neutral-color-80,
801
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent)
802
+ );
795
803
  stroke-dasharray: 1, 3;
796
804
  }
797
805
 
@@ -815,7 +823,7 @@ export const chartStyles = css`
815
823
 
816
824
  :where([styled-mode]) .highcharts-venn-series .highcharts-point {
817
825
  fill-opacity: 0.75;
818
- stroke: var(--_point-border);
826
+ stroke: var(--highcharts-neutral-color-20, var(--_point-border));
819
827
  transition:
820
828
  stroke 250ms,
821
829
  fill-opacity 250ms;
@@ -823,7 +831,11 @@ export const chartStyles = css`
823
831
 
824
832
  :where([styled-mode]) .highcharts-venn-series .highcharts-point-hover {
825
833
  fill-opacity: 1;
826
- stroke: var(--_point-border);
834
+ stroke: var(--highcharts-neutral-color-20, var(--_point-border));
835
+ }
836
+
837
+ :where([styled-mode]) .highcharts-timeline-series .highcharts-graph {
838
+ stroke: var(--highcharts-neutral-color-20, var(--_point-border));
827
839
  }
828
840
 
829
841
  /* Highstock */
@@ -832,26 +844,25 @@ export const chartStyles = css`
832
844
  }
833
845
 
834
846
  :where([styled-mode]) .highcharts-navigator-mask-inside {
835
- fill: var(--_accent-0);
836
- /* navigator.maskFill option */
837
- fill-opacity: 0.2;
847
+ fill: var(--highcharts-highlight-color-60, var(--_color-0)); /* navigator.maskFill option */
848
+ fill-opacity: 0.25;
838
849
  cursor: ew-resize;
839
850
  }
840
851
 
841
852
  :where([styled-mode]) .highcharts-navigator-outline {
842
- stroke: var(--_grid-line);
853
+ stroke: var(--highcharts-neutral-color-40, var(--_grid-line));
843
854
  fill: none;
844
855
  }
845
856
 
846
857
  :where([styled-mode]) .highcharts-navigator-handle {
847
- stroke: var(--_grid-line);
848
- fill: var(--_bg);
858
+ stroke: var(--highcharts-neutral-color-40, var(--_grid-line));
859
+ fill: var(--highcharts-neutral-color-5, var(--_bg));
849
860
  cursor: ew-resize;
850
861
  }
851
862
 
852
863
  :where([styled-mode]) .highcharts-navigator-series {
853
- fill: var(--_accent-1);
854
- stroke: var(--_accent-1);
864
+ fill: var(--highcharts-highlight-color-80, var(--_color-1));
865
+ stroke: var(--highcharts-highlight-color-80, var(--_color-1));
855
866
  }
856
867
 
857
868
  :where([styled-mode]) .highcharts-navigator-series .highcharts-graph {
@@ -868,11 +879,13 @@ export const chartStyles = css`
868
879
 
869
880
  :where([styled-mode]) .highcharts-navigator-xaxis .highcharts-grid-line {
870
881
  stroke-width: 1px;
871
- stroke: var(--_grid-line);
882
+ stroke: var(--highcharts-neutral-color-10, var(--_grid-line));
872
883
  }
873
884
 
874
885
  :where([styled-mode]) .highcharts-navigator-xaxis.highcharts-axis-labels {
875
- fill: var(--_secondary-label);
886
+ fill: var(--highcharts-neutral-color-100, var(--_secondary-label));
887
+ font-size: 0.95em;
888
+ opacity: 0.6;
876
889
  }
877
890
 
878
891
  :where([styled-mode]) .highcharts-navigator-yaxis .highcharts-grid-line {
@@ -880,61 +893,75 @@ export const chartStyles = css`
880
893
  }
881
894
 
882
895
  :where([styled-mode]) .highcharts-scrollbar-thumb {
883
- fill: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent);
896
+ fill: var(
897
+ --highcharts-neutral-color-20,
898
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent)
899
+ );
884
900
  }
885
901
 
886
902
  :where([styled-mode]) .highcharts-scrollbar-button {
887
- fill: var(--_bg);
903
+ fill: var(--highcharts-neutral-color-10, var(--_bg));
904
+ stroke: var(--highcharts-neutral-color-20);
905
+ stroke-width: 1px;
888
906
  }
889
907
 
890
908
  :where([styled-mode]) .highcharts-scrollbar-arrow {
891
- fill: var(--_data-label);
909
+ fill: var(--highcharts-neutral-color-60, var(--_data-label));
892
910
  }
893
911
 
894
912
  :where([styled-mode]) .highcharts-scrollbar-rifles {
895
- stroke: var(--_data-label);
913
+ stroke: none;
896
914
  stroke-width: 1px;
897
915
  }
898
916
 
899
917
  :where([styled-mode]) .highcharts-scrollbar-track {
900
918
  fill: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 5%, transparent);
919
+ stroke: var(--highcharts-neutral-color-20);
920
+ stroke-width: 1px;
901
921
  }
902
922
 
903
923
  :where([styled-mode]) .highcharts-button {
904
- fill: var(--vaadin-charts-button-background, var(--vaadin-background-container));
924
+ fill: var(--highcharts-neutral-color-3, var(--vaadin-charts-button-background, var(--vaadin-background-container)));
925
+ stroke: var(--highcharts-neutral-color-20);
905
926
  cursor: default;
927
+ stroke-width: 1px;
906
928
  transition: fill 250ms;
907
929
  }
908
930
 
909
931
  :where([styled-mode]) .highcharts-button text {
910
- fill: var(--vaadin-charts-button-label, var(--_label));
911
- font-weight: 600;
932
+ fill: var(--highcharts-neutral-color-80, var(--vaadin-charts-button-label, var(--_label)));
933
+ font-size: 1em;
912
934
  }
913
935
 
914
936
  :where([styled-mode]) .highcharts-button-hover {
915
937
  transition: fill 0ms;
916
- fill: var(--vaadin-charts-button-hover-background, var(--vaadin-background-container));
917
- stroke-width: 0;
938
+ fill: var(
939
+ --highcharts-neutral-color-10,
940
+ var(--vaadin-charts-button-hover-background, var(--vaadin-background-container))
941
+ );
942
+ stroke: var(--highcharts-neutral-color-20);
918
943
  }
919
944
 
920
945
  :where([styled-mode]) .highcharts-button-hover text {
921
- fill: var(--vaadin-charts-button-label, var(--_label));
946
+ fill: var(--highcharts-neutral-color-80, var(--vaadin-charts-button-label, var(--_label)));
922
947
  }
923
948
 
924
949
  :where([styled-mode]) .highcharts-button-pressed {
925
- fill: var(--vaadin-charts-button-active-background, var(--_label));
950
+ font-weight: bold;
951
+ fill: var(--highcharts-highlight-color-10, var(--vaadin-charts-button-active-background, var(--_label)));
952
+ stroke: var(--highcharts-neutral-color-20);
926
953
  }
927
954
 
928
955
  :where([styled-mode]) .highcharts-button-pressed text {
929
- fill: var(--vaadin-charts-button-active-label, var(--_bg));
956
+ fill: var(--highcharts-neutral-color-80, var(--vaadin-charts-button-active-label, var(--_bg)));
957
+ font-weight: bold;
930
958
  }
931
959
 
932
960
  :where([styled-mode]) .highcharts-button-disabled text {
933
- fill: var(--vaadin-charts-button-disabled-label, var(--vaadin-color-disabled));
934
- }
935
-
936
- :where([styled-mode]) .highcharts-range-selector-buttons > :is(text, .highcharts-label) {
937
- fill: var(--_secondary-label);
961
+ fill: var(
962
+ --highcharts-neutral-color-80,
963
+ var(--vaadin-charts-button-disabled-label, var(--vaadin-text-color-disabled))
964
+ );
938
965
  }
939
966
 
940
967
  :where([styled-mode]) .highcharts-range-selector-buttons .highcharts-button {
@@ -946,7 +973,7 @@ export const chartStyles = css`
946
973
  }
947
974
 
948
975
  :where([styled-mode]) .highcharts-range-label text {
949
- fill: var(--_secondary-label);
976
+ fill: var(--highcharts-neutral-color-60, var(--_secondary-label));
950
977
  }
951
978
 
952
979
  :where([styled-mode]) .highcharts-range-input rect {
@@ -961,24 +988,26 @@ export const chartStyles = css`
961
988
  }
962
989
 
963
990
  :where([styled-mode]) .highcharts-range-input text {
964
- fill: var(--_data-label);
991
+ fill: var(--highcharts-neutral-color-80, var(--_data-label));
992
+ font-size: 1em;
993
+ }
994
+
995
+ :where([styled-mode]) .highcharts-range-input {
996
+ stroke-width: 1px;
997
+ stroke: var(--highcharts-neutral-color-20);
965
998
  }
966
999
 
967
1000
  :where([styled-mode]) input.highcharts-range-selector {
968
1001
  position: absolute;
969
1002
  border: 0;
970
- width: 1px;
971
- /* Chrome needs a pixel to see it */
972
- height: 1px;
973
1003
  padding: 0;
974
1004
  text-align: center;
975
- left: -9em;
976
- /* #4798 */
1005
+ top: -9999em;
977
1006
  }
978
1007
 
979
1008
  :where([styled-mode]) .highcharts-crosshair-label text {
980
- fill: var(--_bg);
981
- font-size: 1.1em;
1009
+ fill: var(--highcharts-background-color, var(--_bg));
1010
+ font-size: 0.9em;
982
1011
  }
983
1012
 
984
1013
  :where([styled-mode]) .highcharts-crosshair-label .highcharts-label-box {
@@ -986,16 +1015,29 @@ export const chartStyles = css`
986
1015
  }
987
1016
 
988
1017
  :where([styled-mode]) .highcharts-candlestick-series .highcharts-point {
989
- stroke: var(--vaadin-charts-candlestick-line, var(--vaadin-border-color-strong));
1018
+ stroke: var(--highcharts-neutral-color-100, var(--vaadin-charts-candlestick-line, var(--vaadin-border-color)));
990
1019
  stroke-width: 1px;
991
1020
  }
992
1021
 
993
1022
  :where([styled-mode]) .highcharts-candlestick-series .highcharts-point-up {
994
- fill: var(--_accent-positive);
1023
+ fill: var(--highcharts-background-color, var(--_color-positive));
1024
+ }
1025
+
1026
+ :where([styled-mode]) .highcharts-renko-series .highcharts-point-down,
1027
+ :where([styled-mode]) .highcharts-hollowcandlestick-series .highcharts-point-down {
1028
+ fill: var(--highcharts-negative-color, var(--_color-negative));
1029
+ stroke: var(--highcharts-negative-color, var(--_color-negative));
995
1030
  }
996
1031
 
997
- :where([styled-mode]) .highcharts-candlestick-series .highcharts-point-down {
998
- fill: var(--_accent-negative);
1032
+ :where([styled-mode]) .highcharts-renko-series .highcharts-point-up,
1033
+ :where([styled-mode]) .highcharts-hollowcandlestick-series .highcharts-point-down-bearish-up {
1034
+ fill: var(--highcharts-positive-color, var(--_color-positive));
1035
+ stroke: var(--highcharts-positive-color, var(--_color-positive));
1036
+ }
1037
+
1038
+ :where([styled-mode]) .highcharts-hollowcandlestick-series .highcharts-point-up {
1039
+ fill: transparent;
1040
+ stroke: var(--highcharts-positive-color, var(--_color-positive));
999
1041
  }
1000
1042
 
1001
1043
  :where([styled-mode]) .highcharts-ohlc-series .highcharts-point-hover {
@@ -1003,33 +1045,33 @@ export const chartStyles = css`
1003
1045
  }
1004
1046
 
1005
1047
  :where([styled-mode]) .highcharts-flags-series .highcharts-point .highcharts-label-box {
1006
- stroke: var(--_grid-line);
1007
- fill: var(--_bg);
1048
+ stroke: var(--highcharts-neutral-color-40, var(--_grid-line));
1049
+ fill: var(--highcharts-background-color, var(--_bg));
1008
1050
  transition: fill 250ms;
1009
1051
  }
1010
1052
 
1011
1053
  :where([styled-mode]) .highcharts-flags-series .highcharts-point-hover .highcharts-label-box {
1012
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
1013
- fill: var(--_bg);
1054
+ stroke: var(
1055
+ --highcharts-neutral-color-100,
1056
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent)
1057
+ );
1058
+ fill: var(--highcharts-highlight-color-20, var(--_bg));
1014
1059
  }
1015
1060
 
1016
1061
  :where([styled-mode]) .highcharts-flags-series .highcharts-point text {
1017
- fill: var(--_data-label);
1062
+ fill: var(--highcharts-neutral-color-100, var(--_data-label));
1018
1063
  font-size: 0.9em;
1019
- font-weight: normal;
1020
- }
1021
-
1022
- :where([styled-mode]) .highcharts-flags-series .highcharts-point-hover text {
1023
- fill: var(--vaadin-charts-title-label, var(--_label));
1064
+ font-weight: bold;
1024
1065
  }
1025
1066
 
1026
- /* Highmaps */
1067
+ /* Highcharts Maps */
1027
1068
  :where([styled-mode]) .highcharts-map-series .highcharts-point {
1028
1069
  transition:
1029
1070
  fill 500ms,
1030
1071
  fill-opacity 500ms,
1031
1072
  stroke-width 250ms;
1032
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent);
1073
+ stroke: var(--highcharts-neutral-color-20);
1074
+ stroke-width: inherit;
1033
1075
  }
1034
1076
 
1035
1077
  :where([styled-mode]) .highcharts-map-series .highcharts-point-hover {
@@ -1037,7 +1079,6 @@ export const chartStyles = css`
1037
1079
  fill 0ms,
1038
1080
  fill-opacity 0ms;
1039
1081
  fill-opacity: 0.5;
1040
- stroke-width: 2px;
1041
1082
  }
1042
1083
 
1043
1084
  :where([styled-mode]) .highcharts-mapline-series .highcharts-point {
@@ -1050,26 +1091,39 @@ export const chartStyles = css`
1050
1091
 
1051
1092
  :where([styled-mode]) .highcharts-map-navigation {
1052
1093
  font-size: 1.3em;
1053
- font-weight: normal;
1094
+ font-weight: bold;
1054
1095
  text-align: center;
1055
1096
  }
1056
1097
 
1057
- :where([styled-mode]) .highcharts-coloraxis {
1058
- stroke-width: 0;
1098
+ :where([styled-mode]) .highcharts-map-navigation.highcharts-button {
1099
+ fill: var(--highcharts-background-color);
1100
+ stroke: var(--highcharts-neutral-color-10);
1059
1101
  }
1060
1102
 
1061
- :where([styled-mode]) .highcharts-coloraxis-grid .highcharts-grid-line {
1062
- stroke: var(--_bg);
1103
+ :where([styled-mode]) .highcharts-map-navigation.highcharts-button:hover {
1104
+ fill: var(--highcharts-neutral-color-10);
1063
1105
  }
1064
1106
 
1065
- :where([styled-mode]) .highcharts-coloraxis-marker {
1066
- fill: var(--_axis-label);
1107
+ :where([styled-mode]) .highcharts-map-navigation.highcharts-button .highcharts-button-symbol {
1108
+ stroke-width: 2px;
1109
+ }
1110
+
1111
+ :where([styled-mode]) .highcharts-mapview-inset-border {
1112
+ stroke: var(--highcharts-neutral-color-20);
1113
+ stroke-width: 1px;
1114
+ fill: none;
1115
+ }
1116
+
1117
+ :where([styled-mode]) .highcharts-coloraxis {
1067
1118
  stroke-width: 0;
1068
1119
  }
1069
1120
 
1121
+ :where([styled-mode]) .highcharts-coloraxis-marker {
1122
+ fill: var(--highcharts-neutral-color-40);
1123
+ }
1124
+
1070
1125
  :where([styled-mode]) .highcharts-null-point {
1071
- fill: transparent;
1072
- stroke: var(--vaadin-border-color);
1126
+ fill: var(--highcharts-neutral-color-3, var(--vaadin-charts-button-background, var(--vaadin-background-container)));
1073
1127
  }
1074
1128
 
1075
1129
  /* 3d charts */
@@ -1079,42 +1133,56 @@ export const chartStyles = css`
1079
1133
 
1080
1134
  /* Exporting module */
1081
1135
  :where([styled-mode]) .highcharts-contextbutton {
1082
- fill: #fff;
1083
- /* needed to capture hover */
1136
+ /* Fill is needed to capture hover */
1137
+ fill: var(--highcharts-background-color, var(--_bg));
1084
1138
  stroke: none;
1085
1139
  stroke-linecap: round;
1086
1140
  }
1087
1141
 
1088
1142
  :where([styled-mode]) .highcharts-contextbutton:hover {
1089
- fill: #e6e6e6;
1090
- stroke: #e6e6e6;
1143
+ fill: var(--highcharts-neutral-color-10, #e6e6e6);
1144
+ stroke: var(--highcharts-neutral-color-10, #e6e6e6);
1091
1145
  }
1092
1146
 
1093
1147
  :where([styled-mode]) .highcharts-button-symbol {
1094
- stroke: var(--_secondary-label);
1148
+ stroke: var(--highcharts-neutral-color-60, var(--_secondary-label));
1095
1149
  stroke-width: 3px;
1096
1150
  }
1097
1151
 
1098
1152
  :where([styled-mode]) .highcharts-menu {
1099
- border: 1px solid #999;
1100
- background: #fff;
1101
- padding: 5px 0;
1153
+ border: none;
1154
+ background: var(--highcharts-background-color, var(--_bg));
1155
+ border-radius: 3px;
1156
+ padding: 0.5em;
1102
1157
  box-shadow: 3px 3px 10px #888;
1103
1158
  }
1104
1159
 
1105
1160
  :where([styled-mode]) .highcharts-menu-item {
1106
- padding: 0.5em 1em;
1107
1161
  background: none;
1108
- color: var(--vaadin-charts-button-label, var(--_label));
1162
+ border-radius: 3px;
1163
+ color: var(--highcharts-neutral-color-80, var(--vaadin-charts-button-label, var(--_label)));
1109
1164
  cursor: pointer;
1165
+ font-size: 1em;
1166
+ list-style-type: none;
1167
+ padding: 0.5em;
1110
1168
  transition:
1111
1169
  background 250ms,
1112
1170
  color 250ms;
1113
1171
  }
1114
1172
 
1115
1173
  :where([styled-mode]) .highcharts-menu-item:hover {
1116
- background: #335cad;
1117
- color: #fff;
1174
+ background: var(--highcharts-neutral-color-5, var(--_bg));
1175
+ }
1176
+
1177
+ /* Breadcrumbs */
1178
+ :where([styled-mode]) .highcharts-breadcrumbs-button {
1179
+ fill: none;
1180
+ stroke-width: 0;
1181
+ cursor: pointer;
1182
+ }
1183
+
1184
+ :where([styled-mode]) .highcharts-breadcrumbs-separator {
1185
+ fill: var(--highcharts-neutral-color-60, var(--_secondary-label));
1118
1186
  }
1119
1187
 
1120
1188
  /* Drilldown module */
@@ -1126,22 +1194,22 @@ export const chartStyles = css`
1126
1194
  :where([styled-mode]) text.highcharts-drilldown-data-label,
1127
1195
  :where([styled-mode]) .highcharts-drilldown-axis-label {
1128
1196
  cursor: pointer;
1129
- fill: var(--vaadin-charts-button-label, var(--_label));
1130
- font-weight: normal;
1197
+ fill: var(--highcharts-highlight-color-100, var(--vaadin-charts-button-label, var(--_label)));
1198
+ font-weight: bold;
1131
1199
  text-decoration: underline;
1132
1200
  }
1133
1201
 
1134
1202
  /* No-data module */
1135
1203
  :where([styled-mode]) .highcharts-no-data text {
1136
- font-weight: normal;
1137
- font-size: 1rem;
1138
- fill: var(--_secondary-label);
1204
+ font-weight: bold;
1205
+ font-size: 1em;
1206
+ fill: var(--highcharts-neutral-color-60, var(--_secondary-label));
1139
1207
  }
1140
1208
 
1141
1209
  /* Drag-panes module */
1142
1210
  :where([styled-mode]) .highcharts-axis-resizer {
1143
1211
  cursor: ns-resize;
1144
- stroke: black;
1212
+ stroke: var(--highcharts-neutral-color-100, black);
1145
1213
  stroke-width: 2px;
1146
1214
  }
1147
1215
 
@@ -1153,24 +1221,144 @@ export const chartStyles = css`
1153
1221
  /* Lineargauge type series */
1154
1222
  :where([styled-mode]) .highcharts-lineargauge-target {
1155
1223
  stroke-width: 1px;
1156
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
1224
+ stroke: var(
1225
+ --highcharts-neutral-color-80,
1226
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent)
1227
+ );
1157
1228
  }
1158
1229
 
1159
1230
  :where([styled-mode]) .highcharts-lineargauge-target-line {
1160
1231
  stroke-width: 1px;
1161
- stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
1232
+ stroke: var(
1233
+ --highcharts-neutral-color-80,
1234
+ color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent)
1235
+ );
1236
+ }
1237
+
1238
+ /* Advanced annotations module */
1239
+ :where([styled-mode]) .highcharts-fibonacci-background-0,
1240
+ :where([styled-mode]) .highcharts-pitchfork-inner-background,
1241
+ :where([styled-mode]) .highcharts-measure-background {
1242
+ fill: var(--highcharts-annotation-color-0);
1243
+ }
1244
+
1245
+ :where([styled-mode]) .highcharts-fibonacci-background-1 {
1246
+ fill: var(--highcharts-annotation-color-1);
1247
+ }
1248
+
1249
+ :where([styled-mode]) .highcharts-fibonacci-background-2 {
1250
+ fill: var(--highcharts-annotation-color-2);
1251
+ }
1252
+
1253
+ :where([styled-mode]) .highcharts-fibonacci-background-3,
1254
+ :where([styled-mode]) .highcharts-pitchfork-outer-background {
1255
+ fill: var(--highcharts-annotation-color-3);
1256
+ }
1257
+
1258
+ :where([styled-mode]) .highcharts-fibonacci-background-4 {
1259
+ fill: var(--highcharts-annotation-color-4);
1260
+ }
1261
+
1262
+ :where([styled-mode]) .highcharts-fibonacci-background-5 {
1263
+ fill: var(--highcharts-annotation-color-5);
1264
+ }
1265
+
1266
+ :where([styled-mode]) .highcharts-fibonacci-line {
1267
+ stroke: var(--highcharts-neutral-color-40);
1268
+ }
1269
+
1270
+ :where([styled-mode]) .highcharts-crooked-lines,
1271
+ :where([styled-mode]) .highcharts-tunnel-lines,
1272
+ :where([styled-mode]) .highcharts-infinity-lines,
1273
+ :where([styled-mode]) .highcharts-timecycles-lines,
1274
+ :where([styled-mode]) .highcharts-fibonacci-timezones-lines,
1275
+ :where([styled-mode]) .highcharts-pitchfork-lines,
1276
+ :where([styled-mode]) .highcharts-vertical-line,
1277
+ :where([styled-mode]) .highcharts-measure-crosshair-x,
1278
+ :where([styled-mode]) .highcharts-measure-crosshair-y {
1279
+ stroke: var(--highcharts-neutral-color-100);
1280
+ stroke-opacity: 0.75;
1281
+ fill: none;
1282
+ }
1283
+
1284
+ :where([styled-mode]) .highcharts-measure-crosshair-x,
1285
+ :where([styled-mode]) .highcharts-measure-crosshair-y {
1286
+ stroke-dasharray: 1, 3;
1287
+ }
1288
+
1289
+ :where([styled-mode]) .highcharts-tunnel-background {
1290
+ fill: var(--highcharts-color-0);
1291
+ }
1292
+
1293
+ :where([styled-mode]) .highcharts-annotation-shapes {
1294
+ cursor: move;
1295
+ }
1296
+
1297
+ :where([styled-mode]) .highcharts-basic-shape {
1298
+ fill: var(--highcharts-neutral-color-100);
1299
+ stroke: var(--highcharts-neutral-color-100);
1300
+ opacity: 0.74;
1162
1301
  }
1163
1302
 
1164
1303
  /* Annotations module */
1304
+
1165
1305
  :where([styled-mode]) .highcharts-annotation-label-box {
1166
1306
  stroke-width: 1px;
1167
- stroke: var(--vaadin-charts-contrast, var(--_label));
1168
- fill: var(--vaadin-charts-contrast, var(--_label));
1307
+ stroke: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
1308
+ fill: var(--highcharts-neutral-color-100, var(--vaadin-charts-contrast, var(--_label)));
1169
1309
  fill-opacity: 0.75;
1170
1310
  }
1171
1311
 
1172
1312
  :where([styled-mode]) .highcharts-annotation-label text {
1173
- fill: var(--_disabled-label);
1313
+ fill: var(--highcharts-neutral-color-10, var(--_label));
1314
+ font-size: 1em;
1315
+ }
1316
+
1317
+ /* A11y module */
1318
+ :where([styled-mode]) .highcharts-a11y-proxy-element {
1319
+ border-width: 0;
1320
+ background-color: transparent;
1321
+ cursor: pointer;
1322
+ outline: none;
1323
+ opacity: 0.001;
1324
+ z-index: 999;
1325
+ overflow: hidden;
1326
+ padding: 0;
1327
+ margin: 0;
1328
+ display: block;
1329
+ position: absolute;
1330
+ }
1331
+
1332
+ :where([styled-mode]) .highcharts-a11y-proxy-group li {
1333
+ list-style: none;
1334
+ }
1335
+
1336
+ :where([styled-mode]) .highcharts-visually-hidden {
1337
+ position: absolute;
1338
+ width: 1px;
1339
+ height: 1px;
1340
+ overflow: hidden;
1341
+ white-space: nowrap;
1342
+ clip: rect(1px, 1px, 1px, 1px);
1343
+ margin-top: -3px;
1344
+ opacity: 0.01;
1345
+ }
1346
+
1347
+ :where([styled-mode]) .highcharts-a11y-invisible {
1348
+ visibility: hidden;
1349
+ }
1350
+
1351
+ :where([styled-mode]) .highcharts-a11y-proxy-container,
1352
+ :where([styled-mode]) .highcharts-a11y-proxy-container-before,
1353
+ :where([styled-mode]) .highcharts-a11y-proxy-container-after {
1354
+ position: absolute;
1355
+ white-space: nowrap;
1356
+ }
1357
+
1358
+ :where([styled-mode]) g.highcharts-series,
1359
+ :where([styled-mode]) .highcharts-markers,
1360
+ :where([styled-mode]) .highcharts-point {
1361
+ outline: none;
1174
1362
  }
1175
1363
 
1176
1364
  /* Gantt */
@@ -1184,19 +1372,15 @@ export const chartStyles = css`
1184
1372
  }
1185
1373
 
1186
1374
  :where([styled-mode]) .highcharts-grid-axis .highcharts-tick {
1375
+ stroke: var(--highcharts-neutral-color-20, var(--_grid-line));
1187
1376
  stroke-width: 1px;
1188
1377
  }
1189
1378
 
1190
1379
  :where([styled-mode]) .highcharts-grid-axis .highcharts-axis-line {
1380
+ stroke: var(--highcharts-neutral-color-20, var(--_grid-line));
1191
1381
  stroke-width: 1px;
1192
1382
  }
1193
1383
 
1194
- :where([styled-mode]) .highcharts-organization-series .highcharts-link {
1195
- stroke: var(--vaadin-charts-org-line, color-mix(in srgb, var(--_label) 50%, var(--_bg)));
1196
- stroke-width: var(--vaadin-charts-org-line-width, 1);
1197
- }
1198
-
1199
- /* Workaround for https://github.com/highcharts/highcharts/issues/22490 */
1200
1384
  :where([styled-mode]) .highcharts-gantt-series .highcharts-partfill-overlay {
1201
1385
  fill: hsla(0, 0%, 0%, 0.3);
1202
1386
  stroke: hsla(0, 0%, 0%, 0.3);
@@ -1215,10 +1399,4 @@ export const chartStyles = css`
1215
1399
  :host([dir='rtl']) :where([styled-mode]) .highcharts-menu {
1216
1400
  box-shadow: -3px 3px 10px #888;
1217
1401
  }
1218
-
1219
- /* https://github.com/highcharts/highcharts/issues/16282 */
1220
- /* without this the resize callback always calls __reflow */
1221
- ul[aria-hidden='false'] {
1222
- margin: 0;
1223
- }
1224
1402
  `;