uwc-chart code examples, properties, methods, events and Live Demo.Here is an example of using a Chart in a plain html page: (Note the additional chart javascript bundle)
There are some illustrative images of chart component on the usage tab. Please get in touch to see the UUX chart component in action. We are unable to provide a live demo on our public website for licensing reasons.
The unified-ux-chart.min.js bundle moved from Highcharts 10.3.3 to Highcharts 12.5.0 (two major versions). The <uwc-chart> component's own API — config, data, highcharts, redraw(), updateChart() — is unchanged. What changes is what you pass inside the config object and how you reference Highcharts internals in event callbacks.
- New chart types: TreeGraph and FlowMap are now bundled — no separate module needed
--highcharts-*CSS custom properties: v12 exposes chart chrome colours as CSS variables (--highcharts-neutral-color-100,--highcharts-background-color, etc.) that can be overridden on the<uwc-chart>element- Enhanced accessibility ARIA:
aria-controls,aria-describedby,aria-roledescription,aria-selectedare now emitted automatically — better screen reader support with no config change - Tooltip fixed positioning: New
tooltip.fixedandtooltip.positionoptions for declarative tooltip placement - Navigator and Scrollbar support: Bundled in v12
- The
<uwc-chart>element, its attributes, and all--uwc-chart-*/--uwc-palette-*CSS custom properties are fully backward compatible - The
config,data,redraw(), andupdateChart()component API is unchanged - All other click events —
plotOptions.series.point.events.click,plotOptions.series.events.click,chart.events.click, drilldown events,checkboxClick,select,unselect— have stable APIs from v10 through v12;thisandeventcontext are unaffected - All existing bundled modules (heatmap, drilldown, accessibility, exporting, sankey, treemap, solid-gauge, sunburst) remain available
If you use formatter functions or format strings containing {point.x} to display a category name, this no longer returns the category string in v12. Replace with {category}.
Options previously under Highcharts.setOptions({ global: { ... } }) for timezone and time handling are now under time: { ... }.
If your charts rely on the title being centred, set it explicitly — the default changed from 'center' to automatic/adaptive.
The "Download PDF" menu item no longer appears by default. If your application surfaces the Highcharts export menu and PDF was relied upon, add it back explicitly via exporting.buttons.
If any custom CSS targets the Highcharts accessibility proxy button:
series.xData, series.yData, series.processedXData, and series.processedYData no longer exist. If you access these in chart event callbacks or custom extensions, switch to series.getColumn('x') / series.getColumn('y').
plotOptions.series.events.legendItemClick and plotOptions.pie.point.events.legendItemClick were removed in Highcharts v11.4.4 without a proper deprecation cycle. The canonical path in v12 is legend.events.itemClick.
Inside this callback this is the Legend object, not the Series or Point. Access the clicked item via event.legendItem.
This applies to both series charts and pie charts — both route through legend.events.itemClick in v12. For pie charts event.legendItem is a Point; for series charts it is a Series.
In v10, series.legendItem was the SVG text label element directly. In v12 it is a container object. Any code that reads legend SVG elements inside event callbacks needs updating:
| v10 | v12 |
|---|---|
series.legendItem (SVG text) | series.legendItem.label |
series.legendLine | series.legendItem.line |
series.legendSymbol | series.legendItem.symbol |
series.legendGroup | series.legendItem.group |
When accessing these from a legend.events.itemClick callback, the Series is at event.legendItem, so the text SVGElement is event.legendItem.legendItem?.label.
Note: series.legendItem.symbol may be absent when plotOptions.series.marker.enabled: false.
Search your config objects for each of these before deploying the new bundle:
- Formatter strings — replace
{point.x}with{category}where the axis type iscategory global.*time options — move totime.*title.align— addalign: 'center'andminScale: 1if centred titles are expected- PDF export — check if the Highcharts export menu is surfaced; add PDF back via
exporting.buttonsif needed - Custom CSS — search for
.highcharts-a11y-proxy-button; rename to.highcharts-a11y-proxy-element - Legend click events — replace
plotOptions.series.events.legendItemClickandplotOptions.pie.point.events.legendItemClickwithlegend.events.itemClick; access the series/point viaevent.legendIteminstead ofthis - Legend SVG element access — replace
series.legendItem(raw SVG element) withseries.legendItem.label; update any.legendLine/.legendSymbolreferences to the new nested paths - Internal series data arrays — search for
.xData,.yData,.processedXData,.processedYData; replace with.getColumn() highchartsescape-hatch prop — if you pass your own Highcharts instance via<uwc-chart .highcharts="...">, that instance must also be upgraded to v12- Bundle load order — still
unified-ux-web.min.jsfirst, thenunified-ux-chart.min.js; this is unchanged