apexcharts 5.11.0 → 5.13.0

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.
Files changed (112) hide show
  1. package/README.md +96 -194
  2. package/dist/apexcharts.common.js +2 -2
  3. package/dist/apexcharts.css +298 -239
  4. package/dist/apexcharts.esm.js +2719 -1994
  5. package/dist/apexcharts.js +2718 -1993
  6. package/dist/apexcharts.min.js +2 -2
  7. package/dist/apexcharts.ssr.common.js +2 -2
  8. package/dist/apexcharts.ssr.esm.js +2719 -1994
  9. package/dist/area.common.js +2 -2
  10. package/dist/area.esm.js +3 -2
  11. package/dist/bar.common.js +2 -2
  12. package/dist/bar.esm.js +159 -31
  13. package/dist/boxPlot.common.js +2 -2
  14. package/dist/boxPlot.esm.js +171 -41
  15. package/dist/bubble.common.js +2 -2
  16. package/dist/bubble.esm.js +3 -2
  17. package/dist/candlestick.common.js +2 -2
  18. package/dist/candlestick.esm.js +171 -41
  19. package/dist/column.common.js +2 -2
  20. package/dist/column.esm.js +159 -31
  21. package/dist/core.common.js +2 -2
  22. package/dist/core.esm.js +2050 -1897
  23. package/dist/donut.common.js +2 -2
  24. package/dist/donut.esm.js +17 -3
  25. package/dist/features/all.common.js +2 -2
  26. package/dist/features/all.esm.js +94 -28
  27. package/dist/features/annotations.common.js +2 -2
  28. package/dist/features/annotations.esm.js +14 -2
  29. package/dist/features/exports.common.js +1 -1
  30. package/dist/features/exports.esm.js +1 -1
  31. package/dist/features/keyboard.common.js +2 -2
  32. package/dist/features/keyboard.esm.js +39 -1
  33. package/dist/features/legend.common.js +1 -1
  34. package/dist/features/legend.esm.js +1 -1
  35. package/dist/features/toolbar.common.js +2 -2
  36. package/dist/features/toolbar.esm.js +43 -27
  37. package/dist/heatmap.common.js +2 -2
  38. package/dist/heatmap.esm.js +29 -4
  39. package/dist/line.common.js +2 -2
  40. package/dist/line.esm.js +3 -2
  41. package/dist/pie.common.js +2 -2
  42. package/dist/pie.esm.js +17 -3
  43. package/dist/polarArea.common.js +2 -2
  44. package/dist/polarArea.esm.js +17 -3
  45. package/dist/radar.common.js +2 -2
  46. package/dist/radar.esm.js +5 -2
  47. package/dist/radialBar.common.js +2 -2
  48. package/dist/radialBar.esm.js +329 -11
  49. package/dist/rangeArea.common.js +2 -2
  50. package/dist/rangeArea.esm.js +3 -2
  51. package/dist/rangeBar.common.js +2 -2
  52. package/dist/rangeBar.esm.js +159 -31
  53. package/dist/scatter.common.js +2 -2
  54. package/dist/scatter.esm.js +3 -2
  55. package/dist/treemap.common.js +2 -2
  56. package/dist/treemap.esm.js +44 -6
  57. package/package.json +1 -1
  58. package/src/apexcharts.js +3 -0
  59. package/src/assets/apexcharts.css +298 -239
  60. package/src/assets/ico-fit-screen.svg +6 -0
  61. package/src/assets/ico-menu.svg +3 -1
  62. package/src/assets/ico-minus.svg +2 -3
  63. package/src/assets/ico-pan-hand.svg +8 -9
  64. package/src/assets/ico-plus.svg +2 -3
  65. package/src/assets/ico-select.svg +7 -4
  66. package/src/assets/ico-zoom-in.svg +4 -5
  67. package/src/charts/Bar.js +109 -33
  68. package/src/charts/BoxCandleStick.js +20 -12
  69. package/src/charts/HeatMap.js +33 -3
  70. package/src/charts/Line.js +5 -1
  71. package/src/charts/Pie.js +32 -2
  72. package/src/charts/Radar.js +3 -0
  73. package/src/charts/Radial.js +411 -10
  74. package/src/charts/Scatter.js +21 -13
  75. package/src/charts/Treemap.js +50 -5
  76. package/src/charts/common/bar/Helpers.js +143 -55
  77. package/src/entries/core.js +6 -0
  78. package/src/modules/Animations.js +396 -3
  79. package/src/modules/Core.js +114 -35
  80. package/src/modules/CoreUtils.js +19 -9
  81. package/src/modules/Data.js +113 -9
  82. package/src/modules/DataLabels.js +12 -0
  83. package/src/modules/Formatters.js +8 -2
  84. package/src/modules/Graphics.js +51 -6
  85. package/src/modules/Markers.js +6 -0
  86. package/src/modules/Responsive.js +50 -0
  87. package/src/modules/Scales.js +160 -10
  88. package/src/modules/Series.js +7 -5
  89. package/src/modules/TimeScale.js +294 -937
  90. package/src/modules/Toolbar.js +27 -17
  91. package/src/modules/ZoomPanSelection.js +12 -8
  92. package/src/modules/accessibility/KeyboardNavigation.js +58 -0
  93. package/src/modules/annotations/Annotations.js +12 -1
  94. package/src/modules/annotations/Helpers.js +8 -0
  95. package/src/modules/annotations/PointsAnnotations.js +5 -0
  96. package/src/modules/annotations/XAxisAnnotations.js +7 -0
  97. package/src/modules/axes/AxesUtils.js +0 -26
  98. package/src/modules/axes/XAxis.js +9 -2
  99. package/src/modules/helpers/UpdateHelpers.js +4 -0
  100. package/src/modules/settings/Config.js +43 -1
  101. package/src/modules/settings/Defaults.js +41 -0
  102. package/src/modules/settings/Options.js +132 -2
  103. package/src/modules/tooltip/Intersect.js +209 -7
  104. package/src/modules/tooltip/Labels.js +154 -152
  105. package/src/modules/tooltip/Marker.js +43 -0
  106. package/src/modules/tooltip/Position.js +351 -50
  107. package/src/modules/tooltip/Tooltip.js +68 -3
  108. package/src/modules/tooltip/Utils.js +91 -22
  109. package/src/types/internal.d.ts +9 -0
  110. package/src/utils/DateTime.js +395 -0
  111. package/src/utils/ThemePalettes.js +48 -14
  112. package/types/apexcharts.d.ts +234 -38
