@automattic/charts 0.57.0 → 0.59.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 (267) hide show
  1. package/CHANGELOG.md +36 -2
  2. package/README.md +7 -54
  3. package/dist/index.cjs +9607 -21
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.css +32 -49
  6. package/dist/index.css.map +1 -1
  7. package/dist/index.d.cts +1612 -33
  8. package/dist/index.d.ts +1612 -33
  9. package/dist/index.js +9640 -54
  10. package/dist/index.js.map +1 -1
  11. package/package.json +9 -126
  12. package/src/charts/bar-chart/bar-chart.module.scss +0 -5
  13. package/src/charts/bar-chart/bar-chart.tsx +142 -149
  14. package/src/charts/bar-chart/test/bar-chart.test.tsx +48 -31
  15. package/src/charts/leaderboard-chart/leaderboard-chart.tsx +54 -74
  16. package/src/charts/leaderboard-chart/test/leaderboard-chart.test.tsx +4 -5
  17. package/src/charts/leaderboard-chart/types.ts +1 -11
  18. package/src/charts/line-chart/line-chart.module.scss +0 -5
  19. package/src/charts/line-chart/line-chart.tsx +202 -193
  20. package/src/charts/line-chart/private/line-chart-annotations-overlay.tsx +1 -2
  21. package/src/charts/line-chart/test/line-chart.test.tsx +49 -27
  22. package/src/charts/line-chart/types.ts +0 -1
  23. package/src/charts/pie-chart/pie-chart.module.scss +2 -10
  24. package/src/charts/pie-chart/pie-chart.tsx +212 -212
  25. package/src/charts/pie-chart/test/composition-api.test.tsx +44 -3
  26. package/src/charts/pie-chart/test/pie-chart.test.tsx +51 -44
  27. package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +2 -8
  28. package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx +166 -168
  29. package/src/charts/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +58 -30
  30. package/src/charts/private/chart-composition/index.ts +2 -0
  31. package/src/charts/private/chart-composition/render-legend-slot.ts +22 -0
  32. package/src/charts/private/chart-composition/test/render-legend-slot.test.tsx +60 -0
  33. package/src/charts/private/chart-composition/test/use-chart-children.test.tsx +91 -0
  34. package/src/charts/private/chart-composition/use-chart-children.ts +34 -2
  35. package/src/charts/private/chart-layout/chart-layout.module.scss +7 -0
  36. package/src/charts/private/chart-layout/chart-layout.tsx +106 -0
  37. package/src/charts/private/chart-layout/index.ts +2 -0
  38. package/src/charts/private/chart-layout/test/chart-layout.test.tsx +167 -0
  39. package/src/charts/private/single-chart-context/single-chart-context.tsx +2 -2
  40. package/src/charts/private/svg-empty-state/index.ts +1 -0
  41. package/src/charts/private/svg-empty-state/svg-empty-state.module.scss +7 -0
  42. package/src/charts/private/svg-empty-state/svg-empty-state.tsx +40 -0
  43. package/src/components/legend/hooks/test/use-chart-legend-items.test.tsx +12 -8
  44. package/src/components/legend/hooks/use-chart-legend-items.ts +12 -13
  45. package/src/components/legend/index.ts +1 -8
  46. package/src/components/legend/legend.tsx +33 -8
  47. package/src/components/legend/private/base-legend.module.scss +19 -37
  48. package/src/components/legend/private/base-legend.tsx +0 -2
  49. package/src/components/legend/test/legend.test.tsx +93 -1
  50. package/src/components/legend/types.ts +7 -34
  51. package/src/hooks/index.ts +1 -1
  52. package/src/hooks/use-data-with-percentages.ts +24 -0
  53. package/src/hooks/use-interactive-legend-data.ts +18 -15
  54. package/src/index.ts +66 -9
  55. package/src/providers/chart-context/global-charts-provider.tsx +7 -1
  56. package/src/providers/chart-context/hooks/use-chart-registration.ts +2 -1
  57. package/src/providers/chart-context/types.ts +2 -2
  58. package/src/types.ts +110 -45
  59. package/src/utils/date-parsing.ts +10 -1
  60. package/src/utils/test/date-parsing.test.ts +12 -0
  61. package/src/utils/test/resolve-css-var.test.ts +4 -2
  62. package/tsup.config.ts +1 -1
  63. package/dist/base-tooltip-DOq93wjU.d.cts +0 -38
  64. package/dist/base-tooltip-DOq93wjU.d.ts +0 -38
  65. package/dist/charts/bar-chart/index.cjs +0 -15
  66. package/dist/charts/bar-chart/index.cjs.map +0 -1
  67. package/dist/charts/bar-chart/index.css +0 -153
  68. package/dist/charts/bar-chart/index.css.map +0 -1
  69. package/dist/charts/bar-chart/index.d.cts +0 -37
  70. package/dist/charts/bar-chart/index.d.ts +0 -37
  71. package/dist/charts/bar-chart/index.js +0 -15
  72. package/dist/charts/bar-chart/index.js.map +0 -1
  73. package/dist/charts/bar-list-chart/index.cjs +0 -16
  74. package/dist/charts/bar-list-chart/index.cjs.map +0 -1
  75. package/dist/charts/bar-list-chart/index.css +0 -153
  76. package/dist/charts/bar-list-chart/index.css.map +0 -1
  77. package/dist/charts/bar-list-chart/index.d.cts +0 -92
  78. package/dist/charts/bar-list-chart/index.d.ts +0 -92
  79. package/dist/charts/bar-list-chart/index.js +0 -16
  80. package/dist/charts/bar-list-chart/index.js.map +0 -1
  81. package/dist/charts/conversion-funnel-chart/index.cjs +0 -11
  82. package/dist/charts/conversion-funnel-chart/index.cjs.map +0 -1
  83. package/dist/charts/conversion-funnel-chart/index.css +0 -251
  84. package/dist/charts/conversion-funnel-chart/index.css.map +0 -1
  85. package/dist/charts/conversion-funnel-chart/index.d.cts +0 -97
  86. package/dist/charts/conversion-funnel-chart/index.d.ts +0 -97
  87. package/dist/charts/conversion-funnel-chart/index.js +0 -11
  88. package/dist/charts/conversion-funnel-chart/index.js.map +0 -1
  89. package/dist/charts/geo-chart/index.cjs +0 -13
  90. package/dist/charts/geo-chart/index.cjs.map +0 -1
  91. package/dist/charts/geo-chart/index.css +0 -117
  92. package/dist/charts/geo-chart/index.css.map +0 -1
  93. package/dist/charts/geo-chart/index.d.cts +0 -67
  94. package/dist/charts/geo-chart/index.d.ts +0 -67
  95. package/dist/charts/geo-chart/index.js +0 -13
  96. package/dist/charts/geo-chart/index.js.map +0 -1
  97. package/dist/charts/leaderboard-chart/index.cjs +0 -20
  98. package/dist/charts/leaderboard-chart/index.cjs.map +0 -1
  99. package/dist/charts/leaderboard-chart/index.css +0 -172
  100. package/dist/charts/leaderboard-chart/index.css.map +0 -1
  101. package/dist/charts/leaderboard-chart/index.d.cts +0 -46
  102. package/dist/charts/leaderboard-chart/index.d.ts +0 -46
  103. package/dist/charts/leaderboard-chart/index.js +0 -20
  104. package/dist/charts/leaderboard-chart/index.js.map +0 -1
  105. package/dist/charts/line-chart/index.cjs +0 -15
  106. package/dist/charts/line-chart/index.cjs.map +0 -1
  107. package/dist/charts/line-chart/index.css +0 -225
  108. package/dist/charts/line-chart/index.css.map +0 -1
  109. package/dist/charts/line-chart/index.d.cts +0 -99
  110. package/dist/charts/line-chart/index.d.ts +0 -99
  111. package/dist/charts/line-chart/index.js +0 -15
  112. package/dist/charts/line-chart/index.js.map +0 -1
  113. package/dist/charts/pie-chart/index.cjs +0 -18
  114. package/dist/charts/pie-chart/index.cjs.map +0 -1
  115. package/dist/charts/pie-chart/index.css +0 -143
  116. package/dist/charts/pie-chart/index.css.map +0 -1
  117. package/dist/charts/pie-chart/index.d.cts +0 -97
  118. package/dist/charts/pie-chart/index.d.ts +0 -97
  119. package/dist/charts/pie-chart/index.js +0 -18
  120. package/dist/charts/pie-chart/index.js.map +0 -1
  121. package/dist/charts/pie-semi-circle-chart/index.cjs +0 -17
  122. package/dist/charts/pie-semi-circle-chart/index.cjs.map +0 -1
  123. package/dist/charts/pie-semi-circle-chart/index.css +0 -144
  124. package/dist/charts/pie-semi-circle-chart/index.css.map +0 -1
  125. package/dist/charts/pie-semi-circle-chart/index.d.cts +0 -94
  126. package/dist/charts/pie-semi-circle-chart/index.d.ts +0 -94
  127. package/dist/charts/pie-semi-circle-chart/index.js +0 -17
  128. package/dist/charts/pie-semi-circle-chart/index.js.map +0 -1
  129. package/dist/charts/sparkline/index.cjs +0 -16
  130. package/dist/charts/sparkline/index.cjs.map +0 -1
  131. package/dist/charts/sparkline/index.css +0 -242
  132. package/dist/charts/sparkline/index.css.map +0 -1
  133. package/dist/charts/sparkline/index.d.cts +0 -113
  134. package/dist/charts/sparkline/index.d.ts +0 -113
  135. package/dist/charts/sparkline/index.js +0 -16
  136. package/dist/charts/sparkline/index.js.map +0 -1
  137. package/dist/chunk-2A34OA5O.cjs +0 -51
  138. package/dist/chunk-2A34OA5O.cjs.map +0 -1
  139. package/dist/chunk-2NCY7R4G.js +0 -3897
  140. package/dist/chunk-2NCY7R4G.js.map +0 -1
  141. package/dist/chunk-32DH6JDF.js +0 -1263
  142. package/dist/chunk-32DH6JDF.js.map +0 -1
  143. package/dist/chunk-4OPFE4RM.js +0 -614
  144. package/dist/chunk-4OPFE4RM.js.map +0 -1
  145. package/dist/chunk-6CCZL2JJ.js +0 -63
  146. package/dist/chunk-6CCZL2JJ.js.map +0 -1
  147. package/dist/chunk-77OKCVQN.cjs +0 -421
  148. package/dist/chunk-77OKCVQN.cjs.map +0 -1
  149. package/dist/chunk-7FQX4ALL.cjs +0 -219
  150. package/dist/chunk-7FQX4ALL.cjs.map +0 -1
  151. package/dist/chunk-ASLARV7L.cjs +0 -81
  152. package/dist/chunk-ASLARV7L.cjs.map +0 -1
  153. package/dist/chunk-BCX5THDQ.js +0 -403
  154. package/dist/chunk-BCX5THDQ.js.map +0 -1
  155. package/dist/chunk-BPYKWMI7.js +0 -194
  156. package/dist/chunk-BPYKWMI7.js.map +0 -1
  157. package/dist/chunk-CZGYJKG6.js +0 -421
  158. package/dist/chunk-CZGYJKG6.js.map +0 -1
  159. package/dist/chunk-D2UH4CFE.cjs +0 -120
  160. package/dist/chunk-D2UH4CFE.cjs.map +0 -1
  161. package/dist/chunk-DAU3HNEG.js +0 -344
  162. package/dist/chunk-DAU3HNEG.js.map +0 -1
  163. package/dist/chunk-H2V4JMSA.js +0 -219
  164. package/dist/chunk-H2V4JMSA.js.map +0 -1
  165. package/dist/chunk-I2276W3I.cjs +0 -66
  166. package/dist/chunk-I2276W3I.cjs.map +0 -1
  167. package/dist/chunk-I35UYJJR.cjs +0 -468
  168. package/dist/chunk-I35UYJJR.cjs.map +0 -1
  169. package/dist/chunk-IU4DYUAV.js +0 -120
  170. package/dist/chunk-IU4DYUAV.js.map +0 -1
  171. package/dist/chunk-KXRWNFQJ.js +0 -51
  172. package/dist/chunk-KXRWNFQJ.js.map +0 -1
  173. package/dist/chunk-OP6PHB2U.js +0 -81
  174. package/dist/chunk-OP6PHB2U.js.map +0 -1
  175. package/dist/chunk-PXLEMUGJ.js +0 -165
  176. package/dist/chunk-PXLEMUGJ.js.map +0 -1
  177. package/dist/chunk-RCY6XLGU.cjs +0 -63
  178. package/dist/chunk-RCY6XLGU.cjs.map +0 -1
  179. package/dist/chunk-RHHVEJHJ.cjs +0 -1263
  180. package/dist/chunk-RHHVEJHJ.cjs.map +0 -1
  181. package/dist/chunk-TO3OQBXG.cjs +0 -165
  182. package/dist/chunk-TO3OQBXG.cjs.map +0 -1
  183. package/dist/chunk-V36ERY7Y.js +0 -375
  184. package/dist/chunk-V36ERY7Y.js.map +0 -1
  185. package/dist/chunk-VJM5XCB4.cjs +0 -614
  186. package/dist/chunk-VJM5XCB4.cjs.map +0 -1
  187. package/dist/chunk-VTS3PNMS.cjs +0 -344
  188. package/dist/chunk-VTS3PNMS.cjs.map +0 -1
  189. package/dist/chunk-WLODYNLB.js +0 -1067
  190. package/dist/chunk-WLODYNLB.js.map +0 -1
  191. package/dist/chunk-XKRJL2QT.cjs +0 -375
  192. package/dist/chunk-XKRJL2QT.cjs.map +0 -1
  193. package/dist/chunk-XWYZIFZW.js +0 -66
  194. package/dist/chunk-XWYZIFZW.js.map +0 -1
  195. package/dist/chunk-Y3NNQMAX.cjs +0 -194
  196. package/dist/chunk-Y3NNQMAX.cjs.map +0 -1
  197. package/dist/chunk-YE2T52VZ.cjs +0 -1067
  198. package/dist/chunk-YE2T52VZ.cjs.map +0 -1
  199. package/dist/chunk-Z26M4V2M.js +0 -468
  200. package/dist/chunk-Z26M4V2M.js.map +0 -1
  201. package/dist/chunk-Z45KX47P.cjs +0 -3897
  202. package/dist/chunk-Z45KX47P.cjs.map +0 -1
  203. package/dist/chunk-ZH4F5RMG.cjs +0 -403
  204. package/dist/chunk-ZH4F5RMG.cjs.map +0 -1
  205. package/dist/components/legend/index.cjs +0 -11
  206. package/dist/components/legend/index.cjs.map +0 -1
  207. package/dist/components/legend/index.css +0 -103
  208. package/dist/components/legend/index.css.map +0 -1
  209. package/dist/components/legend/index.d.cts +0 -37
  210. package/dist/components/legend/index.d.ts +0 -37
  211. package/dist/components/legend/index.js +0 -11
  212. package/dist/components/legend/index.js.map +0 -1
  213. package/dist/components/tooltip/index.cjs +0 -12
  214. package/dist/components/tooltip/index.cjs.map +0 -1
  215. package/dist/components/tooltip/index.css +0 -13
  216. package/dist/components/tooltip/index.css.map +0 -1
  217. package/dist/components/tooltip/index.d.cts +0 -71
  218. package/dist/components/tooltip/index.d.ts +0 -71
  219. package/dist/components/tooltip/index.js +0 -12
  220. package/dist/components/tooltip/index.js.map +0 -1
  221. package/dist/components/trend-indicator/index.cjs +0 -8
  222. package/dist/components/trend-indicator/index.cjs.map +0 -1
  223. package/dist/components/trend-indicator/index.css +0 -27
  224. package/dist/components/trend-indicator/index.css.map +0 -1
  225. package/dist/components/trend-indicator/index.d.cts +0 -44
  226. package/dist/components/trend-indicator/index.d.ts +0 -44
  227. package/dist/components/trend-indicator/index.js +0 -8
  228. package/dist/components/trend-indicator/index.js.map +0 -1
  229. package/dist/format-metric-value-MXm5DtQ_.d.cts +0 -24
  230. package/dist/format-metric-value-MXm5DtQ_.d.ts +0 -24
  231. package/dist/hooks/index.cjs +0 -31
  232. package/dist/hooks/index.cjs.map +0 -1
  233. package/dist/hooks/index.css +0 -103
  234. package/dist/hooks/index.css.map +0 -1
  235. package/dist/hooks/index.d.cts +0 -272
  236. package/dist/hooks/index.d.ts +0 -272
  237. package/dist/hooks/index.js +0 -31
  238. package/dist/hooks/index.js.map +0 -1
  239. package/dist/leaderboard-chart-BKYYXcg2.d.ts +0 -83
  240. package/dist/leaderboard-chart-DR7CGb0L.d.cts +0 -83
  241. package/dist/legend-C2grwnWk.d.cts +0 -9
  242. package/dist/legend-Cj0xM5dU.d.ts +0 -9
  243. package/dist/providers/index.cjs +0 -21
  244. package/dist/providers/index.cjs.map +0 -1
  245. package/dist/providers/index.css +0 -103
  246. package/dist/providers/index.css.map +0 -1
  247. package/dist/providers/index.d.cts +0 -28
  248. package/dist/providers/index.d.ts +0 -28
  249. package/dist/providers/index.js +0 -21
  250. package/dist/providers/index.js.map +0 -1
  251. package/dist/themes-BmVGrYnF.d.ts +0 -67
  252. package/dist/themes-CyjKm-P_.d.cts +0 -67
  253. package/dist/types-CuUEszrM.d.ts +0 -19
  254. package/dist/types-DZordNiO.d.cts +0 -505
  255. package/dist/types-DZordNiO.d.ts +0 -505
  256. package/dist/types-I67mddpr.d.cts +0 -78
  257. package/dist/types-I67mddpr.d.ts +0 -78
  258. package/dist/types-KtOPPzPX.d.cts +0 -19
  259. package/dist/utils/index.cjs +0 -44
  260. package/dist/utils/index.cjs.map +0 -1
  261. package/dist/utils/index.d.cts +0 -226
  262. package/dist/utils/index.d.ts +0 -226
  263. package/dist/utils/index.js +0 -44
  264. package/dist/utils/index.js.map +0 -1
  265. package/dist/with-responsive-CNfhzAUu.d.cts +0 -18
  266. package/dist/with-responsive-CNfhzAUu.d.ts +0 -18
  267. package/src/hooks/use-has-legend-child.ts +0 -22
