@automattic/charts 0.32.0 → 0.34.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 (477) hide show
  1. package/CHANGELOG.md +27 -6
  2. package/README.md +91 -7
  3. package/dist/{types/components/tooltip/base-tooltip.d.ts → base-tooltip-Dlq8KmQA.d.cts} +1 -1
  4. package/dist/base-tooltip-Dlq8KmQA.d.ts +32 -0
  5. package/dist/chunk-3F4KXMJ5.js +897 -0
  6. package/dist/chunk-3F4KXMJ5.js.map +1 -0
  7. package/dist/chunk-3Z526IL2.cjs +55 -0
  8. package/dist/chunk-3Z526IL2.cjs.map +1 -0
  9. package/dist/chunk-4J6P3XTQ.cjs +284 -0
  10. package/dist/chunk-4J6P3XTQ.cjs.map +1 -0
  11. package/dist/chunk-5JUW6JQO.js +353 -0
  12. package/dist/chunk-5JUW6JQO.js.map +1 -0
  13. package/dist/chunk-6KOC7ZWU.js +177 -0
  14. package/dist/chunk-6KOC7ZWU.js.map +1 -0
  15. package/dist/chunk-7OZEQ5HE.cjs +9 -0
  16. package/dist/chunk-7OZEQ5HE.cjs.map +1 -0
  17. package/dist/chunk-AMY2POSB.js +4324 -0
  18. package/dist/chunk-AMY2POSB.js.map +1 -0
  19. package/dist/chunk-BS3VZTWU.cjs +764 -0
  20. package/dist/chunk-BS3VZTWU.cjs.map +1 -0
  21. package/dist/chunk-CEOMF3BN.cjs +451 -0
  22. package/dist/chunk-CEOMF3BN.cjs.map +1 -0
  23. package/dist/chunk-CZDSDFHD.js +278 -0
  24. package/dist/chunk-CZDSDFHD.js.map +1 -0
  25. package/dist/chunk-D3DZT2EK.js +55 -0
  26. package/dist/chunk-D3DZT2EK.js.map +1 -0
  27. package/dist/chunk-EMMSS5I5.cjs +36 -0
  28. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  29. package/dist/chunk-FX2PTUFC.cjs +58 -0
  30. package/dist/chunk-FX2PTUFC.cjs.map +1 -0
  31. package/dist/chunk-G3PMV62Z.js +36 -0
  32. package/dist/chunk-G3PMV62Z.js.map +1 -0
  33. package/dist/chunk-H43FBWWZ.cjs +177 -0
  34. package/dist/chunk-H43FBWWZ.cjs.map +1 -0
  35. package/dist/chunk-JFRMYLPI.js +363 -0
  36. package/dist/chunk-JFRMYLPI.js.map +1 -0
  37. package/dist/chunk-KNTSYQPX.cjs +353 -0
  38. package/dist/chunk-KNTSYQPX.cjs.map +1 -0
  39. package/dist/chunk-KXOPD63R.cjs +4324 -0
  40. package/dist/chunk-KXOPD63R.cjs.map +1 -0
  41. package/dist/chunk-MFROL3SY.cjs +363 -0
  42. package/dist/chunk-MFROL3SY.cjs.map +1 -0
  43. package/dist/chunk-MNVVKT7E.js +195 -0
  44. package/dist/chunk-MNVVKT7E.js.map +1 -0
  45. package/dist/chunk-NB3M3ZHU.js +764 -0
  46. package/dist/chunk-NB3M3ZHU.js.map +1 -0
  47. package/dist/chunk-NFRB2POF.js +9 -0
  48. package/dist/chunk-NFRB2POF.js.map +1 -0
  49. package/dist/chunk-RXE5VSSC.cjs +897 -0
  50. package/dist/chunk-RXE5VSSC.cjs.map +1 -0
  51. package/dist/chunk-TYYW4BG3.js +58 -0
  52. package/dist/chunk-TYYW4BG3.js.map +1 -0
  53. package/dist/chunk-V3VAJ7ZP.cjs +195 -0
  54. package/dist/chunk-V3VAJ7ZP.cjs.map +1 -0
  55. package/dist/chunk-W33ZCFIV.cjs +278 -0
  56. package/dist/chunk-W33ZCFIV.cjs.map +1 -0
  57. package/dist/chunk-WFSQYOGO.js +451 -0
  58. package/dist/chunk-WFSQYOGO.js.map +1 -0
  59. package/dist/chunk-YPW7GVEY.js +284 -0
  60. package/dist/chunk-YPW7GVEY.js.map +1 -0
  61. package/dist/components/bar-chart/index.cjs +12 -0
  62. package/dist/components/bar-chart/index.cjs.map +1 -0
  63. package/dist/components/bar-chart/index.css +84 -0
  64. package/dist/components/bar-chart/index.css.map +1 -0
  65. package/dist/components/bar-chart/index.d.cts +31 -0
  66. package/dist/components/bar-chart/index.d.ts +31 -0
  67. package/dist/components/bar-chart/index.js +12 -0
  68. package/dist/components/bar-chart/index.js.map +1 -0
  69. package/dist/components/bar-list-chart/index.cjs +13 -0
  70. package/dist/components/bar-list-chart/index.cjs.map +1 -0
  71. package/dist/components/bar-list-chart/index.css +84 -0
  72. package/dist/components/bar-list-chart/index.css.map +1 -0
  73. package/dist/components/bar-list-chart/index.d.cts +84 -0
  74. package/dist/{types/components/bar-list-chart/bar-list-chart.d.ts → components/bar-list-chart/index.d.ts} +17 -5
  75. package/dist/components/bar-list-chart/index.js +13 -0
  76. package/dist/components/bar-list-chart/index.js.map +1 -0
  77. package/dist/components/conversion-funnel-chart/index.cjs +9 -0
  78. package/dist/components/conversion-funnel-chart/index.cjs.map +1 -0
  79. package/dist/components/conversion-funnel-chart/index.css +141 -0
  80. package/dist/components/conversion-funnel-chart/index.css.map +1 -0
  81. package/dist/{types/components/conversion-funnel-chart/conversion-funnel-chart.d.ts → components/conversion-funnel-chart/index.d.cts} +1 -1
  82. package/dist/components/conversion-funnel-chart/index.d.ts +94 -0
  83. package/dist/components/conversion-funnel-chart/index.js +9 -0
  84. package/dist/components/conversion-funnel-chart/index.js.map +1 -0
  85. package/dist/components/leaderboard-chart/index.cjs +12 -0
  86. package/dist/components/leaderboard-chart/index.cjs.map +1 -0
  87. package/dist/components/leaderboard-chart/index.css +46 -0
  88. package/dist/components/leaderboard-chart/index.css.map +1 -0
  89. package/dist/components/leaderboard-chart/index.d.cts +36 -0
  90. package/dist/{types/utils/format-metric-value.d.ts → components/leaderboard-chart/index.d.ts} +12 -0
  91. package/dist/components/leaderboard-chart/index.js +12 -0
  92. package/dist/components/leaderboard-chart/index.js.map +1 -0
  93. package/dist/components/legend/index.cjs +11 -0
  94. package/dist/components/legend/index.cjs.map +1 -0
  95. package/dist/components/legend/index.css +59 -0
  96. package/dist/components/legend/index.css.map +1 -0
  97. package/dist/components/legend/index.d.cts +33 -0
  98. package/dist/{types/components/legend/hooks/use-chart-legend-items.d.ts → components/legend/index.d.ts} +14 -3
  99. package/dist/components/legend/index.js +11 -0
  100. package/dist/components/legend/index.js.map +1 -0
  101. package/dist/components/line-chart/index.cjs +12 -0
  102. package/dist/components/line-chart/index.cjs.map +1 -0
  103. package/dist/components/line-chart/index.css +162 -0
  104. package/dist/components/line-chart/index.css.map +1 -0
  105. package/dist/components/line-chart/index.d.cts +91 -0
  106. package/dist/components/line-chart/index.d.ts +91 -0
  107. package/dist/components/line-chart/index.js +12 -0
  108. package/dist/components/line-chart/index.js.map +1 -0
  109. package/dist/components/pie-chart/index.cjs +16 -0
  110. package/dist/components/pie-chart/index.cjs.map +1 -0
  111. package/dist/components/pie-chart/index.css +79 -0
  112. package/dist/components/pie-chart/index.css.map +1 -0
  113. package/dist/components/pie-chart/index.d.cts +66 -0
  114. package/dist/{types/components/pie-chart/pie-chart.d.ts → components/pie-chart/index.d.ts} +24 -4
  115. package/dist/components/pie-chart/index.js +16 -0
  116. package/dist/components/pie-chart/index.js.map +1 -0
  117. package/dist/components/pie-semi-circle-chart/index.cjs +13 -0
  118. package/dist/components/pie-semi-circle-chart/index.cjs.map +1 -0
  119. package/dist/components/pie-semi-circle-chart/index.css +88 -0
  120. package/dist/components/pie-semi-circle-chart/index.css.map +1 -0
  121. package/dist/components/pie-semi-circle-chart/index.d.cts +50 -0
  122. package/dist/{types/components/pie-semi-circle-chart/pie-semi-circle-chart.d.ts → components/pie-semi-circle-chart/index.d.ts} +15 -4
  123. package/dist/components/pie-semi-circle-chart/index.js +13 -0
  124. package/dist/components/pie-semi-circle-chart/index.js.map +1 -0
  125. package/dist/components/tooltip/index.cjs +12 -0
  126. package/dist/components/tooltip/index.cjs.map +1 -0
  127. package/dist/components/tooltip/index.css +13 -0
  128. package/dist/components/tooltip/index.css.map +1 -0
  129. package/dist/components/tooltip/index.d.cts +68 -0
  130. package/dist/{types/components/tooltip/accessible-tooltip.d.ts → components/tooltip/index.d.ts} +21 -5
  131. package/dist/components/tooltip/index.js +12 -0
  132. package/dist/components/tooltip/index.js.map +1 -0
  133. package/dist/hooks/index.cjs +20 -0
  134. package/dist/hooks/index.cjs.map +1 -0
  135. package/dist/hooks/index.d.cts +116 -0
  136. package/dist/hooks/index.d.ts +116 -0
  137. package/dist/hooks/index.js +20 -0
  138. package/dist/hooks/index.js.map +1 -0
  139. package/dist/index.cjs +63 -0
  140. package/dist/index.cjs.map +1 -0
  141. package/dist/index.css +384 -0
  142. package/dist/index.css.map +1 -0
  143. package/dist/index.d.cts +29 -0
  144. package/dist/index.d.ts +29 -0
  145. package/dist/index.js +63 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/leaderboard-chart-BQwp7N9o.d.cts +43 -0
  148. package/dist/leaderboard-chart-Ki5_oTuo.d.ts +43 -0
  149. package/dist/legend-CGLLcxnk.d.cts +9 -0
  150. package/dist/{types/components/legend/legend.d.ts → legend-iXnk1-uq.d.ts} +2 -2
  151. package/dist/providers/index.cjs +28 -0
  152. package/dist/providers/index.cjs.map +1 -0
  153. package/dist/providers/index.d.cts +25 -0
  154. package/dist/providers/index.d.ts +25 -0
  155. package/dist/providers/index.js +28 -0
  156. package/dist/providers/index.js.map +1 -0
  157. package/dist/{types/components/legend/types.d.ts → types-4lieC41v.d.cts} +2 -2
  158. package/dist/types-4lieC41v.d.ts +31 -0
  159. package/dist/{types/components/private/chart-composition/types.d.ts → types-CqnQHiIy.d.cts} +3 -3
  160. package/dist/types-UkvpmJXU.d.ts +19 -0
  161. package/dist/{types/types.d.ts → types-pVkkGIaQ.d.cts} +66 -7
  162. package/dist/types-pVkkGIaQ.d.ts +387 -0
  163. package/dist/use-global-charts-theme-Cr2-_NOr.d.cts +81 -0
  164. package/dist/use-global-charts-theme-D8nlMH1c.d.ts +81 -0
  165. package/dist/visx/group/index.cjs +8 -0
  166. package/dist/visx/group/index.cjs.map +1 -0
  167. package/dist/visx/group/index.d.cts +3 -0
  168. package/dist/visx/group/index.d.ts +3 -0
  169. package/dist/visx/group/index.js +8 -0
  170. package/dist/visx/group/index.js.map +1 -0
  171. package/dist/visx/legend/index.cjs +10 -0
  172. package/dist/visx/legend/index.cjs.map +1 -0
  173. package/dist/visx/legend/index.js +10 -0
  174. package/dist/visx/legend/index.js.map +1 -0
  175. package/dist/visx/text/index.cjs +12 -0
  176. package/dist/visx/text/index.cjs.map +1 -0
  177. package/dist/visx/text/index.js +12 -0
  178. package/dist/visx/text/index.js.map +1 -0
  179. package/dist/{types/components/private/with-responsive/with-responsive.d.ts → with-responsive-Cp2qnQPo.d.cts} +1 -1
  180. package/dist/with-responsive-Cp2qnQPo.d.ts +16 -0
  181. package/package.json +127 -42
  182. package/src/components/bar-chart/bar-chart.module.scss +12 -0
  183. package/src/components/bar-chart/bar-chart.tsx +435 -0
  184. package/src/components/bar-chart/index.ts +2 -0
  185. package/src/components/bar-chart/private/index.ts +1 -0
  186. package/src/components/bar-chart/private/use-bar-chart-options.ts +135 -0
  187. package/src/components/bar-chart/test/bar-chart.test.tsx +566 -0
  188. package/src/components/bar-list-chart/bar-list-chart.tsx +316 -0
  189. package/src/components/bar-list-chart/index.ts +2 -0
  190. package/src/components/bar-list-chart/test/bar-list-chart.test.tsx +73 -0
  191. package/src/components/conversion-funnel-chart/conversion-funnel-chart.module.scss +165 -0
  192. package/src/components/conversion-funnel-chart/conversion-funnel-chart.tsx +462 -0
  193. package/src/components/conversion-funnel-chart/index.ts +9 -0
  194. package/src/components/conversion-funnel-chart/private/index.ts +1 -0
  195. package/src/components/conversion-funnel-chart/private/use-funnel-selection.ts +68 -0
  196. package/src/components/conversion-funnel-chart/test/conversion-funnel-chart.test.tsx +431 -0
  197. package/src/components/conversion-funnel-chart/test/use-funnel-selection.test.ts +206 -0
  198. package/src/components/leaderboard-chart/README.md +199 -0
  199. package/src/components/leaderboard-chart/index.ts +5 -0
  200. package/src/components/leaderboard-chart/leaderboard-chart.module.scss +55 -0
  201. package/src/components/leaderboard-chart/leaderboard-chart.tsx +209 -0
  202. package/src/components/leaderboard-chart/test/leaderboard-chart.test.tsx +123 -0
  203. package/src/components/leaderboard-chart/types.ts +46 -0
  204. package/src/components/legend/hooks/use-chart-legend-items.ts +212 -0
  205. package/src/components/legend/index.ts +4 -0
  206. package/src/components/legend/legend.tsx +33 -0
  207. package/src/components/legend/private/base-legend.module.scss +76 -0
  208. package/src/components/legend/private/base-legend.tsx +179 -0
  209. package/src/components/legend/private/index.ts +1 -0
  210. package/src/components/legend/test/legend.test.tsx +85 -0
  211. package/src/components/legend/types.ts +34 -0
  212. package/src/components/legend/utils/index.ts +3 -0
  213. package/{dist/cjs/components/legend/utils/label-transform-factory.js → src/components/legend/utils/label-transform-factory.ts} +15 -10
  214. package/{dist/cjs/components/legend/utils/value-or-identity.js → src/components/legend/utils/value-or-identity.ts} +8 -10
  215. package/src/components/line-chart/index.ts +9 -0
  216. package/src/components/line-chart/line-chart.module.scss +106 -0
  217. package/src/components/line-chart/line-chart.tsx +576 -0
  218. package/src/components/line-chart/private/index.ts +3 -0
  219. package/src/components/line-chart/private/line-chart-annotation-label-popover.tsx +111 -0
  220. package/src/components/line-chart/private/line-chart-annotation.tsx +321 -0
  221. package/src/components/line-chart/private/line-chart-annotations-overlay.tsx +135 -0
  222. package/src/components/line-chart/test/line-chart-annotation-label-popover.test.tsx +81 -0
  223. package/src/components/line-chart/test/line-chart-annotation.test.tsx +306 -0
  224. package/src/components/line-chart/test/line-chart.test.tsx +725 -0
  225. package/src/components/line-chart/types.ts +42 -0
  226. package/{dist/mjs/components/pie-chart/index.js → src/components/pie-chart/index.ts} +2 -1
  227. package/src/components/pie-chart/pie-chart.module.scss +5 -0
  228. package/src/components/pie-chart/pie-chart.tsx +384 -0
  229. package/src/components/pie-chart/test/composition-api.test.tsx +151 -0
  230. package/src/components/pie-chart/test/pie-chart.test.tsx +226 -0
  231. package/src/components/pie-semi-circle-chart/index.ts +2 -0
  232. package/src/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +17 -0
  233. package/src/components/pie-semi-circle-chart/pie-semi-circle-chart.tsx +375 -0
  234. package/src/components/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +181 -0
  235. package/{dist/mjs/components/private/chart-composition/chart-html.js → src/components/private/chart-composition/chart-html.tsx} +6 -7
  236. package/{dist/mjs/components/private/chart-composition/chart-svg.js → src/components/private/chart-composition/chart-svg.tsx} +6 -7
  237. package/src/components/private/chart-composition/index.ts +4 -0
  238. package/src/components/private/chart-composition/test/use-chart-children.test.tsx +131 -0
  239. package/src/components/private/chart-composition/types.ts +21 -0
  240. package/src/components/private/chart-composition/use-chart-children.ts +58 -0
  241. package/src/components/private/default-glyph/default-glyph.tsx +23 -0
  242. package/src/components/private/default-glyph/index.ts +1 -0
  243. package/src/components/private/grid-control/grid-control.module.scss +11 -0
  244. package/src/components/private/grid-control/grid-control.tsx +26 -0
  245. package/src/components/private/grid-control/index.ts +1 -0
  246. package/src/components/private/grid-control/test/grid-control.test.tsx +56 -0
  247. package/src/components/private/single-chart-context/index.ts +8 -0
  248. package/src/components/private/single-chart-context/single-chart-context.tsx +25 -0
  249. package/src/components/private/single-chart-context/use-single-chart-context.ts +12 -0
  250. package/src/components/private/with-responsive/index.ts +2 -0
  251. package/src/components/private/with-responsive/test/with-responsive.test.tsx +57 -0
  252. package/src/components/private/with-responsive/with-responsive.tsx +79 -0
  253. package/src/components/tooltip/accessible-tooltip.tsx +245 -0
  254. package/src/components/tooltip/base-tooltip.module.scss +11 -0
  255. package/src/components/tooltip/base-tooltip.tsx +57 -0
  256. package/src/components/tooltip/index.ts +4 -0
  257. package/src/components/tooltip/test/tool-tip.test.tsx +50 -0
  258. package/src/components/tooltip/types.ts +8 -0
  259. package/src/declarations.d.ts +5 -0
  260. package/src/hooks/index.ts +7 -0
  261. package/src/hooks/test/use-chart-data-transform.test.ts +135 -0
  262. package/src/hooks/test/use-chart-margin.test.tsx +119 -0
  263. package/src/hooks/test/use-chart-mouse-handler.test.tsx +53 -0
  264. package/src/hooks/test/use-element-height.test.tsx +270 -0
  265. package/src/hooks/use-chart-data-transform.ts +52 -0
  266. package/src/hooks/use-chart-margin.tsx +64 -0
  267. package/src/hooks/use-chart-mouse-handler.ts +88 -0
  268. package/{dist/mjs/hooks/use-deep-memo.js → src/hooks/use-deep-memo.ts} +8 -8
  269. package/src/hooks/use-element-height.ts +37 -0
  270. package/src/hooks/use-xychart-theme.ts +19 -0
  271. package/src/hooks/use-zero-value-display.ts +67 -0
  272. package/src/index.ts +32 -0
  273. package/src/providers/chart-context/global-charts-provider.tsx +96 -0
  274. package/src/providers/chart-context/hooks/use-chart-id.ts +6 -0
  275. package/src/providers/chart-context/hooks/use-chart-registration.ts +50 -0
  276. package/src/providers/chart-context/hooks/use-global-charts-context.ts +11 -0
  277. package/src/providers/chart-context/hooks/use-global-charts-theme.ts +30 -0
  278. package/src/providers/chart-context/index.ts +6 -0
  279. package/src/providers/chart-context/test/chart-context.test.tsx +584 -0
  280. package/src/providers/chart-context/test/use-global-charts-theme.test.tsx +206 -0
  281. package/src/providers/chart-context/types.ts +28 -0
  282. package/src/providers/index.ts +2 -0
  283. package/src/providers/theme/index.ts +2 -0
  284. package/src/providers/theme/theme-provider.tsx +35 -0
  285. package/src/providers/theme/themes.ts +193 -0
  286. package/src/types.ts +410 -0
  287. package/src/utils/color-utils.ts +40 -0
  288. package/{dist/mjs/utils/create-composition.js → src/utils/create-composition.ts} +5 -4
  289. package/{dist/mjs/utils/date-parsing.js → src/utils/date-parsing.ts} +40 -34
  290. package/src/utils/format-metric-value.ts +92 -0
  291. package/{dist/mjs/utils/format-percentage.js → src/utils/format-percentage.ts} +9 -11
  292. package/src/utils/get-longest-tick-width.ts +25 -0
  293. package/src/utils/get-styles.ts +84 -0
  294. package/src/utils/index.ts +25 -0
  295. package/src/utils/is-safari.ts +6 -0
  296. package/src/utils/merge-themes.ts +29 -0
  297. package/src/utils/test/color-utils.test.ts +232 -0
  298. package/src/utils/test/date-parsing.test.ts +306 -0
  299. package/src/utils/test/format-metric-value.test.ts +78 -0
  300. package/src/utils/test/get-longest-tick-width.test.ts +43 -0
  301. package/src/utils/test/get-styles.test.ts +334 -0
  302. package/src/utils/test/is-safari.test.ts +100 -0
  303. package/src/utils/test/merge-themes.test.ts +100 -0
  304. package/src/visx/README.md +43 -0
  305. package/src/visx/group/index.ts +2 -0
  306. package/src/visx/legend/index.ts +2 -0
  307. package/src/visx/text/index.ts +2 -0
  308. package/src/visx/types.ts +2 -0
  309. package/tsup.config.ts +33 -0
  310. package/agents.md +0 -155
  311. package/dist/cjs/components/bar-chart/bar-chart.js +0 -210
  312. package/dist/cjs/components/bar-chart/bar-chart.module.scss.js +0 -7
  313. package/dist/cjs/components/bar-chart/index.js +0 -7
  314. package/dist/cjs/components/bar-chart/private/use-bar-chart-options.js +0 -115
  315. package/dist/cjs/components/bar-list-chart/bar-list-chart.js +0 -144
  316. package/dist/cjs/components/bar-list-chart/index.js +0 -7
  317. package/dist/cjs/components/conversion-funnel-chart/conversion-funnel-chart.js +0 -246
  318. package/dist/cjs/components/conversion-funnel-chart/conversion-funnel-chart.module.scss.js +0 -7
  319. package/dist/cjs/components/conversion-funnel-chart/private/use-funnel-selection.js +0 -61
  320. package/dist/cjs/components/leaderboard-chart/index.js +0 -13
  321. package/dist/cjs/components/leaderboard-chart/leaderboard-chart.js +0 -113
  322. package/dist/cjs/components/leaderboard-chart/leaderboard-chart.module.scss.js +0 -7
  323. package/dist/cjs/components/legend/hooks/use-chart-legend-items.js +0 -125
  324. package/dist/cjs/components/legend/index.js +0 -9
  325. package/dist/cjs/components/legend/legend.js +0 -30
  326. package/dist/cjs/components/legend/private/base-legend.js +0 -78
  327. package/dist/cjs/components/legend/private/base-legend.module.scss.js +0 -7
  328. package/dist/cjs/components/line-chart/index.js +0 -7
  329. package/dist/cjs/components/line-chart/line-chart.js +0 -312
  330. package/dist/cjs/components/line-chart/line-chart.module.scss.js +0 -7
  331. package/dist/cjs/components/line-chart/private/line-chart-annotation-label-popover.js +0 -65
  332. package/dist/cjs/components/line-chart/private/line-chart-annotation.js +0 -197
  333. package/dist/cjs/components/line-chart/private/line-chart-annotations-overlay.js +0 -97
  334. package/dist/cjs/components/pie-chart/index.js +0 -8
  335. package/dist/cjs/components/pie-chart/pie-chart.js +0 -175
  336. package/dist/cjs/components/pie-chart/pie-chart.module.scss.js +0 -7
  337. package/dist/cjs/components/pie-semi-circle-chart/index.js +0 -7
  338. package/dist/cjs/components/pie-semi-circle-chart/pie-semi-circle-chart.js +0 -162
  339. package/dist/cjs/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss.js +0 -7
  340. package/dist/cjs/components/private/chart-composition/chart-html.js +0 -22
  341. package/dist/cjs/components/private/chart-composition/chart-svg.js +0 -22
  342. package/dist/cjs/components/private/chart-composition/use-chart-children.js +0 -55
  343. package/dist/cjs/components/private/default-glyph/default-glyph.js +0 -12
  344. package/dist/cjs/components/private/single-chart-context/single-chart-context.js +0 -10
  345. package/dist/cjs/components/private/single-chart-context/use-single-chart-context.js +0 -16
  346. package/dist/cjs/components/private/with-responsive/with-responsive.js +0 -37
  347. package/dist/cjs/components/tooltip/accessible-tooltip.js +0 -141
  348. package/dist/cjs/components/tooltip/base-tooltip.js +0 -11
  349. package/dist/cjs/components/tooltip/base-tooltip.module.scss.js +0 -7
  350. package/dist/cjs/components/tooltip/index.js +0 -10
  351. package/dist/cjs/hooks/use-chart-data-transform.js +0 -56
  352. package/dist/cjs/hooks/use-chart-margin.js +0 -49
  353. package/dist/cjs/hooks/use-chart-mouse-handler.js +0 -46
  354. package/dist/cjs/hooks/use-deep-memo.js +0 -21
  355. package/dist/cjs/hooks/use-element-height.js +0 -35
  356. package/dist/cjs/hooks/use-xychart-theme.js +0 -29
  357. package/dist/cjs/hooks/use-zero-value-display.js +0 -43
  358. package/dist/cjs/index.js +0 -68
  359. package/dist/cjs/providers/chart-context/global-charts-provider.js +0 -63
  360. package/dist/cjs/providers/chart-context/hooks/use-chart-id.js +0 -10
  361. package/dist/cjs/providers/chart-context/hooks/use-chart-registration.js +0 -47
  362. package/dist/cjs/providers/chart-context/hooks/use-global-charts-context.js +0 -14
  363. package/dist/cjs/providers/chart-context/hooks/use-global-charts-theme.js +0 -31
  364. package/dist/cjs/providers/chart-context/index.js +0 -16
  365. package/dist/cjs/providers/theme/index.js +0 -12
  366. package/dist/cjs/providers/theme/theme-provider.js +0 -25
  367. package/dist/cjs/providers/theme/themes.js +0 -183
  368. package/dist/cjs/style.css +0 -1
  369. package/dist/cjs/utils/color-utils.js +0 -39
  370. package/dist/cjs/utils/create-composition.js +0 -17
  371. package/dist/cjs/utils/date-parsing.js +0 -99
  372. package/dist/cjs/utils/format-metric-value.js +0 -76
  373. package/dist/cjs/utils/format-percentage.js +0 -24
  374. package/dist/cjs/utils/get-longest-tick-width.js +0 -19
  375. package/dist/cjs/utils/get-styles.js +0 -58
  376. package/dist/cjs/utils/is-safari.js +0 -10
  377. package/dist/cjs/utils/merge-themes.js +0 -21
  378. package/dist/cjs/visx/group/index.js +0 -10
  379. package/dist/cjs/visx/legend/index.js +0 -18
  380. package/dist/cjs/visx/text/index.js +0 -18
  381. package/dist/mjs/components/bar-chart/bar-chart.js +0 -206
  382. package/dist/mjs/components/bar-chart/bar-chart.module.scss.js +0 -3
  383. package/dist/mjs/components/bar-chart/index.js +0 -1
  384. package/dist/mjs/components/bar-chart/private/use-bar-chart-options.js +0 -113
  385. package/dist/mjs/components/bar-list-chart/bar-list-chart.js +0 -139
  386. package/dist/mjs/components/bar-list-chart/index.js +0 -1
  387. package/dist/mjs/components/conversion-funnel-chart/conversion-funnel-chart.js +0 -241
  388. package/dist/mjs/components/conversion-funnel-chart/conversion-funnel-chart.module.scss.js +0 -3
  389. package/dist/mjs/components/conversion-funnel-chart/private/use-funnel-selection.js +0 -59
  390. package/dist/mjs/components/leaderboard-chart/index.js +0 -6
  391. package/dist/mjs/components/leaderboard-chart/leaderboard-chart.js +0 -108
  392. package/dist/mjs/components/leaderboard-chart/leaderboard-chart.module.scss.js +0 -3
  393. package/dist/mjs/components/legend/hooks/use-chart-legend-items.js +0 -123
  394. package/dist/mjs/components/legend/index.js +0 -2
  395. package/dist/mjs/components/legend/legend.js +0 -28
  396. package/dist/mjs/components/legend/private/base-legend.js +0 -76
  397. package/dist/mjs/components/legend/private/base-legend.module.scss.js +0 -3
  398. package/dist/mjs/components/legend/utils/label-transform-factory.js +0 -17
  399. package/dist/mjs/components/legend/utils/value-or-identity.js +0 -20
  400. package/dist/mjs/components/line-chart/index.js +0 -1
  401. package/dist/mjs/components/line-chart/line-chart.js +0 -308
  402. package/dist/mjs/components/line-chart/line-chart.module.scss.js +0 -3
  403. package/dist/mjs/components/line-chart/private/line-chart-annotation-label-popover.js +0 -60
  404. package/dist/mjs/components/line-chart/private/line-chart-annotation.js +0 -192
  405. package/dist/mjs/components/line-chart/private/line-chart-annotations-overlay.js +0 -93
  406. package/dist/mjs/components/pie-chart/pie-chart.js +0 -170
  407. package/dist/mjs/components/pie-chart/pie-chart.module.scss.js +0 -3
  408. package/dist/mjs/components/pie-semi-circle-chart/index.js +0 -1
  409. package/dist/mjs/components/pie-semi-circle-chart/pie-semi-circle-chart.js +0 -158
  410. package/dist/mjs/components/pie-semi-circle-chart/pie-semi-circle-chart.module.scss.js +0 -3
  411. package/dist/mjs/components/private/chart-composition/use-chart-children.js +0 -53
  412. package/dist/mjs/components/private/default-glyph/default-glyph.js +0 -10
  413. package/dist/mjs/components/private/single-chart-context/single-chart-context.js +0 -7
  414. package/dist/mjs/components/private/single-chart-context/use-single-chart-context.js +0 -13
  415. package/dist/mjs/components/private/with-responsive/with-responsive.js +0 -35
  416. package/dist/mjs/components/tooltip/accessible-tooltip.js +0 -135
  417. package/dist/mjs/components/tooltip/base-tooltip.js +0 -9
  418. package/dist/mjs/components/tooltip/base-tooltip.module.scss.js +0 -3
  419. package/dist/mjs/components/tooltip/index.js +0 -2
  420. package/dist/mjs/hooks/use-chart-data-transform.js +0 -54
  421. package/dist/mjs/hooks/use-chart-margin.js +0 -47
  422. package/dist/mjs/hooks/use-chart-mouse-handler.js +0 -44
  423. package/dist/mjs/hooks/use-element-height.js +0 -33
  424. package/dist/mjs/hooks/use-xychart-theme.js +0 -27
  425. package/dist/mjs/hooks/use-zero-value-display.js +0 -41
  426. package/dist/mjs/index.js +0 -21
  427. package/dist/mjs/providers/chart-context/global-charts-provider.js +0 -60
  428. package/dist/mjs/providers/chart-context/hooks/use-chart-id.js +0 -8
  429. package/dist/mjs/providers/chart-context/hooks/use-chart-registration.js +0 -45
  430. package/dist/mjs/providers/chart-context/hooks/use-global-charts-context.js +0 -12
  431. package/dist/mjs/providers/chart-context/hooks/use-global-charts-theme.js +0 -29
  432. package/dist/mjs/providers/chart-context/index.js +0 -5
  433. package/dist/mjs/providers/theme/index.js +0 -2
  434. package/dist/mjs/providers/theme/theme-provider.js +0 -22
  435. package/dist/mjs/providers/theme/themes.js +0 -179
  436. package/dist/mjs/style.css +0 -1
  437. package/dist/mjs/utils/color-utils.js +0 -37
  438. package/dist/mjs/utils/format-metric-value.js +0 -74
  439. package/dist/mjs/utils/get-longest-tick-width.js +0 -17
  440. package/dist/mjs/utils/get-styles.js +0 -54
  441. package/dist/mjs/utils/is-safari.js +0 -8
  442. package/dist/mjs/utils/merge-themes.js +0 -19
  443. package/dist/mjs/visx/group/index.js +0 -1
  444. package/dist/types/components/bar-chart/bar-chart.d.ts +0 -21
  445. package/dist/types/components/bar-chart/index.d.ts +0 -1
  446. package/dist/types/components/bar-list-chart/index.d.ts +0 -1
  447. package/dist/types/components/leaderboard-chart/index.d.ts +0 -2
  448. package/dist/types/components/leaderboard-chart/leaderboard-chart.d.ts +0 -102
  449. package/dist/types/components/legend/index.d.ts +0 -3
  450. package/dist/types/components/line-chart/index.d.ts +0 -2
  451. package/dist/types/components/line-chart/line-chart.d.ts +0 -18
  452. package/dist/types/components/line-chart/private/line-chart-annotation.d.ts +0 -6
  453. package/dist/types/components/line-chart/private/line-chart-annotations-overlay.d.ts +0 -8
  454. package/dist/types/components/line-chart/types.d.ts +0 -61
  455. package/dist/types/components/pie-chart/index.d.ts +0 -1
  456. package/dist/types/components/pie-semi-circle-chart/index.d.ts +0 -1
  457. package/dist/types/components/private/single-chart-context/single-chart-context.d.ts +0 -19
  458. package/dist/types/components/tooltip/index.d.ts +0 -3
  459. package/dist/types/components/tooltip/types.d.ts +0 -8
  460. package/dist/types/index.d.ts +0 -18
  461. package/dist/types/providers/chart-context/global-charts-provider.d.ts +0 -14
  462. package/dist/types/providers/chart-context/hooks/use-chart-id.d.ts +0 -3
  463. package/dist/types/providers/chart-context/hooks/use-chart-registration.d.ts +0 -11
  464. package/dist/types/providers/chart-context/hooks/use-global-charts-context.d.ts +0 -5
  465. package/dist/types/providers/chart-context/hooks/use-global-charts-theme.d.ts +0 -14
  466. package/dist/types/providers/chart-context/index.d.ts +0 -6
  467. package/dist/types/providers/chart-context/types.d.ts +0 -29
  468. package/dist/types/providers/theme/index.d.ts +0 -2
  469. package/dist/types/providers/theme/theme-provider.d.ts +0 -20
  470. package/dist/types/providers/theme/themes.d.ts +0 -16
  471. package/dist/types/visx/group/index.d.ts +0 -1
  472. package/rollup.config.mjs +0 -109
  473. package/webpack.config.cjs +0 -144
  474. /package/dist/{mjs/visx/legend/index.js → visx/legend/index.d.cts} +0 -0
  475. /package/dist/{types/visx → visx}/legend/index.d.ts +0 -0
  476. /package/dist/{mjs/visx/text/index.js → visx/text/index.d.cts} +0 -0
  477. /package/dist/{types/visx → visx}/text/index.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -5,18 +5,37 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.34.0] - 2025-09-08