package/README.md CHANGED
@@ -1,134 +1,130 @@
1
- <p align="center"><img src="https://apexcharts.com/media/apexcharts-logo.png"></p>
1
+ <p align="center"><img src="https://apexcharts.com/media/apexcharts-logo.png" width="180"></p>
2
+
3
+ <h1 align="center">ApexCharts</h1>
2
4
 
3
5
  <p align="center">
4
- <a href="https://travis-ci.com/apexcharts/apexcharts.js"><img src="https://api.travis-ci.com/apexcharts/apexcharts.js.svg?branch=master" alt="build" /></a>
5
- <img alt="downloads" src="https://img.shields.io/npm/dm/apexcharts.svg"/>
6
- <a href="https://www.npmjs.com/package/apexcharts"><img src="https://img.shields.io/npm/v/apexcharts.svg" alt="ver"></a>
7
- <img alt="size" src="https://badgen.net/bundlephobia/min/apexcharts?label=size">
8
- <a href="https://cdn.jsdelivr.net/npm/apexcharts@3.12.0/types/apexcharts.d.ts"><img src="https://badgen.net/npm/types/apexcharts"/></a>
9
- <a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square" alt="prettier"></a>
10
- <a href="https://www.jsdelivr.com/package/npm/apexcharts"><img src="https://data.jsdelivr.com/v1/package/npm/apexcharts/badge" alt="jsdelivr" /></a>
6
+ Modern, interactive JavaScript charts your users will love - built for dashboards, SaaS, and data-heavy UIs.
11
7
  </p>
12
8
 
13
9
  <p align="center">
