@vaadin/charts 25.0.0-alpha8 → 25.0.0-alpha9

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/charts",
3
- "version": "25.0.0-alpha8",
3
+ "version": "25.0.0-alpha9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,6 +21,8 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
+ "!src/styles/*-base-styles.d.ts",
25
+ "!src/styles/*-base-styles.js",
24
26
  "theme",
25
27
  "vaadin-*.d.ts",
26
28
  "vaadin-*.js",
@@ -35,15 +37,15 @@
35
37
  ],
36
38
  "dependencies": {
37
39
  "@open-wc/dedupe-mixin": "^1.3.0",
38
- "@vaadin/component-base": "25.0.0-alpha8",
39
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha8",
40
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha8",
40
+ "@vaadin/component-base": "25.0.0-alpha9",
41
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha9",
42
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha9",
41
43
  "highcharts": "9.2.2",
42
44
  "lit": "^3.0.0"
43
45
  },
44
46
  "devDependencies": {
45
- "@vaadin/chai-plugins": "25.0.0-alpha8",
46
- "@vaadin/test-runner-commands": "25.0.0-alpha8",
47
+ "@vaadin/chai-plugins": "25.0.0-alpha9",
48
+ "@vaadin/test-runner-commands": "25.0.0-alpha9",
47
49
  "@vaadin/testing-helpers": "^2.0.0",
48
50
  "sinon": "^18.0.0"
49
51
  },
@@ -52,5 +54,5 @@
52
54
  "web-types.json",
53
55
  "web-types.lit.json"
54
56
  ],
