-
Notifications
You must be signed in to change notification settings - Fork 87
feat!: upgrade Highcharts version to 12.2.0 #10010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Upgrade the Highcharts dependency to 12.3.0.
65ef5f8 to
a8c2d3f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
88a8f07 to
2975887
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall a bit difficult to review the changes to the base styles, when they’ve changes so much. But the end results look to work as expected 🙂
| stroke-width: 1px; | ||
| stroke: var(--vaadin-charts-tooltip-border, var(--vaadin-border-color-subtle)); | ||
| fill: var(--vaadin-charts-tooltip-background, var(--vaadin-background-color)); | ||
| fill-opacity: var(--vaadin-charts-tooltip-background-opacity, 1); | ||
| stroke-width: 0; | ||
| fill: var(--highcharts-background-color, var(--vaadin-charts-tooltip-background, var(--vaadin-background-color))); | ||
| } | ||
| ${unsafeCSS(scope)} .highcharts-tooltip-box .highcharts-label-box { | ||
| fill: var(--vaadin-charts-tooltip-background, var(--vaadin-background-color)); | ||
| fill-opacity: var(--vaadin-charts-tooltip-background-opacity, 1); | ||
| stroke: var(--vaadin-charts-tooltip-border, var(--vaadin-border-color-subtle)); | ||
| } | ||
| ${unsafeCSS(scope)} .highcharts-tooltip-header { | ||
| stroke-width: 1px; | ||
| stroke: color-mix(in srgb, var(--vaadin-charts-contrast, var(--_label)) 20%, transparent); | ||
| fill: var(--highcharts-background-color, var(--vaadin-charts-tooltip-background, var(--vaadin-background-color))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why remove the tooltip border?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change is coming from the Highcharts styles:
https://github.com/highcharts/highcharts/blob/d1c0f24d6a15c204a3dfeca42fe7b625e8a83682/css/highcharts.css#L332-L335
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As our own Tooltip component does offer properties for customizing the border (which I now notice aren't set as border but as box-shadow, which I plan to change), I’d say we would want to support the same here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be an actual border or a box-shadow, as in the tooltip? Should it support the same amount of customization (width, color, box-shadow)?
packages/charts/test/visual/base/screenshots/chart/baseline/styled-mode.png
Show resolved
Hide resolved
The DOM structure in Highchart V12 is different related to how the drilldown controls are rendered. That will cause test failures in the ITs so we need to updated them. Part of vaadin/web-components#8825 Depends on vaadin/web-components#10010
The DOM structure in Highchart V12 is different related to how the drilldown controls are rendered. That will cause test failures in the ITs so we need to updated them. Part of vaadin/web-components#8825 Depends on vaadin/web-components#10010
I couldn't see this issue anymore, so it seems that the workaround is not needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. That seems to be a Highcharts regression in styled mode. You can check it out here. EDIT: it has already been reported: highcharts/highcharts#23279 |
Should we downgrade to 12.2.0 as suggested in the issue? |
I wanted to see if there was a way to add a workaround for that, but it is safer to downgrade it for now. The biggest benefit I see in 12.3.0 is the ability to export charts locally instead of using the online exporting provided by Highcharts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Let's create a follow-up issue to bump version once the solidgauge issue is fixed.
Created a new issue: #10104 |
|
Removed the |
|
|
This ticket/PR has been released with Vaadin 25.0.0-beta2. |





Description
Upgrade the Highcharts dependency to 12.2.0.
The list of changes introduced in this PR:
--vaadin-charts-*and--highcharts-*CSS properties API, with the latter taking precedence, when both are defined.legend.events.itemClickevent introduced to replaceseries.events.legendItemClick. The callback dispatches either aseries-legend-item-clickor apoint-legend-item-clickevent, depending on the type of thelegendItemproperty.beforeExport/afterExportevents used by the mixin to copy the styles to the body and do the cleanup afterwards, when the user exports the chart as an image.userOptionsused to be somewhat static, meaning that after the chart was initialized, its value wouldn't update based on the chart's updates. Now, adding/removing items (such as series or points) is reflected in theuserOptionsobject.userOptionsobject is that properties that accept arrays, such asxAxis,yAxis, etc, used to maintain the type of the object it was initially passed in the options, if for instance, an object was passed. That changed so that it always returns an array in theuserOptions.__hasConfigurationBuffermethod has changed to take into account the case where the property is an array.Part of #8825
Fix #9908
Type of change