14
- <a href="https://twitter.com/intent/tweet?text=Create%20visualizations%20with%20this%20free%20and%20open-source%20JavaScript%20Chart%20library&url=https://www.apexcharts.com&hashtags=javascript,charts,visualizations,developers,apexcharts"><img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social"> </a>
10
+ <a href="https://www.npmjs.com/package/apexcharts"><img src="https://img.shields.io/npm/v/apexcharts.svg" alt="npm version"></a>
11
+ <a href="https://www.npmjs.com/package/apexcharts"><img src="https://img.shields.io/npm/dm/apexcharts.svg" alt="downloads"></a>
12
+ <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-ready-3178C6?logo=typescript&logoColor=white">
13
+ <a href="https://github.com/apexcharts/apexcharts.js/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Revenue--based-blue"></a>
14
+ <a href="https://www.jsdelivr.com/package/npm/apexcharts"><img src="https://data.jsdelivr.com/v1/package/npm/apexcharts/badge" alt="jsdelivr"></a>
15
15
  </p>
16
16
 
17
- <p align="center">A modern JavaScript charting library that allows you to build interactive data visualizations with simple API and 100+ ready-to-use samples. Packed with the features that you expect, ApexCharts includes over a dozen chart types that deliver beautiful, responsive visualizations in your apps and dashboards.</p>
17
+ <p align="center">
18
+ <a href="https://apexcharts.com/demos/">Live demos</a> ·
19
+ <a href="https://apexcharts.com/docs/">Documentation</a> ·
20
+ <a href="#license">License</a>
21
+ </p>
18
22
 
19
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/"><img
20
- src="https://apexcharts.com/media/apexcharts-banner.png"></a></p>
23
+ <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/"><img src="https://apexcharts.com/media/apexcharts-banner.png" alt="ApexCharts gallery"></a></p>
21
24
 
22
- <br />
25
+ ## Why ApexCharts
23
26
 