55
- "gitHead": "ebf53673d5f639d2b1b6f2b31f640f530643ee2f"
57
+ "gitHead": "bbe4720721e0955ffc87a79b412bee38b1f0eb1e"
56
58
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
10
+ */
11
+ import type { CSSResult } from 'lit';
12
+
13
+ export const chartStyles: CSSResult;
@@ -0,0 +1,1224 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
10
+ */
11
+
12
+ /**
13
+ * @license Highcharts
14
+ *
15
+ * (c) 2009-2016 Torstein Honsi
16
+ *
17
+ * License: www.highcharts.com/license
18
+ */
19
+ import '@vaadin/component-base/src/style-props.js';
20
+ import { css, unsafeCSS } from 'lit';
21
+ import { addGlobalThemeStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js';
22
+
23
+ /* Tooltip styles, to support `"tooltip": { "outside": true }` config option */
24
+ // postcss-lit-disable-next-line
25
+ const tooltipStyles = (scope) => css`
26
+ ${unsafeCSS(scope)} .highcharts-tooltip {
27
+ cursor: default;
28
+ pointer-events: none;
29
+ white-space: nowrap;
30
+ transition: stroke 150ms;
31
+ filter: drop-shadow(var(--vaadin-charts-tooltip-shadow, 0 4px 8px rgba(0, 0, 0, 0.2))) !important;
32
+ }
33
+
34
+ ${unsafeCSS(scope)} .highcharts-tooltip text {
35
+ fill: var(--vaadin-charts-data-label, var(--vaadin-color));
36
+ }
37
+
38
+ ${unsafeCSS(scope)} .highcharts-tooltip .highcharts-header {
39
+ font-size: 0.85em;
40
+ color: var(--vaadin-color-subtle);
41
+ }
42
+
43
+ ${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);
48
+ }
49
+
50
+ ${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);
59
+ }
60
+
61
+ ${unsafeCSS(scope)} div.highcharts-tooltip {
62
+ filter: none;
63
+ }
64
+ `;
65
+
66
+ addGlobalThemeStyles(
67
+ 'vaadin-charts-tooltip',
68
+ css`
69
+ .highcharts-tooltip-container .highcharts-root {
70
+ overflow: visible;
71
+ font-size: var(--vaadin-charts-font-size, 0.75rem);
72
+ line-height: normal;
73
+ }
74
+ `,
75
+ tooltipStyles('.highcharts-tooltip-container'),
76
+ );
77
+
78
+ export const chartStyles = css`
79
+ :host {
80
+ display: block;
81
+ width: 100%;
82
+ overflow: hidden;
83
+ font-size: var(--vaadin-charts-font-size, 0.75rem);
84
+ line-height: normal;
85
+
86
+ /* Needs to be a color, not a background image */
87
+ --_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
+
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));
145
+ --_point-border: var(--vaadin-charts-point-border, var(--_bg));
146
+ --_axis-line: var(--vaadin-charts-axis-line, var(--vaadin-border-color));
147
+ --_axis-title: var(--vaadin-charts-axis-title, var(--_secondary-label));
148
+ --_axis-label: var(--vaadin-charts-axis-label, var(--_secondary-label));
149
+ --_grid-line: var(--vaadin-charts-grid-line, var(--vaadin-border-color));
150
+ --_minor-grid-line: var(
151
+ --vaadin-charts-minor-grid-line,
152
+ color-mix(in srgb, var(--vaadin-border-color) 60%, transparent)
153
+ );
154
+ --_data-label: var(--vaadin-charts-data-label, var(--_label));
155
+ }
156
+
157
+ /* Safari 17 doesn't support relative colors from light-dark() */
158
+ @supports not (color: oklch(from light-dark(red, red) l c h)) {
159
+ :host {
160
+ /* Safari 17 wants degrees instead of raw numbers */
161
+ --_hue-scale: 180deg;
162
+ }
163
+ }
164
+
165
+ :host([hidden]) {
166
+ display: none !important;
167
+ }
168
+
169
+ .highcharts-container {
170
+ position: relative;
171
+ overflow: hidden;
172
+ width: 100%;
173
+ height: 100%;
174
+ text-align: left;
175
+ z-index: 0;
176
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
177
+ }
178
+
179
+ :where([styled-mode]) .highcharts-root {
180
+ display: block;
181
+ }
182
+
183
+ :where([styled-mode]) .highcharts-root text {
184
+ stroke-width: 0;
185
+ }
186
+
187
+ :where([styled-mode]) .highcharts-strong {
188
+ font-weight: 600;
189
+ }
190
+
191
+ :where([styled-mode]) .highcharts-emphasized {
192
+ font-style: italic;
193
+ }
194
+
195
+ :where([styled-mode]) .highcharts-anchor {
196
+ cursor: pointer;
197
+ }
198
+
199
+ :where([styled-mode]) .highcharts-background {
200
+ fill: var(--_bg);
201
+ }
202
+
203
+ :where([styled-mode]) .highcharts-plot-border,
204
+ :where([styled-mode]) .highcharts-plot-background {
205
+ fill: none;
206
+ }
207
+
208
+ :where([styled-mode]) .highcharts-label-box {
209
+ fill: none;
210
+ }
211
+
212
+ :where([styled-mode]) .highcharts-button-box {
213
+ fill: inherit;
214
+ rx: var(--vaadin-charts-button-border-radius, var(--vaadin-radius-m));
215
+ ry: var(--vaadin-charts-button-border-radius, var(--vaadin-radius-m));
216
+ }
217
+
218
+ :where([styled-mode]) .highcharts-tracker-line {
219
+ stroke-linejoin: round;
220
+ stroke: rgba(192, 192, 192, 0.0001);
221
+ stroke-width: 22;
222
+ fill: none;
223
+ }
224
+
225
+ :where([styled-mode]) .highcharts-tracker-area {
226
+ fill: rgba(192, 192, 192, 0.0001);
227
+ stroke-width: 0;
228
+ }
229
+
230
+ /* Titles */
231
+ :where([styled-mode]) .highcharts-title {
232
+ fill: var(--vaadin-charts-title-label, var(--_label));
233
+ font-size: 1.5em;
234
+ font-weight: 600;
235
+ }
236
+
237
+ :where([styled-mode]) .highcharts-subtitle {
238
+ fill: var(--_secondary-label);
239
+ }
240
+
241
+ /* Axes */
242
+ :where([styled-mode]) .highcharts-axis-line {
243
+ fill: none;
244
+ stroke: var(--_axis-line);
245
+ }
246
+
247
+ :where([styled-mode]) .highcharts-yaxis .highcharts-axis-line {
248
+ stroke-width: 0;
249
+ }
250
+
251
+ :where([styled-mode]) .highcharts-axis-title {
252
+ fill: var(--_axis-title);
253
+ }
254
+
255
+ :where([styled-mode]) .highcharts-axis-labels {
256
+ fill: var(--_axis-label);
257
+ cursor: default;
258
+ font-size: 0.9em;
259
+ }
260
+
261
+ :where([styled-mode]) .highcharts-grid-line {
262
+ fill: none;
263
+ stroke: var(--_grid-line);
264
+ }
265
+
266
+ :where([styled-mode]) .highcharts-xaxis-grid .highcharts-grid-line {
267
+ stroke-width: var(--vaadin-charts-xaxis-line-width, 0);
268
+ }
269
+
270
+ :where([styled-mode]) .highcharts-tick {
271
+ stroke: var(--_grid-line);
272
+ }
273
+
274
+ :where([styled-mode]) .highcharts-yaxis .highcharts-tick {
275
+ stroke-width: 0;
276
+ }
277
+
278
+ :where([styled-mode]) .highcharts-minor-grid-line {
279
+ stroke: var(--_minor-grid-line);
280
+ }
281
+
282
+ :where([styled-mode]) .highcharts-crosshair-thin {
283
+ stroke-width: 1px;
284
+ stroke: var(--_grid-line);
285
+ }
286
+
287
+ :where([styled-mode]) .highcharts-crosshair-category {
288
+ stroke: var(--_accent-0);
289
+ stroke-opacity: 0.25;
290
+ }
291
+
292
+ /* Credits */
293
+ :where([styled-mode]) .highcharts-credits {
294
+ cursor: pointer;
295
+ fill: var(--_disabled-label);
296
+ font-size: 0.7em;
297
+ transition:
298
+ fill 250ms,
299
+ font-size 250ms;
300
+ }
301
+
302
+ :where([styled-mode]) .highcharts-credits:hover {
303
+ fill: black;
304
+ font-size: 1em;
305
+ }
306
+
307
+ /* Tooltip */
308
+ ${unsafeCSS(tooltipStyles(':where([styled-mode])'))};
309
+
310
+ :where([styled-mode]) .highcharts-selection-marker {
311
+ fill: var(--_accent-0);
312
+ fill-opacity: 0.25;
313
+ }
314
+
315
+ :where([styled-mode]) .highcharts-graph {
316
+ fill: none;
317
+ stroke-width: var(--vaadin-chart-graph-stroke-width, 2);
318
+ stroke-linecap: round;
319
+ stroke-linejoin: round;
320
+ }
321
+
322
+ :where([styled-mode]) .highcharts-state-hover .highcharts-graph {
323
+ stroke-width: calc(var(--vaadin-chart-graph-stroke-width, 2) + 1);
324
+ }
325
+
326
+ :where([styled-mode]) .highcharts-point-inactive {
327
+ opacity: 0.2;
328
+ transition: opacity 50ms;
329
+ /* quick in */
330
+ }
331
+
332
+ :where([styled-mode]) .highcharts-series-inactive {
333
+ opacity: 0.2;
334
+ transition: opacity 50ms;
335
+ /* quick in */
336
+ }
337
+
338
+ :where([styled-mode]) .highcharts-state-hover path {
339
+ transition: stroke-width 50ms;
340
+ /* quick in */
341
+ }
342
+
343
+ :where([styled-mode]) .highcharts-state-normal path {
344
+ transition: stroke-width 250ms;
345
+ /* slow out */
346
+ }
347
+
348
+ /* Legend hover affects points and series */
349
+ :where([styled-mode]) g.highcharts-series,
350
+ :where([styled-mode]) .highcharts-point,
351
+ :where([styled-mode]) .highcharts-markers,
352
+ :where([styled-mode]) .highcharts-data-labels {
353
+ transition: opacity 250ms;
354
+ }
355
+
356
+ :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),
358
+ :where([styled-mode]) .highcharts-legend-series-active .highcharts-markers:not(.highcharts-series-hover),
359
+ :where([styled-mode]) .highcharts-legend-series-active .highcharts-data-labels:not(.highcharts-series-hover) {
360
+ opacity: 0.2;
361
+ }
362
+
363
+ /* Series options */
364
+ /* Default colors */
365
+ /* vaadin-charts custom properties */
366
+ /* Use of :where() function to avoid setting classes with high specificity */
367
+ :where([styled-mode]) .highcharts-color-0 {
368
+ fill: var(--_accent-0);
369
+ stroke: var(--_accent-0);
370
+ color: var(--_accent-0-label);
371
+ }
372
+
373
+ :where([styled-mode]) .highcharts-color-1 {
374
+ fill: var(--_accent-1);
375
+ stroke: var(--_accent-1);
376
+ color: var(--_accent-1-label);
377
+ }
378
+
379
+ :where([styled-mode]) .highcharts-color-2 {
380
+ fill: var(--_accent-2);
381
+ stroke: var(--_accent-2);
382
+ color: var(--_accent-2-label);
383
+ }
384
+
385
+ :where([styled-mode]) .highcharts-color-3 {
386
+ fill: var(--_accent-3);
387
+ stroke: var(--_accent-3);
388
+ color: var(--_accent-2-label);
389
+ }
390
+
391
+ :where([styled-mode]) .highcharts-color-4 {
392
+ fill: var(--_accent-4);
393
+ stroke: var(--_accent-4);
394
+ color: var(--_accent-4-label);
395
+ }
396
+
397
+ :where([styled-mode]) .highcharts-color-5 {
398
+ fill: var(--_accent-5);
399
+ stroke: var(--_accent-5);
400
+ color: var(--_accent-5-label);
401
+ }
402
+
403
+ :where([styled-mode]) .highcharts-color-6 {
404
+ fill: var(--_accent-6);
405
+ stroke: var(--_accent-6);
406
+ color: var(--_accent-6-label);
407
+ }
408
+
409
+ :where([styled-mode]) .highcharts-color-7 {
410
+ fill: var(--_accent-7);
411
+ stroke: var(--_accent-7);
412
+ color: var(--_accent-7-label);
413
+ }
414
+
415
+ :where([styled-mode]) .highcharts-color-8 {
416
+ fill: var(--_accent-8);
417
+ stroke: var(--_accent-8);
418
+ color: var(--_accent-8-label);
419
+ }
420
+
421
+ :where([styled-mode]) .highcharts-color-9 {
422
+ fill: var(--_accent-9);
423
+ stroke: var(--_accent-9);
424
+ color: var(--_accent-9-label);
425
+ }
426
+
427
+ :where([styled-mode]) .highcharts-data-label-color-0 {
428
+ color: var(--_accent-0-label);
429
+ }
430
+
431
+ :where([styled-mode]) .highcharts-data-label-color-1 {
432
+ color: var(--_accent-1-label);
433
+ }
434
+
435
+ :where([styled-mode]) .highcharts-data-label-color-2 {
436
+ color: var(--_accent-2-label);
437
+ }
438
+
439
+ :where([styled-mode]) .highcharts-data-label-color-3 {
440
+ color: var(--_accent-3-label);
441
+ }
442
+
443
+ :where([styled-mode]) .highcharts-data-label-color-4 {
444
+ color: var(--_accent-4-label);
445
+ }
446
+
447
+ :where([styled-mode]) .highcharts-data-label-color-5 {
448
+ color: var(--_accent-5-label);
449
+ }
450
+
451
+ :where([styled-mode]) .highcharts-data-label-color-6 {
452
+ color: var(--_accent-6-label);
453
+ }
454
+
455
+ :where([styled-mode]) .highcharts-data-label-color-7 {
456
+ color: var(--_accent-7-label);
457
+ }
458
+
459
+ :where([styled-mode]) .highcharts-data-label-color-8 {
460
+ color: var(--_accent-8-label);
461
+ }
462
+
463
+ :where([styled-mode]) .highcharts-data-label-color-9 {
464
+ color: var(--_accent-9-label);
465
+ }
466
+
467
+ :where([styled-mode]) [class*='highcharts-data-label-color-'] {
468
+ fill: currentColor;
469
+ }
470
+
471
+ /* end of vaadin-charts custom properties */
472
+
473
+ :where([styled-mode]) .highcharts-area {
474
+ fill-opacity: 0.5;
475
+ stroke-width: 0;
476
+ }
477
+
478
+ :where([styled-mode]) .highcharts-markers {
479
+ stroke-width: 1px;
480
+ stroke: var(--_bg);
481
+ }
482
+
483
+ :where([styled-mode])
484
+ .highcharts-a11y-markers-hidden
485
+ .highcharts-point:not(.highcharts-point-hover):not(.highcharts-a11y-marker-visible),
486
+ :where([styled-mode]) .highcharts-a11y-marker-hidden {
487
+ opacity: 0;
488
+ }
489
+
490
+ :where([styled-mode]) .highcharts-point {
491
+ stroke-width: 1px;
492
+ }
493
+
494
+ :where([styled-mode]) .highcharts-dense-data .highcharts-point {
495
+ stroke-width: 0;
496
+ }
497
+
498
+ :where([styled-mode]) .highcharts-data-label {
499
+ font-size: 0.9em;
500
+ font-weight: normal;
501
+ }
502
+
503
+ :where([styled-mode]) .highcharts-data-label-box {
504
+ fill: none;
505
+ stroke-width: 0;
506
+ }
507
+
508
+ :where([styled-mode]) .highcharts-data-label text,
509
+ :where([styled-mode]) text.highcharts-data-label {
510
+ fill: var(--_data-label);
511
+ }
512
+
513
+ :where([styled-mode]) .highcharts-data-label-connector {
514
+ fill: none;
515
+ }
516
+
517
+ :where([styled-mode]) .highcharts-data-label-hidden {
518
+ pointer-events: none;
519
+ }
520
+
521
+ :where([styled-mode]) .highcharts-halo {
522
+ fill-opacity: 0.25;
523
+ stroke-width: 0;
524
+ }
525
+
526
+ :where([styled-mode]) .highcharts-series:not(.highcharts-pie-series) .highcharts-point-select,
527
+ :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));
531
+ }
532
+
533
+ :where([styled-mode]) .highcharts-column-series rect.highcharts-point {
534
+ stroke: var(--_point-border);
535
+ }
536
+
537
+ :where([styled-mode]) .highcharts-column-series .highcharts-point {
538
+ transition: fill-opacity 250ms;
539
+ }
540
+
541
+ :where([styled-mode]) .highcharts-column-series .highcharts-point-hover {
542
+ fill-opacity: 0.75;
543
+ transition: fill-opacity 50ms;
544
+ }
545
+
546
+ :where([styled-mode]) .highcharts-pie-series .highcharts-point {
547
+ stroke-linejoin: round;
548
+ stroke: var(--_point-border);
549
+ }
550
+
551
+ :where([styled-mode]) .highcharts-pie-series .highcharts-point-hover {
552
+ fill-opacity: 0.75;
553
+ transition: fill-opacity 50ms;
554
+ }
555
+
556
+ :where([styled-mode]) .highcharts-funnel-series .highcharts-point {
557
+ stroke-linejoin: round;
558
+ stroke: var(--_point-border);
559
+ stroke-width: 2px;
560
+ }
561
+
562
+ :where([styled-mode]) .highcharts-funnel-series .highcharts-point-hover {
563
+ fill-opacity: 0.75;
564
+ transition: fill-opacity 50ms;
565
+ }
566
+
567
+ :where([styled-mode]) .highcharts-funnel-series .highcharts-point-select {
568
+ fill: inherit;
569
+ stroke: inherit;
570
+ }
571
+
572
+ :where([styled-mode]) .highcharts-pyramid-series .highcharts-point {
573
+ stroke-linejoin: round;
574
+ stroke: var(--_point-border);
575
+ stroke-width: 2px;
576
+ }
577
+
578
+ :where([styled-mode]) .highcharts-pyramid-series .highcharts-point-hover {
579
+ fill-opacity: 0.75;
580
+ transition: fill-opacity 50ms;
581
+ }
582
+
583
+ :where([styled-mode]) .highcharts-pyramid-series .highcharts-point-select {
584
+ fill: inherit;
585
+ stroke: inherit;
586
+ }
587
+
588
+ :where([styled-mode]) .highcharts-solidgauge-series .highcharts-point {
589
+ stroke-width: 0;
590
+ }
591
+
592
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-point {
593
+ stroke-width: 2px;
594
+ stroke: var(--_point-border);
595
+ transition:
596
+ stroke 250ms,
597
+ fill 250ms,
598
+ fill-opacity 250ms;
599
+ }
600
+
601
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-point-hover {
602
+ stroke-width: 0;
603
+ stroke: var(--_point-border);
604
+ fill-opacity: 0.75;
605
+ transition:
606
+ stroke 25ms,
607
+ fill 25ms,
608
+ fill-opacity 25ms;
609
+ }
610
+
611
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-above-level {
612
+ display: none;
613
+ }
614
+
615
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-internal-node {
616
+ fill: none;
617
+ }
618
+
619
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-internal-node-interactive {
620
+ fill-opacity: 0.15;
621
+ cursor: pointer;
622
+ }
623
+
624
+ :where([styled-mode]) .highcharts-treemap-series .highcharts-internal-node-interactive:hover {
625
+ fill-opacity: 0.75;
626
+ }
627
+
628
+ :where([styled-mode]) .highcharts-treemap-series [class*='highcharts-data-label-color-'] text {
629
+ fill: inherit;
630
+ }
631
+
632
+ :where([styled-mode]) .highcharts-vector-series .highcharts-point {
633
+ fill: none;
634
+ stroke-width: 2px;
635
+ }
636
+
637
+ :where([styled-mode]) .highcharts-windbarb-series .highcharts-point {
638
+ fill: none;
639
+ stroke-width: 2px;
640
+ }
641
+
642
+ :where([styled-mode]) .highcharts-lollipop-stem {
643
+ /* TODO where is this used? */
644
+ stroke: var(--vaadin-charts-contrast, var(--_label));
645
+ }
646
+
647
+ :where([styled-mode]) .highcharts-focus-border {
648
+ fill: none;
649
+ stroke-width: 2px;
650
+ }
651
+
652
+ :where([styled-mode]) .highcharts-legend-item-hidden .highcharts-focus-border {
653
+ fill: none !important;
654
+ }
655
+
656
+ /* Legend */
657
+ :where([styled-mode]) .highcharts-legend-box {
658
+ fill: none;
659
+ stroke-width: 0;
660
+ }
661
+
662
+ :where([styled-mode]) .highcharts-legend-item > text {
663
+ fill: var(--_data-label);
664
+ font-weight: normal;
665
+ font-size: 1em;
666
+ cursor: pointer;
667
+ stroke-width: 0;
668
+ }
669
+
670
+ :where([styled-mode]) .highcharts-legend-item > .highcharts-point {
671
+ stroke-width: 0;
672
+ }
673
+
674
+ :where([styled-mode]) .highcharts-legend-item:hover text {
675
+ fill: var(--vaadin-charts-title-label, var(--_label));
676
+ }
677
+
678
+ :where([styled-mode]) .highcharts-legend-item-hidden * {
679
+ fill: var(--_disabled-label) !important;
680
+ stroke: var(--_disabled-label) !important;
681
+ transition: fill 250ms;
682
+ }
683
+
684
+ :where([styled-mode]) .highcharts-legend-nav-active {
685
+ fill: var(--vaadin-charts-button-label, var(--_label));
686
+ cursor: pointer;
687
+ }
688
+
689
+ :where([styled-mode]) .highcharts-legend-nav-inactive {
690
+ fill: var(--_disabled-label);
691
+ }
692
+
693
+ :where([styled-mode]) circle.highcharts-legend-nav-active,
694
+ :where([styled-mode]) circle.highcharts-legend-nav-inactive {
695
+ /* tracker */
696
+ fill: rgba(192, 192, 192, 0.0001);
697
+ }
698
+
699
+ :where([styled-mode]) .highcharts-legend-title-box {
700
+ fill: none;
701
+ stroke-width: 0;
702
+ }
703
+
704
+ /* Bubble legend */
705
+ :where([styled-mode]) .highcharts-bubble-legend-symbol {
706
+ stroke-width: 2;
707
+ fill-opacity: 0.5;
708
+ }
709
+
710
+ :where([styled-mode]) .highcharts-bubble-legend-connectors {
711
+ stroke-width: 1;
712
+ }
713
+
714
+ :where([styled-mode]) .highcharts-bubble-legend-labels {
715
+ fill: var(--_data-label);
716
+ }
717
+
718
+ /* Loading */
719
+ :where([styled-mode]) .highcharts-loading {
720
+ position: absolute;
721
+ background-color: var(--_bg);
722
+ opacity: 0.5;
723
+ text-align: center;
724
+ z-index: 10;
725
+ transition: opacity 250ms;
726
+ }
727
+
728
+ :where([styled-mode]) .highcharts-loading-hidden {
729
+ height: 0 !important;
730
+ opacity: 0;
731
+ overflow: hidden;
732
+ transition:
733
+ opacity 250ms,
734
+ height 250ms step-end;
735
+ }
736
+
737
+ :where([styled-mode]) .highcharts-loading-inner {
738
+ font-weight: normal;
739
+ position: relative;
740
+ top: 45%;
741
+ }
742
+
743
+ /* Plot bands and polar pane backgrounds */
744
+ :where([styled-mode]) .highcharts-plot-band,
745
+ :where([styled-mode]) .highcharts-pane {
746
+ fill: var(--vaadin-charts-contrast, var(--_label));
747
+ fill-opacity: 0.05;
748
+ }
749
+
750
+ :where([styled-mode]) .highcharts-plot-line {
751
+ fill: none;
752
+ /* TODO where is this used? */
753
+ stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
754
+ stroke-width: 1px;
755
+ }
756
+
757
+ :where([styled-mode]) .highcharts-plot-line-label {
758
+ fill: var(--_data-label);
759
+ }
760
+
761
+ /* Highcharts More and modules */
762
+ :where([styled-mode]) .highcharts-boxplot-box {
763
+ fill: var(--_bg);
764
+ }
765
+
766
+ :where([styled-mode]) .highcharts-boxplot-median {
767
+ stroke-width: 2px;
768
+ }
769
+
770
+ :where([styled-mode]) .highcharts-bubble-series .highcharts-point {
771
+ fill-opacity: 0.5;
772
+ }
773
+
774
+ :where([styled-mode]) .highcharts-errorbar-series .highcharts-point {
775
+ stroke: var(--vaadin-charts-contrast, var(--_label));
776
+ }
777
+
778
+ :where([styled-mode]) .highcharts-gauge-series .highcharts-data-label-box {
779
+ stroke: var(--_grid-line);
780
+ stroke-width: 1px;
781
+ }
782
+
783
+ :where([styled-mode]) .highcharts-gauge-series .highcharts-dial {
784
+ fill: var(--vaadin-charts-contrast, var(--_label));
785
+ stroke-width: 0;
786
+ }
787
+
788
+ :where([styled-mode]) .highcharts-polygon-series .highcharts-graph {
789
+ fill: inherit;
790
+ stroke-width: 0;
791
+ }
792
+
793
+ :where([styled-mode]) .highcharts-waterfall-series .highcharts-graph {
794
+ stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
795
+ stroke-dasharray: 1, 3;
796
+ }
797
+
798
+ :where([styled-mode]) .highcharts-sankey-series .highcharts-point {
799
+ stroke-width: 0;
800
+ }
801
+
802
+ :where([styled-mode]) .highcharts-sankey-series .highcharts-link {
803
+ transition:
804
+ fill 250ms,
805
+ fill-opacity 250ms;
806
+ fill-opacity: 0.5;
807
+ }
808
+
809
+ :where([styled-mode]) .highcharts-sankey-series .highcharts-point-hover.highcharts-link {
810
+ transition:
811
+ fill 50ms,
812
+ fill-opacity 50ms;
813
+ fill-opacity: 1;
814
+ }
815
+
816
+ :where([styled-mode]) .highcharts-venn-series .highcharts-point {
817
+ fill-opacity: 0.75;
818
+ stroke: var(--_point-border);
819
+ transition:
820
+ stroke 250ms,
821
+ fill-opacity 250ms;
822
+ }
823
+
824
+ :where([styled-mode]) .highcharts-venn-series .highcharts-point-hover {
825
+ fill-opacity: 1;
826
+ stroke: var(--_point-border);
827
+ }
828
+
829
+ /* Highstock */
830
+ :where([styled-mode]) .highcharts-navigator-mask-outside {
831
+ fill-opacity: 0;
832
+ }
833
+
834
+ :where([styled-mode]) .highcharts-navigator-mask-inside {
835
+ fill: var(--_accent-0);
836
+ /* navigator.maskFill option */
837
+ fill-opacity: 0.2;
838
+ cursor: ew-resize;
839
+ }
840
+
841
+ :where([styled-mode]) .highcharts-navigator-outline {
842
+ stroke: var(--_grid-line);
843
+ fill: none;
844
+ }
845
+
846
+ :where([styled-mode]) .highcharts-navigator-handle {
847
+ stroke: var(--_grid-line);
848
+ fill: var(--_bg);
849
+ cursor: ew-resize;
850
+ }
851
+
852
+ :where([styled-mode]) .highcharts-navigator-series {
853
+ fill: var(--_accent-1);
854
+ stroke: var(--_accent-1);
855
+ }
856
+
857
+ :where([styled-mode]) .highcharts-navigator-series .highcharts-graph {
858
+ stroke-width: 1px;
859
+ }
860
+
861
+ :where([styled-mode]) .highcharts-navigator-series .highcharts-area {
862
+ fill-opacity: 0.05;
863
+ }
864
+
865
+ :where([styled-mode]) .highcharts-navigator-xaxis .highcharts-axis-line {
866
+ stroke-width: 0;
867
+ }
868
+
869
+ :where([styled-mode]) .highcharts-navigator-xaxis .highcharts-grid-line {
870
+ stroke-width: 1px;
871
+ stroke: var(--_grid-line);
872
+ }
873
+
874
+ :where([styled-mode]) .highcharts-navigator-xaxis.highcharts-axis-labels {
875
+ fill: var(--_secondary-label);
876
+ }
877
+
878
+ :where([styled-mode]) .highcharts-navigator-yaxis .highcharts-grid-line {
879
+ stroke-width: 0;
880
+ }
881
+
882
+ :where([styled-mode]) .highcharts-scrollbar-thumb {
883
+ fill: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent);
884
+ }
885
+
886
+ :where([styled-mode]) .highcharts-scrollbar-button {
887
+ fill: var(--_bg);
888
+ }
889
+
890
+ :where([styled-mode]) .highcharts-scrollbar-arrow {
891
+ fill: var(--_data-label);
892
+ }
893
+
894
+ :where([styled-mode]) .highcharts-scrollbar-rifles {
895
+ stroke: var(--_data-label);
896
+ stroke-width: 1px;
897
+ }
898
+
899
+ :where([styled-mode]) .highcharts-scrollbar-track {
900
+ fill: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 5%, transparent);
901
+ }
902
+
903
+ :where([styled-mode]) .highcharts-button {
904
+ fill: var(--vaadin-charts-button-background, var(--vaadin-background-container));
905
+ cursor: default;
906
+ transition: fill 250ms;
907
+ }
908
+
909
+ :where([styled-mode]) .highcharts-button text {
910
+ fill: var(--vaadin-charts-button-label, var(--_label));
911
+ font-weight: 600;
912
+ }
913
+
914
+ :where([styled-mode]) .highcharts-button-hover {
915
+ transition: fill 0ms;
916
+ fill: var(--vaadin-charts-button-hover-background, var(--vaadin-background-container));
917
+ stroke-width: 0;
918
+ }
919
+
920
+ :where([styled-mode]) .highcharts-button-hover text {
921
+ fill: var(--vaadin-charts-button-label, var(--_label));
922
+ }
923
+
924
+ :where([styled-mode]) .highcharts-button-pressed {
925
+ fill: var(--vaadin-charts-button-active-background, var(--_label));
926
+ }
927
+
928
+ :where([styled-mode]) .highcharts-button-pressed text {
929
+ fill: var(--vaadin-charts-button-active-label, var(--_bg));
930
+ }
931
+
932
+ :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);
938
+ }
939
+
940
+ :where([styled-mode]) .highcharts-range-selector-buttons .highcharts-button {
941
+ stroke-width: 0;
942
+ }
943
+
944
+ :where([styled-mode]) .highcharts-range-label rect {
945
+ fill: none;
946
+ }
947
+
948
+ :where([styled-mode]) .highcharts-range-label text {
949
+ fill: var(--_secondary-label);
950
+ }
951
+
952
+ :where([styled-mode]) .highcharts-range-input rect {
953
+ fill: var(--vaadin-charts-range-input-background, var(--vaadin-background-container));
954
+ rx: var(--vaadin-charts-button-border-radius, var(--vaadin-radius-m));
955
+ ry: var(--vaadin-charts-button-border-radius, var(--vaadin-radius-m));
956
+ transition: fill 250ms;
957
+ }
958
+
959
+ :where([styled-mode]) .highcharts-range-input:hover rect {
960
+ fill: var(--vaadin-charts-range-input-background-hover, var(--vaadin-background-container));
961
+ }
962
+
963
+ :where([styled-mode]) .highcharts-range-input text {
964
+ fill: var(--_data-label);
965
+ }
966
+
967
+ :where([styled-mode]) input.highcharts-range-selector {
968
+ position: absolute;
969
+ border: 0;
970
+ width: 1px;
971
+ /* Chrome needs a pixel to see it */
972
+ height: 1px;
973
+ padding: 0;
974
+ text-align: center;
975
+ left: -9em;
976
+ /* #4798 */
977
+ }
978
+
979
+ :where([styled-mode]) .highcharts-crosshair-label text {
980
+ fill: var(--_bg);
981
+ font-size: 1.1em;
982
+ }
983
+
984
+ :where([styled-mode]) .highcharts-crosshair-label .highcharts-label-box {
985
+ fill: inherit;
986
+ }
987
+
988
+ :where([styled-mode]) .highcharts-candlestick-series .highcharts-point {
989
+ stroke: var(--vaadin-charts-candlestick-line, var(--vaadin-border-color-strong));
990
+ stroke-width: 1px;
991
+ }
992
+
993
+ :where([styled-mode]) .highcharts-candlestick-series .highcharts-point-up {
994
+ fill: var(--_accent-positive);
995
+ }
996
+
997
+ :where([styled-mode]) .highcharts-candlestick-series .highcharts-point-down {
998
+ fill: var(--_accent-negative);
999
+ }
1000
+
1001
+ :where([styled-mode]) .highcharts-ohlc-series .highcharts-point-hover {
1002
+ stroke-width: 3px;
1003
+ }
1004
+
1005
+ :where([styled-mode]) .highcharts-flags-series .highcharts-point .highcharts-label-box {
1006
+ stroke: var(--_grid-line);
1007
+ fill: var(--_bg);
1008
+ transition: fill 250ms;
1009
+ }
1010
+
1011
+ :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);
1014
+ }
1015
+
1016
+ :where([styled-mode]) .highcharts-flags-series .highcharts-point text {
1017
+ fill: var(--_data-label);
1018
+ 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));
1024
+ }
1025
+
1026
+ /* Highmaps */
1027
+ :where([styled-mode]) .highcharts-map-series .highcharts-point {
1028
+ transition:
1029
+ fill 500ms,
1030
+ fill-opacity 500ms,
1031
+ stroke-width 250ms;
1032
+ stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent);
1033
+ }
1034
+
1035
+ :where([styled-mode]) .highcharts-map-series .highcharts-point-hover {
1036
+ transition:
1037
+ fill 0ms,
1038
+ fill-opacity 0ms;
1039
+ fill-opacity: 0.5;
1040
+ stroke-width: 2px;
1041
+ }
1042
+
1043
+ :where([styled-mode]) .highcharts-mapline-series .highcharts-point {
1044
+ fill: none;
1045
+ }
1046
+
1047
+ :where([styled-mode]) .highcharts-heatmap-series .highcharts-point {
1048
+ stroke-width: 0;
1049
+ }
1050
+
1051
+ :where([styled-mode]) .highcharts-map-navigation {
1052
+ font-size: 1.3em;
1053
+ font-weight: normal;
1054
+ text-align: center;
1055
+ }
1056
+
1057
+ :where([styled-mode]) .highcharts-coloraxis {
1058
+ stroke-width: 0;
1059
+ }
1060
+
1061
+ :where([styled-mode]) .highcharts-coloraxis-grid .highcharts-grid-line {
1062
+ stroke: var(--_bg);
1063
+ }
1064
+
1065
+ :where([styled-mode]) .highcharts-coloraxis-marker {
1066
+ fill: var(--_axis-label);
1067
+ stroke-width: 0;
1068
+ }
1069
+
1070
+ :where([styled-mode]) .highcharts-null-point {
1071
+ fill: transparent;
1072
+ stroke: var(--vaadin-border-color);
1073
+ }
1074
+
1075
+ /* 3d charts */
1076
+ :where([styled-mode]) .highcharts-3d-frame {
1077
+ fill: transparent;
1078
+ }
1079
+
1080
+ /* Exporting module */
1081
+ :where([styled-mode]) .highcharts-contextbutton {
1082
+ fill: #fff;
1083
+ /* needed to capture hover */
1084
+ stroke: none;
1085
+ stroke-linecap: round;
1086
+ }
1087
+
1088
+ :where([styled-mode]) .highcharts-contextbutton:hover {
1089
+ fill: #e6e6e6;
1090
+ stroke: #e6e6e6;
1091
+ }
1092
+
1093
+ :where([styled-mode]) .highcharts-button-symbol {
1094
+ stroke: var(--_secondary-label);
1095
+ stroke-width: 3px;
1096
+ }
1097
+
1098
+ :where([styled-mode]) .highcharts-menu {
1099
+ border: 1px solid #999;
1100
+ background: #fff;
1101
+ padding: 5px 0;
1102
+ box-shadow: 3px 3px 10px #888;
1103
+ }
1104
+
1105
+ :where([styled-mode]) .highcharts-menu-item {
1106
+ padding: 0.5em 1em;
1107
+ background: none;
1108
+ color: var(--vaadin-charts-button-label, var(--_label));
1109
+ cursor: pointer;
1110
+ transition:
1111
+ background 250ms,
1112
+ color 250ms;
1113
+ }
1114
+
1115
+ :where([styled-mode]) .highcharts-menu-item:hover {
1116
+ background: #335cad;
1117
+ color: #fff;
1118
+ }
1119
+
1120
+ /* Drilldown module */
1121
+ :where([styled-mode]) .highcharts-drilldown-point {
1122
+ cursor: pointer;
1123
+ }
1124
+
1125
+ :where([styled-mode]) .highcharts-drilldown-data-label text,
1126
+ :where([styled-mode]) text.highcharts-drilldown-data-label,
1127
+ :where([styled-mode]) .highcharts-drilldown-axis-label {
1128
+ cursor: pointer;
1129
+ fill: var(--vaadin-charts-button-label, var(--_label));
1130
+ font-weight: normal;
1131
+ text-decoration: underline;
1132
+ }
1133
+
1134
+ /* No-data module */
1135
+ :where([styled-mode]) .highcharts-no-data text {
1136
+ font-weight: normal;
1137
+ font-size: 1rem;
1138
+ fill: var(--_secondary-label);
1139
+ }
1140
+
1141
+ /* Drag-panes module */
1142
+ :where([styled-mode]) .highcharts-axis-resizer {
1143
+ cursor: ns-resize;
1144
+ stroke: black;
1145
+ stroke-width: 2px;
1146
+ }
1147
+
1148
+ /* Bullet type series */
1149
+ :where([styled-mode]) .highcharts-bullet-target {
1150
+ stroke-width: 0;
1151
+ }
1152
+
1153
+ /* Lineargauge type series */
1154
+ :where([styled-mode]) .highcharts-lineargauge-target {
1155
+ stroke-width: 1px;
1156
+ stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
1157
+ }
1158
+
1159
+ :where([styled-mode]) .highcharts-lineargauge-target-line {
1160
+ stroke-width: 1px;
1161
+ stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 60%, transparent);
1162
+ }
1163
+
1164
+ /* Annotations module */
1165
+ :where([styled-mode]) .highcharts-annotation-label-box {
1166
+ stroke-width: 1px;
1167
+ stroke: var(--vaadin-charts-contrast, var(--_label));
1168
+ fill: var(--vaadin-charts-contrast, var(--_label));
1169
+ fill-opacity: 0.75;
1170
+ }
1171
+
1172
+ :where([styled-mode]) .highcharts-annotation-label text {
1173
+ fill: var(--_disabled-label);
1174
+ }
1175
+
1176
+ /* Gantt */
1177
+ :where([styled-mode]) .highcharts-treegrid-node-collapsed,
1178
+ :where([styled-mode]) .highcharts-treegrid-node-expanded {
1179
+ cursor: pointer;
1180
+ }
1181
+
1182
+ :where([styled-mode]) .highcharts-point-connecting-path {
1183
+ fill: none;
1184
+ }
1185
+
1186
+ :where([styled-mode]) .highcharts-grid-axis .highcharts-tick {
1187
+ stroke-width: 1px;
1188
+ }
1189
+
1190
+ :where([styled-mode]) .highcharts-grid-axis .highcharts-axis-line {
1191
+ stroke-width: 1px;
1192
+ }
1193
+
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
+ :where([styled-mode]) .highcharts-gantt-series .highcharts-partfill-overlay {
1201
+ fill: hsla(0, 0%, 0%, 0.3);
1202
+ stroke: hsla(0, 0%, 0%, 0.3);
1203
+ }
1204
+
1205
+ /* RTL styles */
1206
+ :host([dir='rtl']) :where([styled-mode]) .highcharts-container {
1207
+ text-align: right;
1208
+ }
1209
+
1210
+ :host([dir='rtl']) :where([styled-mode]) input.highcharts-range-selector {
1211
+ left: auto;
1212
+ right: -9em;
1213
+ }
1214
+
1215
+ :host([dir='rtl']) :where([styled-mode]) .highcharts-menu {
1216
+ box-shadow: -3px 3px 10px #888;
1217
+ }
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
+ `;
@@ -132,11 +132,6 @@ export * from './vaadin-chart-mixin.js';
132
132
  *
133
133
  * For example `--vaadin-charts-color-0` sets the color of the first series on a chart.
134
134
  *
135
- * ### Validating your License
136
- *
137
- * When using Vaadin Charts in a development environment, you will see a pop-up that asks you
138
- * to validate your license by signing in to vaadin.com.
139
- *
140
135
  * @fires {CustomEvent} chart-add-series - Fired when a new series is added.
141
136
  * @fires {CustomEvent} chart-after-export - Fired after a chart is exported.
142
137
  * @fires {CustomEvent} chart-after-print - Fired after a chart is printed.
@@ -137,11 +137,6 @@ import { ChartMixin } from './vaadin-chart-mixin.js';
137
137
  *
138
138
  * For example `--vaadin-charts-color-0` sets the color of the first series on a chart.
139
139
  *
140
- * ### Validating your License
141
- *
142
- * When using Vaadin Charts in a development environment, you will see a pop-up that asks you
143
- * to validate your license by signing in to vaadin.com.
144
- *
145
140
  * @fires {CustomEvent} chart-add-series - Fired when a new series is added.
146
141
  * @fires {CustomEvent} chart-after-export - Fired after a chart is exported.
147
142
  * @fires {CustomEvent} chart-after-print - Fired after a chart is printed.
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/charts",
4
- "version": "25.0.0-alpha8",
4
+ "version": "25.0.0-alpha9",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -235,7 +235,7 @@
235
235
  },
