npm apexcharts 5.12.0
💎 Version 5.12.0

3 hours ago

Highlights

  • First-class funnel, pyramid, and gauge chart types — no more type: 'bar' + isFunnel workaround.
  • Per-chart-type initial-mount animations — pen-stroke draws, staggered bar grows, scale-up pops, diagonal heatmap waves, treemap cascades, gauge needle settles, and more.
  • TimeScale rewrite — single-resolution stride generator replaces the legacy mix-and-match promotion algorithm. Roughly 2,700 lines of logic removed.

New Features

First-class funnel / pyramid / gauge types (8f038155)

chart.type now accepts 'funnel', 'pyramid', and 'gauge' directly. They normalize to the underlying renderer (bar with isFunnel for funnel/pyramid, radialBar for gauge) at config time and preserve chart.requestedType for default selection.

Funnel additions:

  • plotOptions.funnel.shape: 'rectangle' | 'trapezoid' — trapezoid mode draws continuous sloped sides between consecutive stages.
  • plotOptions.funnel.lastShape: 'flat' | 'taper' — controls whether the final stage tapers to a point.
  • Trapezoid mode skips the 3D bar-shadow pass (stages are already contiguous).

Gauge additions:

  • plotOptions.radialBar.shape: 'arc' | 'needle'.
  • Custom value-to-angle mapping (min/max).
  • Configurable bands and ticks that render on both arc and needle shapes.

Samples added under samples/source/funnel/ and samples/source/gauge/.

Accessibility — WCAG 1.4.11 contrast compliance (258def38)

All colours across the 10 built-in theme palettes now pass WCAG 1.4.11 non-text contrast (≥ 3:1) against both the default light and dark backgrounds.


Improvements

TimeScale refactor (005c4f23)

The time-scale tick generator has been rewritten around a single-resolution stride algorithm. The previous mix-and-match label promotion logic has been removed.

  • src/modules/TimeScale.js reduced from ~1,231 lines to a focused stride generator.
  • New date helpers in src/utils/DateTime.js for tick generation.

Bug Fixes

  • Tooltip — shared sweep coverage (c13f2ebe) — Shared tooltips on line/area charts now capture every datapoint during a mouse sweep instead of skipping points at fast cursor speeds.
  • Accessibility — restore #5183 SVG <title> fix (27bc253c) — The root SVG <title> element is removed again, restoring the original fix that had regressed.
  • Pie/donut legend.showForNullSeries = false crash (57be77df, #5216) — Setting legend.showForNullSeries: false on pie/donut charts no longer throws a runtime error.
  • Responsive yaxis merge (0ba210b2, fcf46856, #5212) — yaxis array entries from a responsive breakpoint now deep-merge into the matching base-config entries instead of replacing them wholesale.

Upgrade Notes

  • Funnel / pyramid / gauge users: The existing type: 'bar' + plotOptions.bar.isFunnel: true and type: 'radialBar' configurations continue to work. New type: 'funnel' | 'pyramid' | 'gauge' is opt-in and recommended for new code — it enables the new shape options and gauge sub-features.
  • TimeScale: Tick output is generally cleaner but may differ from 5.11.0 at certain ranges. If you snapshot-test rendered SVGs, expect tick-label snapshot churn.

Don't miss a new apexcharts release

NewReleases is sending notifications on new releases.