24
- ## Download and Installation
27
+ - **16+ chart types** out of the box — line, area, bar, column, pie, donut, radar, heatmap, treemap, candlestick, boxplot, funnel, pyramid, gauge and more
28
+ - **SSR support** for Next.js, Nuxt, SvelteKit, Astro, and other meta-frameworks — render real SVG on the server, hydrate on the client
29
+ - **Tree-shakable** — import only the chart types and features you need; typical bundles are 30–60% smaller than the full build
30
+ - **TypeScript-first** — full type definitions ship with the package, no `@types/*` install needed
31
+ - **Zero runtime dependencies** — no React/Vue/D3 required; works in any framework or vanilla JS
32
+ - **Accessibility** — keyboard navigation and ARIA support built in
33
+ - **Free for most users** — see [License](#license)
25
34
 
26
- ##### Installing via npm
35
+ ## Install
27
36
 
28
37
  ```bash
29
- npm install apexcharts --save
38
+ npm install apexcharts
30
39
  ```
31
40
 
32
- ##### Direct &lt;script&gt; include
41
+ Or via CDN:
33
42
 
34
43
  ```html
35
44
  <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
36
45
  ```
37
46
 
38
- ## Wrappers for Vue/React/Angular/Stencil
47
+ ## Quick start
48
+
49
+ ```js
50
+ import ApexCharts from 'apexcharts'
39
51
 
40
- Integrate easily with 3rd party frameworks
52
+ const chart = new ApexCharts(document.querySelector('#chart'), {
53
+ chart: { type: 'bar' },
54
+ series: [{ name: 'Sales', data: [30, 40, 35, 50, 49, 60, 70, 91, 125] }],
55
+ xaxis: { categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999] }
56
+ })
41
57
 
42
- - [vue-apexcharts](https://github.com/apexcharts/vue-apexcharts)
43
- - [react-apexcharts](https://github.com/apexcharts/react-apexcharts)
44
- - [ng-apexcharts](https://github.com/apexcharts/ng-apexcharts) - Plugin by [Morris Janatzek](https://morrisj.net/)
45
- - [stencil-apexcharts](https://github.com/apexcharts/stencil-apexcharts)
58
+ chart.render()
59
+ ```
46
60
 
47
- ### Unofficial Wrappers
61
+ Browse [100+ ready-to-use samples](https://apexcharts.com/javascript-chart-demos/) — copy, paste, ship.
48
62
 
49
- Useful links to wrappers other than the popular frameworks mentioned above
63
+ ## Chart types
50
64
 
51
- - [apexcharter](https://github.com/dreamRs/apexcharter) - Htmlwidget for ApexCharts
52
- - [apexcharts.rb](https://github.com/styd/apexcharts.rb) - Ruby wrapper for ApexCharts
53
- - [larapex-charts](https://github.com/ArielMejiaDev/larapex-charts) - Laravel wrapper for ApexCharts
54
- - [blazor-apexcharts](https://github.com/apexcharts/Blazor-ApexCharts) - Blazor wrapper for ApexCharts [demo](https://apexcharts.github.io/Blazor-ApexCharts/)
55
- - [svelte-apexcharts](https://github.com/galkatz373/svelte-apexcharts) - Svelte wrapper for ApexCharts
65
+ - [Line](https://apexcharts.com/javascript-chart-demos/line-charts/) · [Area](https://apexcharts.com/javascript-chart-demos/area-charts/) · [Range Area](https://apexcharts.com/javascript-chart-demos/range-area-charts/)
66
+ - [Bar](https://apexcharts.com/javascript-chart-demos/bar-charts/) · [Column](https://apexcharts.com/javascript-chart-demos/column-charts/) · [Range Bar / Timeline](https://apexcharts.com/javascript-chart-demos/range-bar-charts/)
67
+ - [Scatter](https://apexcharts.com/javascript-chart-demos/scatter-charts/) · [Bubble](https://apexcharts.com/javascript-chart-demos/bubble-charts/)
68
+ - [Candlestick](https://apexcharts.com/javascript-chart-demos/candlestick-charts/) · [BoxPlot](https://apexcharts.com/javascript-chart-demos/boxplot-charts/)
69
+ - [Pie](https://apexcharts.com/javascript-chart-demos/pie-charts/) · [Donut](https://apexcharts.com/javascript-chart-demos/pie-charts/) · [Polar Area](https://apexcharts.com/javascript-chart-demos/polar-area-charts/) · [Radial Bar / Gauge](https://apexcharts.com/javascript-chart-demos/radialbar-charts/)
70
+ - [Radar](https://apexcharts.com/javascript-chart-demos/radar-charts/) · [Heatmap](https://apexcharts.com/javascript-chart-demos/heatmap-charts/) · [Treemap](https://apexcharts.com/javascript-chart-demos/treemap-charts/)
71
+ - [Funnel](https://apexcharts.com/javascript-chart-demos/funnel-charts/)
56
72
 
73
+ Combine any of the above as [mixed/combo charts](https://apexcharts.com/javascript-chart-demos/mixed-charts/), [stacked variants](https://apexcharts.com/javascript-chart-demos/column-charts/stacked/), [sparklines](https://apexcharts.com/javascript-chart-demos/sparklines/), or [synchronized multi-chart layouts](https://apexcharts.com/javascript-chart-demos/line-charts/syncing-charts/).
57
74
 
58
- ## Usage
75
+ ## Framework wrappers
59
76
 
60
- ### Client-Side (Browser)
77
+ Official:
61
78
 
62
- ```js
63
- import ApexCharts from 'apexcharts'
64
- ```
79
+ - **React** — [react-apexcharts](https://github.com/apexcharts/react-apexcharts)
80
+ - **Vue 3** — [vue3-apexcharts](https://github.com/apexcharts/vue3-apexcharts)
81
+ - **Vue 2** — [vue-apexcharts](https://github.com/apexcharts/vue-apexcharts)
82
+ - **Angular** — [ng-apexcharts](https://github.com/apexcharts/ng-apexcharts)
83
+ - **Blazor** — [Blazor-ApexCharts](https://github.com/apexcharts/Blazor-ApexCharts)
84
+ - **Stencil** — [stencil-apexcharts](https://github.com/apexcharts/stencil-apexcharts)
65
85
 
66
- To create a basic bar chart with minimal configuration, write as follows:
86
+ Community:
67
87
 
68
- ```js
69
- var options = {
70
- chart: {
71
- type: 'bar'
72
- },
73
- series: [
74
- {
75
- name: 'sales',
76
- data: [30, 40, 35, 50, 49, 60, 70, 91, 125]
77
- }
78
- ],
79
- xaxis: {
80
- categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999]
81
- }
82
- }
83
-
84
- var chart = new ApexCharts(document.querySelector('#chart'), options)
85
- chart.render()
86
- ```
88
+ - **Svelte** — [svelte-apexcharts](https://github.com/galkatz373/svelte-apexcharts)
89
+ - **Ruby** [apexcharts.rb](https://github.com/styd/apexcharts.rb)
90
+ - **Laravel** — [larapex-charts](https://github.com/ArielMejiaDev/larapex-charts)
91
+ - **R** — [apexcharter](https://github.com/dreamRs/apexcharter)
87
92
 
88
- ### Server-Side Rendering (SSR)
93
+ ## Server-side rendering
89
94
 
90
- ApexCharts now supports SSR for Next.js, Nuxt, SvelteKit, Astro, and other meta-frameworks:
95
+ Render chart HTML on the server, then hydrate in the browser. Works with Next.js, Nuxt, SvelteKit, Astro, Remix, and any Node-based framework.
91
96
 
92
97
  ```js
98
+ // Server
93
99
  import ApexCharts from 'apexcharts/ssr'
94
100
 
95
101
  const chartHTML = await ApexCharts.renderToHTML({
96
- series: [{ data: [30, 40, 35, 50, 49, 60, 70, 91, 125] }],
97
102
  chart: { type: 'bar' },
98
- xaxis: {
99
- categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999]
100
- }
101
- }, {
102
- width: 500,
103
- height: 300
104
- })
103
+ series: [{ data: [30, 40, 35, 50, 49, 60, 70, 91, 125] }],
104
+ xaxis: { categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999] }
105
+ }, { width: 500, height: 300 })
105
106
 
106
107
  // Returns hydration-ready HTML with embedded SVG
107
108
  ```
108
109
 
109
110
  ```js
110
- // Client-side hydration (makes chart interactive)
111
+ // Client
111
112
  import ApexCharts from 'apexcharts/client'
112
113
 
113
- // Hydrate specific chart
114
114
  ApexCharts.hydrate(document.getElementById('my-chart'))
115
-
116
- // Or hydrate all charts on the page
117
- ApexCharts.hydrateAll()
115
+ // or: ApexCharts.hydrateAll()
118
116
  ```
119
117
 
120
- This will render the following chart
118
+ No more `dynamic(() => import(...), { ssr: false })` workarounds — the chart renders on the server and becomes interactive on hydration.
121
119
 
122
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/column-charts/"><img src="https://apexcharts.com/media/first-bar-chart.svg"></a></p>
120
+ ## Tree-shaking — ship only what you use
123
121
 
124
- ### Tree-shaking ship only what you use
125
-
126
- By default `import ApexCharts from 'apexcharts'` includes everything. If you want a smaller bundle, import from `apexcharts/core` and add only the chart types and features you need:
122
+ By default `import ApexCharts from 'apexcharts'` includes everything. For smaller bundles, import from `apexcharts/core` and add only what you need:
127
123
 
128
124
  ```js
129
125
  import ApexCharts from 'apexcharts/core' // bare class — no chart types, no features
130
126
 
131
- // Import by the exact chart type name you use in { chart: { type: '...' } }
127
+ // Chart types (match the value of chart.type)
132
128
  import 'apexcharts/line'
133
129
  import 'apexcharts/bar'
134
130
  // import 'apexcharts/area'
@@ -142,142 +138,48 @@ import 'apexcharts/features/toolbar' // zoom/pan toolbar
142
138
  // import 'apexcharts/features/keyboard' // keyboard navigation
143
139
  ```
144
140
 
145
- **Vite users:** Vite's dependency pre-bundler can create two separate copies of ApexCharts, causing `"chart type X is not registered"` errors even when the import is present. Fix this by listing all apexcharts sub-entries in `optimizeDeps.include`:
146
-
147
- ```js
148
- // vite.config.js
149
- export default {
150
- optimizeDeps: {
151
- include: [
152
- 'apexcharts/core',
153
- 'apexcharts/line', // add only the ones you import
154
- 'apexcharts/bar',
155
- 'apexcharts/features/legend',
156
- 'apexcharts/features/toolbar',
157
- // ...
158
- ],
159
- },
160
- }
161
- ```
162
-
163
- See [tree-shaking](https://apexcharts.com/docs/tree-shaking/) for the full guide.
164
-
165
- ### A little more than the basic
166
-
167
- You can create a combination of different charts, sync them and give your desired look with unlimited possibilities.
168
- Below is an example of synchronized charts with github style.
169
-
170
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/area-charts/github-style/"><img src="https://apexcharts.com/media/github-charts.gif"></a></p>
171
-
172
- ## Interactivity
173
-
174
- Zoom, Pan, and Scroll through data. Make selections and load other charts using those selections.
175
- An example showing some interactivity
176
-
177
- <p align="center"><a href="https://codepen.io/apexcharts/pen/QrbEQg" target="_blank"><img src="https://apexcharts.com/media/interactivity.gif" alt="interactive chart"></a></p>
178
-
179
- ## Dynamic Series Update
141
+ See the [tree-shaking guide](https://apexcharts.com/docs/tree-shaking/) for the complete list of entry points.
180
142
 
181
- Another approach is to Drill down charts where one selection updates the data of other charts.
182
- An example of loading dynamic series into charts is shown below
143
+ ## Browser support
183
144
 
184
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/column-charts/dynamic-loaded-chart/"><img src="https://apexcharts.com/media/dynamic-selection.gif" alt="dynamic-loading-chart" /></a></p>
145
+ ApexCharts works in all modern evergreen browsers (Chrome, Firefox, Safari, Edge). For server-side rendering, Node.js 18+ is required.
185
146
 
186
- ## Annotations
147
+ ## Documentation
187
148
 
188
- Annotations allow you to write custom text on specific values or on axes values. Valuable to expand the visual appeal of your chart and make it more informative.
149
+ - [Getting started](https://apexcharts.com/docs/)
150
+ - [Live demo gallery](https://apexcharts.com/demos/)
189
151
 
190
- <p align="center"><a href="https://apexcharts.com/docs/annotations/"><img src="https://apexcharts.com/media/annotations.png" alt="annotations" /></a></p>
191
-
192
- ## Mixed Charts
193
-
194
- You can combine more than one chart type to create a combo/mixed chart. Possible combinations can be line/area/column together in a single chart. Each chart type can have its own y-axis.
195
-
196
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/mixed-charts/"><img src="https://apexcharts.com/wp-content/uploads/2018/05/line-column-area-mixed-chart.svg" alt="annotations" width="490" /></a></p>
197
-
198
- ## Candlestick
199
-
200
- Use a candlestick chart (a common financial chart) to describe price changes of a security, derivative, or currency. The below image shows how you can use another chart as a brush/preview pane which acts as a handle to browse the main candlestick chart.
201
-
202
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/candlestick-charts/"><img src="https://apexcharts.com/media/candlestick.png" alt="candlestick" width="490" /></a></p>
203
-
204
- ## Heatmaps
205
-
206
- Use Heatmaps to represent data through colors and shades. Frequently used with bigger data collections, they are valuable for recognizing patterns and areas of focus.
207
-
208
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/heatmap-charts/"><img src="https://apexcharts.com/media/heatmap-charts.png" alt="heatmap" /></a></p>
209
-
210
- ## Gauges
211
-
212
- The tiny gauges are an important part of a dashboard and are useful in displaying single-series data. A demo of these gauges:
213
-
214
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/radialbar-charts/"><img src="https://apexcharts.com/media/radialbars-gauges.png" width="490" alt="radialbar-chart" /></a></p>
215
-
216
- ## Sparklines
217
-
218
- Utilize sparklines to indicate trends in data, for example, occasional increments or declines, monetary cycles, or to feature the most extreme and least values:
219
-
220
- <p align="center"><a href="https://apexcharts.com/javascript-chart-demos/sparklines/"><img src="https://apexcharts.com/media/sparklines.png" alt="sparkline-chart" /></a></p>
221
-
222
-
223
- ## Need Advanced Data Grid for your next project?
224
- We partnered with Infragistics, creators of the fastest data grids on the planet! Ignite UI Grids can handle unlimited rows and columns of data while providing access to custom templates and real-time data updates.
225
-
226
- <p align="center"><a href="https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid" target="_blank"><img src="https://apexcharts.com/media/infragistics-data-grid.png" /></a></p>
227
-
228
- Featuring an intuitive API for easy theming and branding, you can quickly bind to data with minimal hand-on coding. The grid is available in most of your favorite frameworks:
229
-
230
- <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid">Angular Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-react/react/components/grids">React Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-blazor/blazor/components/data-grid">Blazor Data Grid</a> | <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/data-grid">Web Components DataGrid</a> | <a target="_blank" href="https://www.igniteui.com/grid/overview">jQuery Data Grid </a>
231
-
232
- ## What's included
233
-
234
- The download bundle includes the following files and directories providing a minified single file in the dist folder. Every asset including icon/css is bundled in the js itself to avoid loading multiple files.
235
-
236
- ```
237
- apexcharts/
238
- ├── dist/
239
- │ └── apexcharts.min.js
240
- ├── src/
241
- │ ├── assets/
242
- │ ├── charts/
243
- │ ├── modules/
244
- │ ├── utils/
245
- │ └── apexcharts.js
246
- └── samples/
247
- ```
248
-
249
- ## Development
250
-
251
- #### Install dependencies and run the project
152
+ ## Contributing
252
153
 
253
154
  ```bash
254
155
  npm install
255
- npm run dev
156
+ npm run dev # vite build --watch
157
+ npm test # e2e + unit
256
158
  ```
257
159
 
258
- This will start the webpack watch and any changes you make to `src` folder will auto-compile and output will be produced in the `dist` folder.
160
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for setup, coding conventions, and PR guidelines.
259
161
 
260
- More details in [Contributing Guidelines](CONTRIBUTING.md).
162
+ ## License
261
163
 
262
- #### Minifying the src
164
+ ApexCharts uses a **revenue-based license**:
263
165
 
264
- ```bash
265
- npm run build
266
- ```
166
+ - **Free** for individuals, and organizations with **under $2M USD in annual gross revenue** — including commercial and internal use. No registration required.
167
+ - **Commercial license required** for organizations at or above $2M USD annual gross revenue.
267
168
 
268
- ## Where do I go next?
169
+ Full terms: [apexcharts.com/license](https://apexcharts.com/license)
269
170
 
270
- Head over to the <a href="https://apexcharts.com/docs/">documentation</a> section to read more about how to use different kinds of charts and explore all options.
171
+ ## Need an enterprise data grid?
271
172
 
272
- ## Contacts
173
+ We've partnered with [Infragistics](https://www.infragistics.com/), creators of Ignite UI — high-performance data grids that handle unlimited rows and columns, with custom templates and real-time updates.
273
174
 
274
- Email: <a href="info@apexcharts.com">info@apexcharts.com</a>
175
+ <p align="center"><a href="https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid" target="_blank"><img src="https://apexcharts.com/media/infragistics-data-grid.png" alt="Ignite UI Data Grid" /></a></p>
275
176
 
276
- Twitter: <a href="https://twitter.com/apexcharts">@apexcharts</a>
177
+ Available for:
277
178
 
278
- Facebook: <a href="https://facebook.com/apexcharts">fb.com/apexcharts</a>
179
+ [Angular](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid) · [React](https://www.infragistics.com/products/ignite-ui-react/react/components/grids) · [Blazor](https://www.infragistics.com/products/ignite-ui-blazor/blazor/components/data-grid) · [Web Components](https://www.infragistics.com/products/ignite-ui-web-components/web-components/components/data-grid) · [jQuery](https://www.igniteui.com/grid/overview)
279
180
 
280
- ## License
181
+ ## Contact
281
182
 
282
- ApexCharts is offered under a **dual-license model** to support individuals, startups, and commercial products of all sizes.
283
- Read full license agreements here: [https://apexcharts.com/license](https://apexcharts.com/license)
183
+ - Issues & bugs: [GitHub Issues](https://github.com/apexcharts/apexcharts.js/issues)
184
+ - Questions: [GitHub Discussions](https://github.com/apexcharts/apexcharts.js/discussions)
185
+ - Email: info@apexcharts.com