9
+ ### Changed
10
+ - Leaderboard Chart: Extend BaseChartProps [#45100]
11
+
12
+ ### Fixed
13
+ - Fix SASS and CSS Modules processing. [#45098]
14
+
15
+ ## [0.33.0] - 2025-09-08
16
+ ### Added
17
+ - Add ability to control percentage vs. value display. [#45052]
18
+
19
+ ### Changed
20
+ - Leaderboard Chart: Use GlobalContextProvider theme for colors. [#45067]
21
+ - Update package dependencies. [#45027] [#45097]
22
+ - Use `tsup` for builds. [#45051]
23
+
24
+ ### Fixed
25
+ - Allow type-checking of tests and stories. [#45082]
26
+
8
27
  ## [0.32.0] - 2025-09-02
9
28
  ### Added
10
- - Charts: adds controls for label visibility [#45040]
29
+ - Add controls for label visibility. [#45040]
11
30
 
12
31
  ### Changed
13
- - Charts: format percentage values to be prettier [#45032]
14
- - Charts: Use a global context provider for theme configuration in all stories [#45028]
15
- - Charts: use getStringWidth for label size calculations [#45030]
16
- - Fix the conversion-funnel-chart component exportation [#45033]
32
+ - Fix the conversion-funnel-chart component export. [#45033]
33
+ - Format percentage values to be prettier. [#45032]
34
+ - Use a global context provider for theme configuration in all stories. [#45028]
35
+ - Use `getStringWidth` for label size calculations. [#45030]
17
36
 
18
37
  ### Fixed
19
- - All charts were affected due to z-index. [#45043]
38
+ - Prevent z-index issue across all charts. [#45043]
20
39
 
21
40
  ## [0.31.0] - 2025-09-01
22
41
  ### Added
@@ -418,6 +437,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
418
437
  - Fixed lints following ESLint rule changes for TS [#40584]
419
438
  - Fixing a bug in Chart storybook data. [#40640]
420
439
 
440
+ [0.34.0]: https://github.com/Automattic/charts/compare/v0.33.0...v0.34.0
441
+ [0.33.0]: https://github.com/Automattic/charts/compare/v0.32.0...v0.33.0
421
442
  [0.32.0]: https://github.com/Automattic/charts/compare/v0.31.0...v0.32.0
422
443
  [0.31.0]: https://github.com/Automattic/charts/compare/v0.30.0...v0.31.0
423
444
  [0.30.0]: https://github.com/Automattic/charts/compare/v0.29.0...v0.30.0
package/README.md CHANGED
@@ -16,22 +16,106 @@ pnpm add @automattic/charts
16
16
  yarn add @automattic/charts
17
17
  ```
18
18
 
19
- ### Local development with Storybook
19
+ ### Importing Components
20
20
 
21
- To run Storybook locally, from the root of the monorepo follow these steps:
21
+ You can import charts from the package in several ways depending on your needs:
22
22
 
23
- 1. Run `pnpm install` to install the dependencies.
24
- 2. Run `cd projects/js-packages/charts` to navigate to the charts package.
25
- 3. Run `pnpm run storybook` to start the storybook server.
23
+ #### Option 1: Import everything from the main entry (includes all styles)
26
24
 
27
- ## Contributing
25
+ ```javascript
26
+ import { LineChart, BarChart, PieChart } from '@automattic/charts';
27
+ import '@automattic/charts/style.css'; // Import all styles
28
+ ```
28
29
 
29
- Ready to contribute? Check out the [Jetpack contributing guide](https://github.com/Automattic/jetpack/blob/trunk/docs/CONTRIBUTING.md) and the [Charts AI documentation guide](https://github.com/Automattic/jetpack/blob/trunk/projects/js-packages/charts/docs/ai-documentation-guide.md) for detailed information on adding new features and documentation.
30
+ #### Option 2: Import individual components (tree-shaking friendly)
31
+
32
+ For better bundle optimization, you can import components individually:
33
+
34
+ ```javascript
35
+ // Import individual components
36
+ import { LineChart } from '@automattic/charts/line-chart';
37
+ import { BarChart } from '@automattic/charts/bar-chart';
38
+ import { PieChart } from '@automattic/charts/pie-chart';
39
+
40
+ // Import individual component styles
41
+ import '@automattic/charts/line-chart/style.css';
42
+ import '@automattic/charts/bar-chart/style.css';
43
+ import '@automattic/charts/pie-chart/style.css';
44
+ ```
45
+
46
+ Individual entry exports also provide easier access to chart-specific types and helpers when available. This makes it simpler to find and leverage TypeScript types, utility functions, and other chart-specific tools that are exported alongside the main component.
47
+
48
+ #### Available Components and Entry Points
49
+
50
+ The following components can be imported individually:
51
+
52
+ - `@automattic/charts/bar-chart` - Bar Chart component
53
+ - `@automattic/charts/bar-list-chart` - Bar List Chart component
54
+ - `@automattic/charts/conversion-funnel-chart` - Conversion Funnel Chart component
55
+ - `@automattic/charts/leaderboard-chart` - Leaderboard Chart component
56
+ - `@automattic/charts/legend` - Legend component
57
+ - `@automattic/charts/line-chart` - Line Chart component
58
+ - `@automattic/charts/pie-chart` - Pie Chart component
59
+ - `@automattic/charts/pie-semi-circle-chart` - Pie Semi-Circle Chart component
60
+ - `@automattic/charts/tooltip` - Tooltip component
61
+ - `@automattic/charts/hooks` - React hooks
62
+ - `@automattic/charts/providers` - Context providers
63
+ - `@automattic/charts/visx/group` - Visx group utilities
64
+ - `@automattic/charts/visx/legend` - Visx legend utilities
65
+ - `@automattic/charts/visx/text` - Visx text utilities
66
+
67
+ #### Available Style Imports
68
+
69
+ Each component has its own CSS file that can be imported individually:
70
+
71
+ - `@automattic/charts/bar-chart/style.css`
72
+ - `@automattic/charts/bar-list-chart/style.css`
73
+ - `@automattic/charts/conversion-funnel-chart/style.css`
74
+ - `@automattic/charts/leaderboard-chart/style.css`
75
+ - `@automattic/charts/legend/style.css`
76
+ - `@automattic/charts/line-chart/style.css`
77
+ - `@automattic/charts/pie-chart/style.css`
78
+ - `@automattic/charts/pie-semi-circle-chart/style.css`
79
+ - `@automattic/charts/tooltip/style.css`
80
+
81
+ ### Basic Usage Example
82
+
83
+ ```javascript
84
+ import React from 'react';
85
+ import { LineChart } from '@automattic/charts';
86
+ import '@automattic/charts/line-chart/style.css';
87
+
88
+ const data = [
89
+ { date: new Date( '2024-01-01' ), value: 10 },
90
+ { date: new Date( '2024-01-02' ), value: 90 }, // Sharp rise
91
+ { date: new Date( '2024-01-03' ), value: 85 }, // Slight decline
92
+ { date: new Date( '2024-01-04' ), value: 82 }, // Gradual decline
93
+ { date: new Date( '2024-01-05' ), value: 5 }, // Sharp drop
94
+ { date: new Date( '2024-01-06' ), value: 8 }, // Slight rise
95
+ { date: new Date( '2024-01-07' ), value: 10 }, // Gradual rise
96
+ ];
97
+
98
+ function MyComponent() {
99
+ return <LineChart data={ data } width={ 400 } height={ 300 } />;
100
+ }
101
+ ```
30
102
 
31
103
  ## Using this package in your WordPress plugin
32
104
 
33
105
  If you plan on using this package in your WordPress plugin, we would recommend that you use [Jetpack Autoloader](https://packagist.org/packages/automattic/jetpack-autoloader) as your autoloader. This will allow for maximum interoperability with other plugins that use this package as well.
34
106
 
107
+ ## Contributing
108
+
109
+ Ready to contribute? Check out the [Jetpack contributing guide](https://github.com/Automattic/jetpack/blob/trunk/docs/CONTRIBUTING.md) and the [Charts AI documentation guide](https://github.com/Automattic/jetpack/blob/trunk/projects/js-packages/charts/docs/ai-documentation-guide.md) for detailed information on adding new features and documentation.
110
+
111
+ ### Local development with Storybook
112
+
113
+ To run Storybook locally, from the root of the monorepo follow these steps:
114
+
115
+ 1. Run `pnpm install` to install the dependencies.
116
+ 2. Run `cd projects/js-packages/charts` to navigate to the charts package.
117
+ 3. Run `pnpm run storybook` to start the storybook server.
118
+
35
119
  ## Security
36
120
 
37
121
  Need to report a security vulnerability? Go to [https://automattic.com/security/](https://automattic.com/security/) or directly to our security bug bounty site [https://hackerone.com/automattic](https://hackerone.com/automattic).
@@ -29,4 +29,4 @@ type CustomTooltip = {
29
29
  type BaseTooltipProps = TooltipCommonProps & (DefaultDataTooltip | CustomTooltip);
30
30
  declare const BaseTooltip: ({ data, top, left, component: Component, children, className, }: BaseTooltipProps) => react_jsx_runtime.JSX.Element;
31
31
 
32
- export { BaseTooltip, type BaseTooltipProps, type TooltipData };
32
+ export { BaseTooltip as B, type TooltipData as T, type BaseTooltipProps as a };
@@ -0,0 +1,32 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { CSSProperties, ComponentType, ReactNode } from 'react';
3
+
4
+ type TooltipData = {
5
+ label: string;
6
+ value: number;
7
+ valueDisplay?: string;
8
+ };
9
+ type TooltipComponentProps = {
10
+ data: TooltipData;
11
+ className?: string;
12
+ };
13
+ type TooltipCommonProps = {
14
+ top: number;
15
+ left: number;
16
+ style?: CSSProperties;
17
+ className?: string;
18
+ };
19
+ type DefaultDataTooltip = {
20
+ data: TooltipData;
21
+ component?: ComponentType<TooltipComponentProps>;
22
+ children?: never;
23
+ };
24
+ type CustomTooltip = {
25
+ children: ReactNode;
26
+ data?: never;
27
+ component?: never;
28
+ };
29
+ type BaseTooltipProps = TooltipCommonProps & (DefaultDataTooltip | CustomTooltip);
30
+ declare const BaseTooltip: ({ data, top, left, component: Component, children, className, }: BaseTooltipProps) => react_jsx_runtime.JSX.Element;
31
+
32
+ export { BaseTooltip as B, type TooltipData as T, type BaseTooltipProps as a };