236
236
  {
237
237
  "name": "vaadin-chart",
238
- "description": "`<vaadin-chart>` is a Web Component for creating high quality charts.\n\n### Basic use\n\nThere are two ways of configuring your `<vaadin-chart>` element: **HTML API**, **JS API** and **JSON API**.\nNote that you can make use of all APIs in your element.\n\n#### Configuring your chart using HTML API\n\n`vaadin-chart` has a set of attributes to make it easier for you to customize your chart.\n\n```html\n <vaadin-chart title=\"The chart title\" subtitle=\"The chart subtitle\">\n <vaadin-chart-series\n type=\"column\"\n title=\"The series title\"\n values=\"[10,20,30]\">\n </vaadin-chart-series>\n </vaadin-chart>\n```\n\n> Note that while you can set type for each series individually, for some types, such as `'bar'`, `'gauge'` and `'solidgauge'`, you\n> have to set it as the default series type on `<vaadin-chart>` in order to work properly.\n\n#### Configuring your chart using JS API\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `configuration` property (JS Api) to set chart title, categories and data\n```js\ninitChartWithJSApi() {\n requestAnimationFrame(() => {\n const configuration = this.$.mychart.configuration;\n configuration.setTitle({ text: 'The chart title' });\n // By default there is one X axis, it is referenced by configuration.xAxis[0].\n configuration.xAxis[0].setCategories(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);\n configuration.addSeries({\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n });\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSApi();\n}\n```\n\n#### Configuring your chart using JS JSON API\n\nJS JSON API is a simple alternative to the JS API.\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `updateConfiguration` method (JS JSON Api) to set chart title, categories and data\n```js\ninitChartWithJSJSONApi() {\n this.$.mychart.updateConfiguration({\n title: {\n text: 'The chart title'\n },\n subtitle: {\n text: 'Subtitle'\n },\n xAxis: {\n categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n },\n series: [{\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n }]\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSJSONApi();\n}\n```\n\nIt should be noted that chart style customization cannot be done via the JS or JSON API.\nStyling properties in the JSON configuration will be ignored. The following section discusses chart styling.\n\n### CSS Styling\n\nChart appearance is primarily controlled by CSS style rules.\nA comprehensive list of the supported style classes can be found at\nhttps://www.highcharts.com/docs/chart-design-and-style/style-by-css\n\nSee also the [Chart Styling](https://vaadin.com/docs/latest/components/charts/css-styling) documentation.\n\n### RTL support\n\n`vaadin-charts` as well as [Highcharts](https://www.highcharts.com/) by itself are not adjusting the layout\nbased on the `dir` attribute. In order to make `vaadin-charts` display RTL content properly additional\nJSON configuration should be used.\nEach chart should be updated based on the specific needs, but general recommendations are:\n\n 1. Set `reversed` to true for xAxis (https://api.highcharts.com/highcharts/xAxis.reversed).\n 2. Set `useHTML` to true for text elements, i.e. `tooltip` (https://api.highcharts.com/highcharts/tooltip.useHTML).\n 3. Set `rtl` to true for `legend` (https://api.highcharts.com/highcharts/legend.rtl).\n\n### Setting colors\n\nAlthough charts can be styled as described above, there is a simpler way for setting colors.\nColors can be set using CSS custom properties `--vaadin-charts-color-{n}` (where `n` goes from `0 - 9`).\n\nFor example `--vaadin-charts-color-0` sets the color of the first series on a chart.\n\n### Validating your License\n\nWhen using Vaadin Charts in a development environment, you will see a pop-up that asks you\nto validate your license by signing in to vaadin.com.",
238
+ "description": "`<vaadin-chart>` is a Web Component for creating high quality charts.\n\n### Basic use\n\nThere are two ways of configuring your `<vaadin-chart>` element: **HTML API**, **JS API** and **JSON API**.\nNote that you can make use of all APIs in your element.\n\n#### Configuring your chart using HTML API\n\n`vaadin-chart` has a set of attributes to make it easier for you to customize your chart.\n\n```html\n <vaadin-chart title=\"The chart title\" subtitle=\"The chart subtitle\">\n <vaadin-chart-series\n type=\"column\"\n title=\"The series title\"\n values=\"[10,20,30]\">\n </vaadin-chart-series>\n </vaadin-chart>\n```\n\n> Note that while you can set type for each series individually, for some types, such as `'bar'`, `'gauge'` and `'solidgauge'`, you\n> have to set it as the default series type on `<vaadin-chart>` in order to work properly.\n\n#### Configuring your chart using JS API\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `configuration` property (JS Api) to set chart title, categories and data\n```js\ninitChartWithJSApi() {\n requestAnimationFrame(() => {\n const configuration = this.$.mychart.configuration;\n configuration.setTitle({ text: 'The chart title' });\n // By default there is one X axis, it is referenced by configuration.xAxis[0].\n configuration.xAxis[0].setCategories(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);\n configuration.addSeries({\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n });\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSApi();\n}\n```\n\n#### Configuring your chart using JS JSON API\n\nJS JSON API is a simple alternative to the JS API.\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `updateConfiguration` method (JS JSON Api) to set chart title, categories and data\n```js\ninitChartWithJSJSONApi() {\n this.$.mychart.updateConfiguration({\n title: {\n text: 'The chart title'\n },\n subtitle: {\n text: 'Subtitle'\n },\n xAxis: {\n categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n },\n series: [{\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n }]\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSJSONApi();\n}\n```\n\nIt should be noted that chart style customization cannot be done via the JS or JSON API.\nStyling properties in the JSON configuration will be ignored. The following section discusses chart styling.\n\n### CSS Styling\n\nChart appearance is primarily controlled by CSS style rules.\nA comprehensive list of the supported style classes can be found at\nhttps://www.highcharts.com/docs/chart-design-and-style/style-by-css\n\nSee also the [Chart Styling](https://vaadin.com/docs/latest/components/charts/css-styling) documentation.\n\n### RTL support\n\n`vaadin-charts` as well as [Highcharts](https://www.highcharts.com/) by itself are not adjusting the layout\nbased on the `dir` attribute. In order to make `vaadin-charts` display RTL content properly additional\nJSON configuration should be used.\nEach chart should be updated based on the specific needs, but general recommendations are:\n\n 1. Set `reversed` to true for xAxis (https://api.highcharts.com/highcharts/xAxis.reversed).\n 2. Set `useHTML` to true for text elements, i.e. `tooltip` (https://api.highcharts.com/highcharts/tooltip.useHTML).\n 3. Set `rtl` to true for `legend` (https://api.highcharts.com/highcharts/legend.rtl).\n\n### Setting colors\n\nAlthough charts can be styled as described above, there is a simpler way for setting colors.\nColors can be set using CSS custom properties `--vaadin-charts-color-{n}` (where `n` goes from `0 - 9`).\n\nFor example `--vaadin-charts-color-0` sets the color of the first series on a chart.",
239
239
  "attributes": [
240
240
  {
241
241
  "name": "category-max",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/charts",
4
- "version": "25.0.0-alpha8",
4
+ "version": "25.0.0-alpha9",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {
@@ -100,7 +100,7 @@
100
100
  },
101
101
  {
102
102
  "name": "vaadin-chart",
103
- "description": "`<vaadin-chart>` is a Web Component for creating high quality charts.\n\n### Basic use\n\nThere are two ways of configuring your `<vaadin-chart>` element: **HTML API**, **JS API** and **JSON API**.\nNote that you can make use of all APIs in your element.\n\n#### Configuring your chart using HTML API\n\n`vaadin-chart` has a set of attributes to make it easier for you to customize your chart.\n\n```html\n <vaadin-chart title=\"The chart title\" subtitle=\"The chart subtitle\">\n <vaadin-chart-series\n type=\"column\"\n title=\"The series title\"\n values=\"[10,20,30]\">\n </vaadin-chart-series>\n </vaadin-chart>\n```\n\n> Note that while you can set type for each series individually, for some types, such as `'bar'`, `'gauge'` and `'solidgauge'`, you\n> have to set it as the default series type on `<vaadin-chart>` in order to work properly.\n\n#### Configuring your chart using JS API\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `configuration` property (JS Api) to set chart title, categories and data\n```js\ninitChartWithJSApi() {\n requestAnimationFrame(() => {\n const configuration = this.$.mychart.configuration;\n configuration.setTitle({ text: 'The chart title' });\n // By default there is one X axis, it is referenced by configuration.xAxis[0].\n configuration.xAxis[0].setCategories(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);\n configuration.addSeries({\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n });\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSApi();\n}\n```\n\n#### Configuring your chart using JS JSON API\n\nJS JSON API is a simple alternative to the JS API.\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `updateConfiguration` method (JS JSON Api) to set chart title, categories and data\n```js\ninitChartWithJSJSONApi() {\n this.$.mychart.updateConfiguration({\n title: {\n text: 'The chart title'\n },\n subtitle: {\n text: 'Subtitle'\n },\n xAxis: {\n categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n },\n series: [{\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n }]\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSJSONApi();\n}\n```\n\nIt should be noted that chart style customization cannot be done via the JS or JSON API.\nStyling properties in the JSON configuration will be ignored. The following section discusses chart styling.\n\n### CSS Styling\n\nChart appearance is primarily controlled by CSS style rules.\nA comprehensive list of the supported style classes can be found at\nhttps://www.highcharts.com/docs/chart-design-and-style/style-by-css\n\nSee also the [Chart Styling](https://vaadin.com/docs/latest/components/charts/css-styling) documentation.\n\n### RTL support\n\n`vaadin-charts` as well as [Highcharts](https://www.highcharts.com/) by itself are not adjusting the layout\nbased on the `dir` attribute. In order to make `vaadin-charts` display RTL content properly additional\nJSON configuration should be used.\nEach chart should be updated based on the specific needs, but general recommendations are:\n\n 1. Set `reversed` to true for xAxis (https://api.highcharts.com/highcharts/xAxis.reversed).\n 2. Set `useHTML` to true for text elements, i.e. `tooltip` (https://api.highcharts.com/highcharts/tooltip.useHTML).\n 3. Set `rtl` to true for `legend` (https://api.highcharts.com/highcharts/legend.rtl).\n\n### Setting colors\n\nAlthough charts can be styled as described above, there is a simpler way for setting colors.\nColors can be set using CSS custom properties `--vaadin-charts-color-{n}` (where `n` goes from `0 - 9`).\n\nFor example `--vaadin-charts-color-0` sets the color of the first series on a chart.\n\n### Validating your License\n\nWhen using Vaadin Charts in a development environment, you will see a pop-up that asks you\nto validate your license by signing in to vaadin.com.",
103
+ "description": "`<vaadin-chart>` is a Web Component for creating high quality charts.\n\n### Basic use\n\nThere are two ways of configuring your `<vaadin-chart>` element: **HTML API**, **JS API** and **JSON API**.\nNote that you can make use of all APIs in your element.\n\n#### Configuring your chart using HTML API\n\n`vaadin-chart` has a set of attributes to make it easier for you to customize your chart.\n\n```html\n <vaadin-chart title=\"The chart title\" subtitle=\"The chart subtitle\">\n <vaadin-chart-series\n type=\"column\"\n title=\"The series title\"\n values=\"[10,20,30]\">\n </vaadin-chart-series>\n </vaadin-chart>\n```\n\n> Note that while you can set type for each series individually, for some types, such as `'bar'`, `'gauge'` and `'solidgauge'`, you\n> have to set it as the default series type on `<vaadin-chart>` in order to work properly.\n\n#### Configuring your chart using JS API\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `configuration` property (JS Api) to set chart title, categories and data\n```js\ninitChartWithJSApi() {\n requestAnimationFrame(() => {\n const configuration = this.$.mychart.configuration;\n configuration.setTitle({ text: 'The chart title' });\n // By default there is one X axis, it is referenced by configuration.xAxis[0].\n configuration.xAxis[0].setCategories(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);\n configuration.addSeries({\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n });\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSApi();\n}\n```\n\n#### Configuring your chart using JS JSON API\n\nJS JSON API is a simple alternative to the JS API.\n\n1. Set an id for the `<vaadin-chart>` in the template\n```html\n <vaadin-chart id=\"mychart\"></vaadin-chart>\n```\n1. Add a function that uses `updateConfiguration` method (JS JSON Api) to set chart title, categories and data\n```js\ninitChartWithJSJSONApi() {\n this.$.mychart.updateConfiguration({\n title: {\n text: 'The chart title'\n },\n subtitle: {\n text: 'Subtitle'\n },\n xAxis: {\n categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n },\n series: [{\n type: 'column',\n data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]\n }]\n });\n}\n```\n1. Call that function from connectedCallback (when the element is added to a document)\n```js\nconnectedCallback() {\n super.connectedCallback();\n this.initChartWithJSJSONApi();\n}\n```\n\nIt should be noted that chart style customization cannot be done via the JS or JSON API.\nStyling properties in the JSON configuration will be ignored. The following section discusses chart styling.\n\n### CSS Styling\n\nChart appearance is primarily controlled by CSS style rules.\nA comprehensive list of the supported style classes can be found at\nhttps://www.highcharts.com/docs/chart-design-and-style/style-by-css\n\nSee also the [Chart Styling](https://vaadin.com/docs/latest/components/charts/css-styling) documentation.\n\n### RTL support\n\n`vaadin-charts` as well as [Highcharts](https://www.highcharts.com/) by itself are not adjusting the layout\nbased on the `dir` attribute. In order to make `vaadin-charts` display RTL content properly additional\nJSON configuration should be used.\nEach chart should be updated based on the specific needs, but general recommendations are:\n\n 1. Set `reversed` to true for xAxis (https://api.highcharts.com/highcharts/xAxis.reversed).\n 2. Set `useHTML` to true for text elements, i.e. `tooltip` (https://api.highcharts.com/highcharts/tooltip.useHTML).\n 3. Set `rtl` to true for `legend` (https://api.highcharts.com/highcharts/legend.rtl).\n\n### Setting colors\n\nAlthough charts can be styled as described above, there is a simpler way for setting colors.\nColors can be set using CSS custom properties `--vaadin-charts-color-{n}` (where `n` goes from `0 - 9`).\n\nFor example `--vaadin-charts-color-0` sets the color of the first series on a chart.",
104
104
  "extension": true,
105
105
  "attributes": [
106
106
  {