@@ -1,113 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { R as ResponsiveConfig } from '../../with-responsive-CNfhzAUu.cjs';
3
- import * as react from 'react';
4
-
5
- type SparklineDataPoint = number;
6
- type GradientConfig = {
7
- /**
8
- * Start color for gradient (defaults to color prop)
9
- */
10
- from?: string;
11
- /**
12
- * End color for gradient (defaults to theme backgroundColor)
13
- */
14
- to?: string;
15
- /**
16
- * Start opacity (0-1)
17
- * @default 0.5
18
- */
19
- fromOpacity?: number;
20
- /**
21
- * End opacity (0-1)
22
- * @default 0.0
23
- */
24
- toOpacity?: number;
25
- };
26
- interface SparklineProps {
27
- /**
28
- * Array of numeric values to plot
29
- * @example [10, 25, 15, 30, 22, 35]
30
- */
31
- data: SparklineDataPoint[];
32
- /**
33
- * Width of the sparkline in pixels
34
- * @default 100
35
- */
36
- width?: number;
37
- /**
38
- * Height of the sparkline in pixels
39
- * @default 40
40
- */
41
- height?: number;
42
- /**
43
- * Size (used by responsive variant, equivalent to width for square charts)
44
- */
45
- size?: number;
46
- /**
47
- * Color for the line stroke (hex or CSS color)
48
- * @default Theme color (first color in theme.colors array)
49
- */
50
- color?: string;
51
- /**
52
- * Line stroke width in pixels
53
- * @default 1
54
- */
55
- strokeWidth?: number;
56
- /**
57
- * Whether to render the gradient fill beneath the line
58
- * @default true
59
- */
60
- withGradientFill?: boolean;
61
- /**
62
- * Gradient configuration for area fill
63
- * If not provided, uses color prop with default opacity values
64
- */
65
- gradient?: GradientConfig;
66
- /**
67
- * Additional CSS class name
68
- */
69
- className?: string;
70
- /**
71
- * Chart ID for unique gradient/element identification
72
- */
73
- chartId?: string;
74
- /**
75
- * Margin around the chart
76
- * @default { top: 2, right: 2, bottom: 2, left: 2 }
77
- */
78
- margin?: {
79
- top?: number;
80
- right?: number;
81
- bottom?: number;
82
- left?: number;
83
- };
84
- /**
85
- * Enable entry animation on initial render
86
- * Creates a rising effect where the line scales up from the bottom.
87
- * Automatically respects user's prefers-reduced-motion system setting.
88
- * @default false
89
- */
90
- animation?: boolean;
91
- }
92
-
93
- /**
94
- * Sparkline - A minimal line chart for inline data visualization.
95
- *
96
- * Sparklines are compact charts designed to be embedded inline with text or
97
- * displayed in small spaces like table cells or dashboards. They show trends
98
- * without axes, labels, or other chart chrome.
99
- *
100
- * This component is built on top of LineChart with preconfigured settings
101
- * for minimal display (no axes, grid, tooltips, or legend).
102
- */
103
- declare const SparklineUnresponsive: react.ForwardRefExoticComponent<SparklineProps & react.RefAttributes<HTMLDivElement>>;
104
- /**
105
- * Responsive Sparkline chart component
106
- */
107
- declare const Sparkline: ({ resizeDebounceTime, maxWidth, aspectRatio, size, width, height, ...chartProps }: Omit<SparklineProps, "width" | "height" | "size"> & {
108
- width?: number;
109
- height?: number;
110
- size?: number;
111
- } & ResponsiveConfig) => react_jsx_runtime.JSX.Element;
112
-
113
- export { type GradientConfig, Sparkline, type SparklineDataPoint, type SparklineProps, SparklineUnresponsive };
@@ -1,113 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { R as ResponsiveConfig } from '../../with-responsive-CNfhzAUu.js';
3
- import * as react from 'react';
4
-
5
- type SparklineDataPoint = number;
6
- type GradientConfig = {
7
- /**
8
- * Start color for gradient (defaults to color prop)
9
- */
10
- from?: string;
11
- /**
12
- * End color for gradient (defaults to theme backgroundColor)
13
- */
14
- to?: string;
15
- /**
16
- * Start opacity (0-1)
17
- * @default 0.5
18
- */
19
- fromOpacity?: number;
20
- /**
21
- * End opacity (0-1)
22
- * @default 0.0
23
- */
24
- toOpacity?: number;
25
- };
26
- interface SparklineProps {
27
- /**
28
- * Array of numeric values to plot
29
- * @example [10, 25, 15, 30, 22, 35]
30
- */
31
- data: SparklineDataPoint[];
32
- /**
33
- * Width of the sparkline in pixels
34
- * @default 100
35
- */
36
- width?: number;
37
- /**
38
- * Height of the sparkline in pixels
39
- * @default 40
40
- */
41
- height?: number;
42
- /**
43
- * Size (used by responsive variant, equivalent to width for square charts)
44
- */
45
- size?: number;
46
- /**
47
- * Color for the line stroke (hex or CSS color)
48
- * @default Theme color (first color in theme.colors array)
49
- */
50
- color?: string;
51
- /**
52
- * Line stroke width in pixels
53
- * @default 1
54
- */
55
- strokeWidth?: number;
56
- /**
57
- * Whether to render the gradient fill beneath the line
58
- * @default true
59
- */
60
- withGradientFill?: boolean;
61
- /**
62
- * Gradient configuration for area fill
63
- * If not provided, uses color prop with default opacity values
64
- */
65
- gradient?: GradientConfig;
66
- /**
67
- * Additional CSS class name
68
- */
69
- className?: string;
70
- /**
71
- * Chart ID for unique gradient/element identification
72
- */
73
- chartId?: string;
74
- /**
75
- * Margin around the chart
76
- * @default { top: 2, right: 2, bottom: 2, left: 2 }
77
- */
78
- margin?: {
79
- top?: number;
80
- right?: number;
81
- bottom?: number;
82
- left?: number;
83
- };
84
- /**
85
- * Enable entry animation on initial render
86
- * Creates a rising effect where the line scales up from the bottom.
87
- * Automatically respects user's prefers-reduced-motion system setting.
88
- * @default false
89
- */
90
- animation?: boolean;
91
- }
92
-
93
- /**
94
- * Sparkline - A minimal line chart for inline data visualization.
95
- *
96
- * Sparklines are compact charts designed to be embedded inline with text or
97
- * displayed in small spaces like table cells or dashboards. They show trends
98
- * without axes, labels, or other chart chrome.
99
- *
100
- * This component is built on top of LineChart with preconfigured settings
101
- * for minimal display (no axes, grid, tooltips, or legend).
102
- */
103
- declare const SparklineUnresponsive: react.ForwardRefExoticComponent<SparklineProps & react.RefAttributes<HTMLDivElement>>;
104
- /**
105
- * Responsive Sparkline chart component
106
- */
107
- declare const Sparkline: ({ resizeDebounceTime, maxWidth, aspectRatio, size, width, height, ...chartProps }: Omit<SparklineProps, "width" | "height" | "size"> & {
108
- width?: number;
109
- height?: number;
110
- size?: number;
111
- } & ResponsiveConfig) => react_jsx_runtime.JSX.Element;
112
-
113
- export { type GradientConfig, Sparkline, type SparklineDataPoint, type SparklineProps, SparklineUnresponsive };
@@ -1,16 +0,0 @@
1
- import {
2
- Sparkline,
3
- SparklineUnresponsive
4
- } from "../../chunk-PXLEMUGJ.js";
5
- import "../../chunk-WLODYNLB.js";
6
- import "../../chunk-BPYKWMI7.js";
7
- import "../../chunk-Z26M4V2M.js";
8
- import "../../chunk-OP6PHB2U.js";
9
- import "../../chunk-32DH6JDF.js";
10
- import "../../chunk-DAU3HNEG.js";
11
- import "../../chunk-G3PMV62Z.js";
12
- export {
13
- Sparkline,
14
- SparklineUnresponsive
15
- };
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,51 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/charts/private/radial-wipe-animation/radial-wipe-animation.tsx
2
- var _jsxruntime = require('react/jsx-runtime');
3
- function RadialWipeAnimation({
4
- id,
5
- radius,
6
- innerRadius = 0,
7
- durationMs = 1e3,
8
- wipePercentage = 100,
9
- direction = "clockwise",
10
- startAngle = "-90deg"
11
- }) {
12
- const strokeWidth = (radius - innerRadius) * 2 + // The stroke is centered on the circumference, so we need to double the width.
13
- 1;
14
- const scaleY = direction === "clockwise" ? -1 : 1;
15
- const isValidWipePercentage = 0 < wipePercentage && wipePercentage <= 100;
16
- const animationDuration = `${// If wipePercentage is invalid, set animation duration to 0 to disable animation.
17
- isValidWipePercentage ? durationMs * (100 / wipePercentage) : 0}ms`;
18
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "mask", {
19
- id,
20
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", {
21
- cx: 0,
22
- cy: 0,
23
- r: radius,
24
- pathLength: "100",
25
- fill: "white",
26
- stroke: "black",
27
- strokeWidth,
28
- strokeDasharray: "100, 1000",
29
- strokeDashoffset: "0",
30
- style: {
31
- transform: `rotate(${startAngle}) scaleY(${scaleY})`
32
- },
33
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "animate", {
34
- attributeName: "stroke-dashoffset",
35
- from: "0",
36
- to: "100.1",
37
- dur: animationDuration,
38
- fill: "freeze",
39
- calcMode: "spline",
40
- keySplines: "0.42 0 0.58 1;0 0 1 1",
41
- keyTimes: `0;${wipePercentage / 100};1`
42
- })
43
- })
44
- });
45
- }
46
- var radial_wipe_animation_default = RadialWipeAnimation;
47
-
48
-
49
-
50
- exports.radial_wipe_animation_default = radial_wipe_animation_default;
51
- //# sourceMappingURL=chunk-2A34OA5O.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-2A34OA5O.cjs","../src/charts/private/radial-wipe-animation/radial-wipe-animation.tsx"],"names":[],"mappings":"AAAA;ACAA,+CAA4B;AAiC5B,SAAS,mBAAA,CAAoB;AAAA,EAC3B,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAc,CAAA;AAAA,EACd,WAAA,EAAa,GAAA;AAAA,EACb,eAAA,EAAiB,GAAA;AAAA,EACjB,UAAA,EAAY,WAAA;AAAA,EACZ,WAAA,EAAa;AACf,CAAA,EAAG;AACD,EAAA,MAAM,YAAA,EAAA,CAAe,OAAA,EAAS,WAAA,EAAA,EAAe,EAAA;AAAA,EAE7C,CAAA;AAEA,EAAA,MAAM,OAAA,EAAS,UAAA,IAAc,YAAA,EAAc,CAAA,EAAA,EAAK,CAAA;AAChD,EAAA,MAAM,sBAAA,EAAwB,EAAA,EAAI,eAAA,GAAkB,eAAA,GAAkB,GAAA;AACtE,EAAA,MAAM,kBAAA,EAAoB,CAAA;AAAA,EAAA;AAG1B,EAAA;AAAiC,IAAA;AAC/B,IAAA;AACsC,MAAA;AAChC,MAAA;AACA,MAAA;AACD,MAAA;AACS,MAAA;AACN,MAAA;AACE,MAAA;AAER,MAAA;AACiB,MAAA;AACC,MAAA;AACX,QAAA;AAC4C,MAAA;AACnD,MAAA;AACuC,QAAA;AACtB,QAAA;AACT,QAAA;AACF,QAAA;AACC,QAAA;AACC,QAAA;AAEI,QAAA;AAEE,QAAA;AAEuB,MAAA;AACpC,IAAA;AACF,EAAA;AAEL;AACA;ADrCA;AACA;AACA;AACA","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-2A34OA5O.cjs","sourcesContent":[null,"import { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * This animation uses the SVG self-drawing technique (source: https://www.joshwcomeau.com/svg/friendly-introduction-to-svg/),\n * leveraging stroke-dasharray and stroke-dashoffset properties to create the effect.\n *\n * Here, we reverse the animation to \"un-draw\" the circle for the revealing / radial wipe effect:\n * - Initially, the entire circle is drawn with a white mask.\n * - The circle's border (stroke) is drawn with a black stroke, wide enough to cover the circle.\n * - The stroke is then \"un-drawn,\" creating the wipe animation.\n * - A white mask makes the area visible, while a black mask makes the area invisible.\n */\n\n/**\n * RadialWipeAnimationProps - SVG mask props that requires a radial wipe animation effect.\n *\n * @param {object} props - The properties object.\n * @param {string} props.id - The unique ID for the mask.\n * @param {number} props.radius - The outer radius of the radial wipe.\n * @param {number} [props.innerRadius=0] - The inner radius of the radial wipe.\n * @param {number} [props.durationMs=1000] - The duration of the animation in milliseconds.\n * @param {number} [props.wipePercentage=100] - The percentage of the wipe animation to complete.\n * @param {'clockwise' | 'counter-clockwise'} [props.direction='clockwise'] - The direction of the wipe animation.\n * @param {Angle} [props.startAngle='-90deg'] - The starting angle of the wipe animation.\n *\n * @return {JSX.Element} The radial wipe mask element.\n */\n\n/**\n * Renders a SVG mask that creates a radial wipe animation effect.\n *\n * @param {RadialWipeAnimationProps} props - Component props\n * @return {JSX.Element} The rendered mask component\n */\nfunction RadialWipeAnimation({\n id,\n radius,\n innerRadius = 0,\n durationMs = 1000,\n wipePercentage = 100,\n direction = 'clockwise',\n startAngle = '-90deg'\n}) {\n const strokeWidth = (radius - innerRadius) * 2 +\n // The stroke is centered on the circumference, so we need to double the width.\n 1; // Added 1 to prevent sub-pixel rendering issues.\n\n const scaleY = direction === 'clockwise' ? -1 : 1;\n const isValidWipePercentage = 0 < wipePercentage && wipePercentage <= 100;\n const animationDuration = `${\n // If wipePercentage is invalid, set animation duration to 0 to disable animation.\n isValidWipePercentage ? durationMs * (100 / wipePercentage) : 0}ms`;\n return /*#__PURE__*/_jsx(\"mask\", {\n id: id,\n children: /*#__PURE__*/_jsx(\"circle\", {\n cx: 0,\n cy: 0,\n r: radius,\n pathLength: \"100\",\n fill: \"white\",\n stroke: \"black\" // The stroke will be un-drawn, hence 'black' mask.\n ,\n strokeWidth: strokeWidth,\n strokeDasharray: \"100, 1000\",\n strokeDashoffset: \"0\",\n style: {\n transform: `rotate(${startAngle}) scaleY(${scaleY})`\n },\n children: /*#__PURE__*/_jsx(\"animate\", {\n attributeName: \"stroke-dashoffset\",\n from: \"0\",\n to: \"100.1\",\n dur: animationDuration,\n fill: \"freeze\" // Same as CSS 'forwards' to retain the final state after animation.\n ,\n calcMode: \"spline\" // custom easing\n ,\n keySplines: \"0.42 0 0.58 1;0 0 1 1\" // ease-in-out ; linear (unimportant)\n ,\n keyTimes: `0;${wipePercentage / 100};1`\n })\n })\n });\n}\nexport default RadialWipeAnimation;"]}