@automattic/charts 0.58.0 → 1.0.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 (253) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +7 -54
  3. package/dist/index.cjs +9606 -22
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.css +20 -25
  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 -56
  10. package/dist/index.js.map +1 -1
  11. package/package.json +8 -125
  12. package/src/charts/bar-chart/bar-chart.module.scss +0 -5
  13. package/src/charts/bar-chart/bar-chart.tsx +131 -137
  14. package/src/charts/leaderboard-chart/leaderboard-chart.tsx +23 -40
  15. package/src/charts/line-chart/line-chart.module.scss +0 -5
  16. package/src/charts/line-chart/line-chart.tsx +190 -183
  17. package/src/charts/line-chart/private/line-chart-annotations-overlay.tsx +1 -2
  18. package/src/charts/pie-chart/pie-chart.module.scss +2 -10
  19. package/src/charts/pie-chart/pie-chart.tsx +198 -199
  20. package/src/charts/pie-chart/test/composition-api.test.tsx +3 -3
  21. package/src/charts/pie-chart/test/pie-chart.test.tsx +42 -35
  22. package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +2 -8
  23. package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx +155 -155
  24. package/src/charts/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +25 -25
  25. package/src/charts/private/chart-layout/chart-layout.module.scss +7 -0
  26. package/src/charts/private/chart-layout/chart-layout.tsx +106 -0
  27. package/src/charts/private/chart-layout/index.ts +2 -0
  28. package/src/charts/private/chart-layout/test/chart-layout.test.tsx +167 -0
  29. package/src/charts/private/single-chart-context/single-chart-context.tsx +2 -2
  30. package/src/charts/private/svg-empty-state/index.ts +1 -0
  31. package/src/charts/private/svg-empty-state/svg-empty-state.module.scss +7 -0
  32. package/src/charts/private/svg-empty-state/svg-empty-state.tsx +40 -0
  33. package/src/components/legend/hooks/test/use-chart-legend-items.test.tsx +12 -8
  34. package/src/components/legend/hooks/use-chart-legend-items.ts +12 -13
  35. package/src/components/legend/legend.tsx +33 -8
  36. package/src/components/legend/test/legend.test.tsx +93 -1
  37. package/src/hooks/index.ts +1 -0
  38. package/src/hooks/use-data-with-percentages.ts +24 -0
  39. package/src/hooks/use-interactive-legend-data.ts +18 -15
  40. package/src/index.ts +65 -2
  41. package/src/providers/chart-context/global-charts-provider.tsx +7 -1
  42. package/src/providers/chart-context/hooks/use-chart-registration.ts +2 -1
  43. package/src/providers/chart-context/types.ts +2 -2
  44. package/src/types.ts +27 -7
  45. package/src/utils/test/resolve-css-var.test.ts +2 -0
  46. package/dist/base-tooltip-DOq93wjU.d.cts +0 -38
  47. package/dist/base-tooltip-DOq93wjU.d.ts +0 -38
  48. package/dist/charts/bar-chart/index.cjs +0 -17
  49. package/dist/charts/bar-chart/index.cjs.map +0 -1
  50. package/dist/charts/bar-chart/index.css +0 -141
  51. package/dist/charts/bar-chart/index.css.map +0 -1
  52. package/dist/charts/bar-chart/index.d.cts +0 -36
  53. package/dist/charts/bar-chart/index.d.ts +0 -36
  54. package/dist/charts/bar-chart/index.js +0 -17
  55. package/dist/charts/bar-chart/index.js.map +0 -1
  56. package/dist/charts/bar-list-chart/index.cjs +0 -18
  57. package/dist/charts/bar-list-chart/index.cjs.map +0 -1
  58. package/dist/charts/bar-list-chart/index.css +0 -141
  59. package/dist/charts/bar-list-chart/index.css.map +0 -1
  60. package/dist/charts/bar-list-chart/index.d.cts +0 -92
  61. package/dist/charts/bar-list-chart/index.d.ts +0 -92
  62. package/dist/charts/bar-list-chart/index.js +0 -18
  63. package/dist/charts/bar-list-chart/index.js.map +0 -1
  64. package/dist/charts/conversion-funnel-chart/index.cjs +0 -11
  65. package/dist/charts/conversion-funnel-chart/index.cjs.map +0 -1
  66. package/dist/charts/conversion-funnel-chart/index.css +0 -157
  67. package/dist/charts/conversion-funnel-chart/index.css.map +0 -1
  68. package/dist/charts/conversion-funnel-chart/index.d.cts +0 -97
  69. package/dist/charts/conversion-funnel-chart/index.d.ts +0 -97
  70. package/dist/charts/conversion-funnel-chart/index.js +0 -11
  71. package/dist/charts/conversion-funnel-chart/index.js.map +0 -1
  72. package/dist/charts/geo-chart/index.cjs +0 -13
  73. package/dist/charts/geo-chart/index.cjs.map +0 -1
  74. package/dist/charts/geo-chart/index.css +0 -23
  75. package/dist/charts/geo-chart/index.css.map +0 -1
  76. package/dist/charts/geo-chart/index.d.cts +0 -67
  77. package/dist/charts/geo-chart/index.d.ts +0 -67
  78. package/dist/charts/geo-chart/index.js +0 -13
  79. package/dist/charts/geo-chart/index.js.map +0 -1
  80. package/dist/charts/leaderboard-chart/index.cjs +0 -21
  81. package/dist/charts/leaderboard-chart/index.cjs.map +0 -1
  82. package/dist/charts/leaderboard-chart/index.css +0 -160
  83. package/dist/charts/leaderboard-chart/index.css.map +0 -1
  84. package/dist/charts/leaderboard-chart/index.d.cts +0 -46
  85. package/dist/charts/leaderboard-chart/index.d.ts +0 -46
  86. package/dist/charts/leaderboard-chart/index.js +0 -21
  87. package/dist/charts/leaderboard-chart/index.js.map +0 -1
  88. package/dist/charts/line-chart/index.cjs +0 -17
  89. package/dist/charts/line-chart/index.cjs.map +0 -1
  90. package/dist/charts/line-chart/index.css +0 -213
  91. package/dist/charts/line-chart/index.css.map +0 -1
  92. package/dist/charts/line-chart/index.d.cts +0 -98
  93. package/dist/charts/line-chart/index.d.ts +0 -98
  94. package/dist/charts/line-chart/index.js +0 -17
  95. package/dist/charts/line-chart/index.js.map +0 -1
  96. package/dist/charts/pie-chart/index.cjs +0 -19
  97. package/dist/charts/pie-chart/index.cjs.map +0 -1
  98. package/dist/charts/pie-chart/index.css +0 -131
  99. package/dist/charts/pie-chart/index.css.map +0 -1
  100. package/dist/charts/pie-chart/index.d.cts +0 -91
  101. package/dist/charts/pie-chart/index.d.ts +0 -91
  102. package/dist/charts/pie-chart/index.js +0 -19
  103. package/dist/charts/pie-chart/index.js.map +0 -1
  104. package/dist/charts/pie-semi-circle-chart/index.cjs +0 -18
  105. package/dist/charts/pie-semi-circle-chart/index.cjs.map +0 -1
  106. package/dist/charts/pie-semi-circle-chart/index.css +0 -132
  107. package/dist/charts/pie-semi-circle-chart/index.css.map +0 -1
  108. package/dist/charts/pie-semi-circle-chart/index.d.cts +0 -88
  109. package/dist/charts/pie-semi-circle-chart/index.d.ts +0 -88
  110. package/dist/charts/pie-semi-circle-chart/index.js +0 -18
  111. package/dist/charts/pie-semi-circle-chart/index.js.map +0 -1
  112. package/dist/charts/sparkline/index.cjs +0 -18
  113. package/dist/charts/sparkline/index.cjs.map +0 -1
  114. package/dist/charts/sparkline/index.css +0 -230
  115. package/dist/charts/sparkline/index.css.map +0 -1
  116. package/dist/charts/sparkline/index.d.cts +0 -113
  117. package/dist/charts/sparkline/index.d.ts +0 -113
  118. package/dist/charts/sparkline/index.js +0 -18
  119. package/dist/charts/sparkline/index.js.map +0 -1
  120. package/dist/chunk-2A34OA5O.cjs +0 -51
  121. package/dist/chunk-2A34OA5O.cjs.map +0 -1
  122. package/dist/chunk-2I67QUIV.js +0 -895
  123. package/dist/chunk-2I67QUIV.js.map +0 -1
  124. package/dist/chunk-2ICEEQOC.js +0 -1071
  125. package/dist/chunk-2ICEEQOC.js.map +0 -1
  126. package/dist/chunk-4B7BL2DD.js +0 -120
  127. package/dist/chunk-4B7BL2DD.js.map +0 -1
  128. package/dist/chunk-4OXMTKAL.js +0 -401
  129. package/dist/chunk-4OXMTKAL.js.map +0 -1
  130. package/dist/chunk-ASLARV7L.cjs +0 -81
  131. package/dist/chunk-ASLARV7L.cjs.map +0 -1
  132. package/dist/chunk-B6NLZFRW.js +0 -617
  133. package/dist/chunk-B6NLZFRW.js.map +0 -1
  134. package/dist/chunk-BBAUQOW6.cjs +0 -120
  135. package/dist/chunk-BBAUQOW6.cjs.map +0 -1
  136. package/dist/chunk-BPYKWMI7.js +0 -194
  137. package/dist/chunk-BPYKWMI7.js.map +0 -1
  138. package/dist/chunk-CMMHCTBX.cjs +0 -373
  139. package/dist/chunk-CMMHCTBX.cjs.map +0 -1
  140. package/dist/chunk-CPPXJATQ.cjs +0 -1071
  141. package/dist/chunk-CPPXJATQ.cjs.map +0 -1
  142. package/dist/chunk-DKU775VC.js +0 -219
  143. package/dist/chunk-DKU775VC.js.map +0 -1
  144. package/dist/chunk-GRA7Y2ZG.cjs +0 -401
  145. package/dist/chunk-GRA7Y2ZG.cjs.map +0 -1
  146. package/dist/chunk-I2276W3I.cjs +0 -66
  147. package/dist/chunk-I2276W3I.cjs.map +0 -1
  148. package/dist/chunk-JJIMABHT.js +0 -351
  149. package/dist/chunk-JJIMABHT.js.map +0 -1
  150. package/dist/chunk-KJHWXOCZ.js +0 -421
  151. package/dist/chunk-KJHWXOCZ.js.map +0 -1
  152. package/dist/chunk-KRWGSOJ2.js +0 -91
  153. package/dist/chunk-KRWGSOJ2.js.map +0 -1
  154. package/dist/chunk-KXRWNFQJ.js +0 -51
  155. package/dist/chunk-KXRWNFQJ.js.map +0 -1
  156. package/dist/chunk-LTFH7SEG.js +0 -373
  157. package/dist/chunk-LTFH7SEG.js.map +0 -1
  158. package/dist/chunk-MUNOKLLE.js +0 -165
  159. package/dist/chunk-MUNOKLLE.js.map +0 -1
  160. package/dist/chunk-MXGLYWVP.cjs +0 -351
  161. package/dist/chunk-MXGLYWVP.cjs.map +0 -1
  162. package/dist/chunk-OP6PHB2U.js +0 -81
  163. package/dist/chunk-OP6PHB2U.js.map +0 -1
  164. package/dist/chunk-OYC34VTO.cjs +0 -3957
  165. package/dist/chunk-OYC34VTO.cjs.map +0 -1
  166. package/dist/chunk-PQL5I3F6.cjs +0 -421
  167. package/dist/chunk-PQL5I3F6.cjs.map +0 -1
  168. package/dist/chunk-REZTQ4PH.cjs +0 -488
  169. package/dist/chunk-REZTQ4PH.cjs.map +0 -1
  170. package/dist/chunk-TZRUHQOH.cjs +0 -91
  171. package/dist/chunk-TZRUHQOH.cjs.map +0 -1
  172. package/dist/chunk-UTYVIOWZ.js +0 -3957
  173. package/dist/chunk-UTYVIOWZ.js.map +0 -1
  174. package/dist/chunk-W2LDIX26.cjs +0 -165
  175. package/dist/chunk-W2LDIX26.cjs.map +0 -1
  176. package/dist/chunk-WSG64BVN.cjs +0 -219
  177. package/dist/chunk-WSG64BVN.cjs.map +0 -1
  178. package/dist/chunk-WTQYGUNF.js +0 -400
  179. package/dist/chunk-WTQYGUNF.js.map +0 -1
  180. package/dist/chunk-WYK7EL5R.cjs +0 -895
  181. package/dist/chunk-WYK7EL5R.cjs.map +0 -1
  182. package/dist/chunk-XC4KHJYX.cjs +0 -617
  183. package/dist/chunk-XC4KHJYX.cjs.map +0 -1
  184. package/dist/chunk-XVBH5XHE.cjs +0 -400
  185. package/dist/chunk-XVBH5XHE.cjs.map +0 -1
  186. package/dist/chunk-XWYZIFZW.js +0 -66
  187. package/dist/chunk-XWYZIFZW.js.map +0 -1
  188. package/dist/chunk-Y3NNQMAX.cjs +0 -194
  189. package/dist/chunk-Y3NNQMAX.cjs.map +0 -1
  190. package/dist/chunk-YAFQVVDI.js +0 -488
  191. package/dist/chunk-YAFQVVDI.js.map +0 -1
  192. package/dist/components/legend/index.cjs +0 -12
  193. package/dist/components/legend/index.cjs.map +0 -1
  194. package/dist/components/legend/index.css +0 -91
  195. package/dist/components/legend/index.css.map +0 -1
  196. package/dist/components/legend/index.d.cts +0 -37
  197. package/dist/components/legend/index.d.ts +0 -37
  198. package/dist/components/legend/index.js +0 -12
  199. package/dist/components/legend/index.js.map +0 -1
  200. package/dist/components/tooltip/index.cjs +0 -12
  201. package/dist/components/tooltip/index.cjs.map +0 -1
  202. package/dist/components/tooltip/index.css +0 -13
  203. package/dist/components/tooltip/index.css.map +0 -1
  204. package/dist/components/tooltip/index.d.cts +0 -71
  205. package/dist/components/tooltip/index.d.ts +0 -71
  206. package/dist/components/tooltip/index.js +0 -12
  207. package/dist/components/tooltip/index.js.map +0 -1
  208. package/dist/components/trend-indicator/index.cjs +0 -8
  209. package/dist/components/trend-indicator/index.cjs.map +0 -1
  210. package/dist/components/trend-indicator/index.css +0 -27
  211. package/dist/components/trend-indicator/index.css.map +0 -1
  212. package/dist/components/trend-indicator/index.d.cts +0 -44
  213. package/dist/components/trend-indicator/index.d.ts +0 -44
  214. package/dist/components/trend-indicator/index.js +0 -8
  215. package/dist/components/trend-indicator/index.js.map +0 -1
  216. package/dist/format-metric-value-MXm5DtQ_.d.cts +0 -24
  217. package/dist/format-metric-value-MXm5DtQ_.d.ts +0 -24
  218. package/dist/hooks/index.cjs +0 -29
  219. package/dist/hooks/index.cjs.map +0 -1
  220. package/dist/hooks/index.css +0 -9
  221. package/dist/hooks/index.css.map +0 -1
  222. package/dist/hooks/index.d.cts +0 -264
  223. package/dist/hooks/index.d.ts +0 -264
  224. package/dist/hooks/index.js +0 -29
  225. package/dist/hooks/index.js.map +0 -1
  226. package/dist/leaderboard-chart-BSbg0ufV.d.cts +0 -79
  227. package/dist/leaderboard-chart-odEYxxEC.d.ts +0 -79
  228. package/dist/legend-DFkosEvC.d.cts +0 -9
  229. package/dist/legend-DLswHhOk.d.ts +0 -9
  230. package/dist/providers/index.cjs +0 -21
  231. package/dist/providers/index.cjs.map +0 -1
  232. package/dist/providers/index.css +0 -9
  233. package/dist/providers/index.css.map +0 -1
  234. package/dist/providers/index.d.cts +0 -28
  235. package/dist/providers/index.d.ts +0 -28
  236. package/dist/providers/index.js +0 -21
  237. package/dist/providers/index.js.map +0 -1
  238. package/dist/themes-D0qc5JaW.d.cts +0 -67
  239. package/dist/themes-itO4Ht5g.d.ts +0 -67
  240. package/dist/types-B5f6XQ7Q.d.cts +0 -19
  241. package/dist/types-BsHooDbM.d.ts +0 -19
  242. package/dist/types-BuSrRM4p.d.ts +0 -49
  243. package/dist/types-ChOUI9-N.d.cts +0 -545
  244. package/dist/types-ChOUI9-N.d.ts +0 -545
  245. package/dist/types-Dfw9VOKI.d.cts +0 -49
  246. package/dist/utils/index.cjs +0 -44
  247. package/dist/utils/index.cjs.map +0 -1
  248. package/dist/utils/index.d.cts +0 -226
  249. package/dist/utils/index.d.ts +0 -226
  250. package/dist/utils/index.js +0 -44
  251. package/dist/utils/index.js.map +0 -1
  252. package/dist/with-responsive-CNfhzAUu.d.cts +0 -18
  253. package/dist/with-responsive-CNfhzAUu.d.ts +0 -18
@@ -1,165 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
- var _chunkCPPXJATQcjs = require('./chunk-CPPXJATQ.cjs');
4
-
5
-
6
- var _chunkASLARV7Lcjs = require('./chunk-ASLARV7L.cjs');
7
-
8
-
9
- var _chunkWYK7EL5Rcjs = require('./chunk-WYK7EL5R.cjs');
10
-
11
- // src/charts/sparkline/sparkline.tsx
12
- var _clsx = require('clsx'); var _clsx2 = _interopRequireDefault(_clsx);
13
- var _react = require('react');
14
-
15
- // src/charts/sparkline/sparkline.module.scss
16
- var sparkline_module_default = {
17
- "sparkline": "a8ccharts-o-3Z8B",
18
- "sparkline--empty": "a8ccharts-CbLbcd"
19
- };
20
-
21
- // src/charts/sparkline/sparkline.tsx
22
- var _jsxruntime = require('react/jsx-runtime');
23
- var DEFAULT_WIDTH = 100;
24
- var DEFAULT_HEIGHT = 40;
25
- var transformToSeriesData = (data, color, strokeWidth) => {
26
- const baseDate = new Date(2e3, 0, 1);
27
- return [{
28
- label: "sparkline",
29
- data: data.map((value, index) => ({
30
- date: new Date(baseDate.getTime() + index * 864e5),
31
- // Add days
32
- value
33
- })),
34
- options: {
35
- stroke: color,
36
- seriesLineStyle: strokeWidth ? {
37
- strokeWidth
38
- } : void 0
39
- }
40
- }];
41
- };
42
- var SparklineComponent = /* @__PURE__ */ _react.forwardRef.call(void 0, ({
43
- data,
44
- width = DEFAULT_WIDTH,
45
- height = DEFAULT_HEIGHT,
46
- color,
47
- strokeWidth: strokeWidthProp,
48
- withGradientFill = true,
49
- gradient,
50
- className,
51
- chartId,
52
- margin: marginProp,
53
- animation
54
- }, ref) => {
55
- const theme = _chunkWYK7EL5Rcjs.useGlobalChartsTheme.call(void 0, );
56
- const themeStrokeWidth = _nullishCoalesce(_optionalChain([theme, 'access', _ => _.sparkline, 'optionalAccess', _2 => _2.strokeWidth]), () => ( 1.5));
57
- const strokeWidth = _nullishCoalesce(strokeWidthProp, () => ( themeStrokeWidth));
58
- const seriesData = _react.useMemo.call(void 0, () => {
59
- if (!data || data.length === 0) {
60
- return [];
61
- }
62
- return transformToSeriesData(data, color, strokeWidth);
63
- }, [data, color, strokeWidth]);
64
- const finalMargin = _react.useMemo.call(void 0, () => {
65
- const themeMargin = _nullishCoalesce(_optionalChain([theme, 'access', _3 => _3.sparkline, 'optionalAccess', _4 => _4.margin]), () => ( {
66
- top: 2,
67
- right: 2,
68
- bottom: 2,
69
- left: 2
70
- }));
71
- const margin = _nullishCoalesce(marginProp, () => ( themeMargin));
72
- return {
73
- ...themeMargin,
74
- ...margin
75
- };
76
- }, [marginProp, _optionalChain([theme, 'access', _5 => _5.sparkline, 'optionalAccess', _6 => _6.margin])]);
77
- const seriesWithGradient = _react.useMemo.call(void 0, () => {
78
- if (!gradient || seriesData.length === 0) {
79
- return seriesData;
80
- }
81
- return seriesData.map((series) => ({
82
- ...series,
83
- options: {
84
- ...series.options,
85
- gradient: {
86
- from: gradient.from || color || "#000000",
87
- to: gradient.to || "#ffffff",
88
- fromOpacity: _nullishCoalesce(gradient.fromOpacity, () => ( 0.5)),
89
- toOpacity: _nullishCoalesce(gradient.toOpacity, () => ( 0))
90
- }
91
- }
92
- }));
93
- }, [seriesData, gradient, color]);
94
- if (!data || data.length === 0) {
95
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
96
- ref,
97
- className: _clsx2.default.call(void 0, "sparkline", sparkline_module_default.sparkline, sparkline_module_default["sparkline--empty"], className),
98
- style: {
99
- width,
100
- height
101
- }
102
- });
103
- }
104
- if (data.length === 1) {
105
- const cx = width / 2;
106
- const cy = height / 2;
107
- const resolvedColor = color || "#000000";
108
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
109
- ref,
110
- className: _clsx2.default.call(void 0, "sparkline", sparkline_module_default.sparkline, sparkline_module_default["sparkline--single-point"], className),
111
- style: {
112
- width,
113
- height
114
- },
115
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", {
116
- width,
117
- height,
118
- "aria-hidden": "true",
119
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "circle", {
120
- cx,
121
- cy,
122
- r: strokeWidth * 1.5,
123
- fill: resolvedColor
124
- })
125
- })
126
- });
127
- }
128
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {
129
- ref,
130
- className: _clsx2.default.call(void 0, "sparkline", sparkline_module_default.sparkline, className),
131
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPPXJATQcjs.LineChart, {
132
- data: seriesWithGradient,
133
- width,
134
- height,
135
- margin: finalMargin,
136
- chartId,
137
- withGradientFill,
138
- withTooltips: false,
139
- showLegend: false,
140
- gridVisibility: "none",
141
- options: {
142
- axis: {
143
- x: {
144
- display: false
145
- },
146
- y: {
147
- display: false
148
- }
149
- }
150
- },
151
- curveType: "monotone",
152
- animation
153
- })
154
- });
155
- });
156
- SparklineComponent.displayName = "SparklineComponent";
157
- var SparklineUnresponsive = SparklineComponent;
158
- SparklineUnresponsive.displayName = "SparklineUnresponsive";
159
- var Sparkline = _chunkASLARV7Lcjs.withResponsive.call(void 0, SparklineUnresponsive);
160
-
161
-
162
-
163
-
164
- exports.SparklineUnresponsive = SparklineUnresponsive; exports.Sparkline = Sparkline;
165
- //# sourceMappingURL=chunk-W2LDIX26.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-W2LDIX26.cjs","../src/charts/sparkline/sparkline.tsx","../src/charts/sparkline/sparkline.module.scss"],"names":[],"mappings":"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","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-W2LDIX26.cjs","sourcesContent":[null,"import clsx from 'clsx';\nimport { useMemo, forwardRef } from 'react';\nimport { useGlobalChartsTheme } from '../../providers';\nimport { LineChartUnresponsive } from '../line-chart';\nimport { withResponsive } from '../private/with-responsive';\nimport styles from './sparkline.module.scss';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DEFAULT_WIDTH = 100;\nconst DEFAULT_HEIGHT = 40;\n\n/**\n * Transforms a simple number array into SeriesData format for LineChart.\n * Uses index-based dates to create a linear x-axis.\n *\n * @param data - Array of numeric values to plot\n * @param color - Optional color for the line stroke\n * @param strokeWidth - Optional stroke width for the line\n * @return SeriesData array suitable for LineChart\n */\nconst transformToSeriesData = (data, color, strokeWidth) => {\n // Use a fixed base date and increment by index to create linear spacing\n const baseDate = new Date(2000, 0, 1);\n return [{\n label: 'sparkline',\n data: data.map((value, index) => ({\n date: new Date(baseDate.getTime() + index * 86400000),\n // Add days\n value\n })),\n options: {\n stroke: color,\n seriesLineStyle: strokeWidth ? {\n strokeWidth\n } : undefined\n }\n }];\n};\nconst SparklineComponent = /*#__PURE__*/forwardRef(({\n data,\n width = DEFAULT_WIDTH,\n height = DEFAULT_HEIGHT,\n color,\n strokeWidth: strokeWidthProp,\n withGradientFill = true,\n gradient,\n className,\n chartId,\n margin: marginProp,\n animation\n}, ref) => {\n const theme = useGlobalChartsTheme();\n\n // Get theme defaults for sparkline\n const themeStrokeWidth = theme.sparkline?.strokeWidth ?? 1.5;\n\n // Use prop values or fall back to theme defaults\n const strokeWidth = strokeWidthProp ?? themeStrokeWidth;\n\n // Transform number[] to SeriesData[] for LineChart\n const seriesData = useMemo(() => {\n if (!data || data.length === 0) {\n return [];\n }\n return transformToSeriesData(data, color, strokeWidth);\n }, [data, color, strokeWidth]);\n\n // Merge margins with theme defaults\n const finalMargin = useMemo(() => {\n const themeMargin = theme.sparkline?.margin ?? {\n top: 2,\n right: 2,\n bottom: 2,\n left: 2\n };\n const margin = marginProp ?? themeMargin;\n return {\n ...themeMargin,\n ...margin\n };\n }, [marginProp, theme.sparkline?.margin]);\n\n // Build gradient options for the series if custom gradient is provided\n // Note: This must be called before any early returns to follow React hooks rules\n const seriesWithGradient = useMemo(() => {\n if (!gradient || seriesData.length === 0) {\n return seriesData;\n }\n return seriesData.map(series => ({\n ...series,\n options: {\n ...series.options,\n gradient: {\n from: gradient.from || color || '#000000',\n to: gradient.to || '#ffffff',\n fromOpacity: gradient.fromOpacity ?? 0.5,\n toOpacity: gradient.toOpacity ?? 0.0\n }\n }\n }));\n }, [seriesData, gradient, color]);\n\n // Handle empty data\n if (!data || data.length === 0) {\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: clsx('sparkline', styles.sparkline, styles['sparkline--empty'], className),\n style: {\n width,\n height\n }\n });\n }\n\n // Handle single data point - render a simple dot\n if (data.length === 1) {\n const cx = width / 2;\n const cy = height / 2;\n const resolvedColor = color || '#000000';\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: clsx('sparkline', styles.sparkline, styles['sparkline--single-point'], className),\n style: {\n width,\n height\n },\n children: /*#__PURE__*/_jsx(\"svg\", {\n width: width,\n height: height,\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/_jsx(\"circle\", {\n cx: cx,\n cy: cy,\n r: strokeWidth * 1.5,\n fill: resolvedColor\n })\n })\n });\n }\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: clsx('sparkline', styles.sparkline, className),\n children: /*#__PURE__*/_jsx(LineChartUnresponsive, {\n data: seriesWithGradient,\n width: width,\n height: height,\n margin: finalMargin,\n chartId: chartId,\n withGradientFill: withGradientFill,\n withTooltips: false,\n showLegend: false,\n gridVisibility: \"none\",\n options: {\n axis: {\n x: {\n display: false\n },\n y: {\n display: false\n }\n }\n },\n curveType: \"monotone\",\n animation: animation\n })\n });\n});\nSparklineComponent.displayName = 'SparklineComponent';\n\n/**\n * Sparkline - A minimal line chart for inline data visualization.\n *\n * Sparklines are compact charts designed to be embedded inline with text or\n * displayed in small spaces like table cells or dashboards. They show trends\n * without axes, labels, or other chart chrome.\n *\n * This component is built on top of LineChart with preconfigured settings\n * for minimal display (no axes, grid, tooltips, or legend).\n */\nconst SparklineUnresponsive = SparklineComponent;\nSparklineUnresponsive.displayName = 'SparklineUnresponsive';\n\n/**\n * Responsive Sparkline chart component\n */\nconst Sparkline = withResponsive(SparklineUnresponsive);\nexport { Sparkline as default, SparklineUnresponsive };","import 'css-chunk:src/charts/sparkline/sparkline.module.scss';export default {\n \"sparkline\": \"a8ccharts-o-3Z8B\",\n \"sparkline--empty\": \"a8ccharts-CbLbcd\"\n};"]}
@@ -1,219 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
- var _chunkXC4KHJYXcjs = require('./chunk-XC4KHJYX.cjs');
4
-
5
-
6
- var _chunkASLARV7Lcjs = require('./chunk-ASLARV7L.cjs');
7
-
8
-
9
-
10
- var _chunkWYK7EL5Rcjs = require('./chunk-WYK7EL5R.cjs');
11
-
12
- // src/charts/bar-list-chart/bar-list-chart.tsx
13
- var _numberformatters = require('@automattic/number-formatters');
14
- var _group = require('@visx/group');
15
- var _scale = require('@visx/scale');
16
- var _text = require('@visx/text');
17
- var _react = require('react');
18
- var _jsxruntime = require('react/jsx-runtime');
19
- var getScaleBandwidth = (scale) => {
20
- const s = scale;
21
- return s && "bandwidth" in s ? _nullishCoalesce(_optionalChain([s, 'optionalAccess', _ => _.bandwidth, 'call', _2 => _2()]), () => ( 0)) : 0;
22
- };
23
- var DefaultLabelComponent = ({
24
- textProps,
25
- x,
26
- y,
27
- label,
28
- formatter
29
- }) => {
30
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _text.Text, {
31
- ...textProps,
32
- textAnchor: "start",
33
- x,
34
- y,
35
- children: formatter(label)
36
- });
37
- };
38
- var DefaultValueComponent = ({
39
- textProps,
40
- x,
41
- y,
42
- value,
43
- formatter
44
- }) => {
45
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _text.Text, {
46
- ...textProps,
47
- textAnchor: "end",
48
- x,
49
- y,
50
- fontWeight: 500,
51
- children: formatter(value)
52
- });
53
- };
54
- var AxisRenderer = ({
55
- ticks,
56
- tickLabelProps,
57
- yOffset,
58
- labelPosition,
59
- valuePosition,
60
- data,
61
- labelFormatter,
62
- valueFormatter,
63
- LabelComponent = DefaultLabelComponent,
64
- ValueComponent = DefaultValueComponent
65
- }) => {
66
- if (ticks.length === 0) {
67
- return null;
68
- }
69
- const allTickLabelProps = ticks.map(({
70
- value,
71
- index
72
- }) => typeof tickLabelProps === "function" ? tickLabelProps(value, index, ticks) : {});
73
- return ticks.map(({
74
- from,
75
- formattedValue
76
- }, index) => {
77
- const textProps = _nullishCoalesce(allTickLabelProps[index], () => ( {}));
78
- delete textProps.textAnchor;
79
- delete textProps.dx;
80
- const sum = data.reduce((acc, {
81
- data: seriesData
82
- }) => acc + (_nullishCoalesce(_optionalChain([seriesData, 'access', _3 => _3[index], 'optionalAccess', _4 => _4.value]), () => ( 0))), 0);
83
- const y = from.y + yOffset;
84
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _group.Group, {
85
- children: [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, LabelComponent, {
86
- textProps,
87
- x: labelPosition,
88
- y,
89
- label: formattedValue,
90
- formatter: labelFormatter
91
- }), /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ValueComponent, {
92
- textProps,
93
- x: valuePosition,
94
- y,
95
- value: sum,
96
- formatter: valueFormatter,
97
- data,
98
- index
99
- })]
100
- }, index);
101
- });
102
- };
103
- var getDefaultYOffset = (data, yScaleConfig, height, isMultiSeries) => {
104
- if (!isMultiSeries) {
105
- return 0;
106
- }
107
- const dataKeys = data.map(({
108
- label
109
- }) => label);
110
- const yScale = _scale.createScale.call(void 0, {
111
- type: "band",
112
- range: [0, height],
113
- domain: dataKeys,
114
- ...yScaleConfig
115
- });
116
- const groupScale = _scale.scaleBand.call(void 0, {
117
- domain: dataKeys,
118
- range: [0, getScaleBandwidth(yScale)],
119
- padding: yScaleConfig.paddingInner
120
- });
121
- const GAP_BETWEEN_BARS = 6;
122
- const barThickness = getScaleBandwidth(groupScale);
123
- return -(barThickness + GAP_BETWEEN_BARS);
124
- };
125
- var BarListChartInternal = ({
126
- data,
127
- width,
128
- height,
129
- options = {},
130
- margin = {
131
- left: 0,
132
- right: 20,
133
- bottom: 0,
134
- top: 0
135
- },
136
- ...rest
137
- }) => {
138
- const chartOptions = _react.useMemo.call(void 0, () => {
139
- const isMultiSeries = data.length > 1;
140
- const defaultYScale = {
141
- // For multi series, set default padding larger to look better.
142
- paddingInner: isMultiSeries ? 0.3 : 0.1,
143
- padding: isMultiSeries ? 0.3 : 0.1
144
- };
145
- const defaultXScale = {
146
- // Always begin at zero since the x axis is hidden.
147
- zero: true
148
- };
149
- const yScale = {
150
- ...defaultYScale,
151
- ..._nullishCoalesce(options.yScale, () => ( {}))
152
- };
153
- const xScale = {
154
- ...defaultXScale,
155
- ..._nullishCoalesce(options.xScale, () => ( {}))
156
- };
157
- return {
158
- yScale,
159
- xScale,
160
- labelPosition: _nullishCoalesce(options.labelPosition, () => ( (isMultiSeries ? 0 : 10))),
161
- valueFormatter: _nullishCoalesce(options.valueFormatter, () => ( ((value) => _numberformatters.formatNumberCompact.call(void 0, value)))),
162
- labelFormatter: _nullishCoalesce(options.labelFormatter, () => ( ((value) => String(value)))),
163
- valuePosition: _nullishCoalesce(options.valuePosition, () => ( width)),
164
- yOffset: _nullishCoalesce(options.yOffset, () => ( getDefaultYOffset(data, yScale, height, isMultiSeries)))
165
- };
166
- }, [options, width, data, height]);
167
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXC4KHJYXcjs.BarChart, {
168
- orientation: "horizontal",
169
- gridVisibility: "none",
170
- data,
171
- width,
172
- height,
173
- margin,
174
- options: {
175
- axis: {
176
- y: {
177
- children: (renderProps) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AxisRenderer, {
178
- ...renderProps,
179
- data,
180
- yOffset: chartOptions.yOffset,
181
- labelPosition: chartOptions.labelPosition,
182
- valuePosition: chartOptions.valuePosition,
183
- labelFormatter: chartOptions.labelFormatter,
184
- valueFormatter: chartOptions.valueFormatter,
185
- LabelComponent: options.labelComponent,
186
- ValueComponent: options.valueComponent
187
- })
188
- },
189
- x: {
190
- children: () => null
191
- }
192
- },
193
- xScale: chartOptions.xScale,
194
- yScale: chartOptions.yScale
195
- },
196
- ...rest
197
- });
198
- };
199
- var BarListChart = (props) => {
200
- const existingContext = _react.useContext.call(void 0, _chunkWYK7EL5Rcjs.GlobalChartsContext);
201
- if (existingContext) {
202
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BarListChartInternal, {
203
- ...props
204
- });
205
- }
206
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYK7EL5Rcjs.GlobalChartsProvider, {
207
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BarListChartInternal, {
208
- ...props
209
- })
210
- });
211
- };
212
- BarListChart.displayName = "BarListChart";
213
- var BarListChartResponsive = _chunkASLARV7Lcjs.withResponsive.call(void 0, BarListChart);
214
-
215
-
216
-
217
-
218
- exports.BarListChart = BarListChart; exports.BarListChartResponsive = BarListChartResponsive;
219
- //# sourceMappingURL=chunk-WSG64BVN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-WSG64BVN.cjs","../src/charts/bar-list-chart/bar-list-chart.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/chunk-WSG64BVN.cjs","sourcesContent":[null,"import { formatNumberCompact } from '@automattic/number-formatters';\nimport { Group } from '@visx/group';\nimport { createScale, scaleBand } from '@visx/scale';\nimport { Text } from '@visx/text';\nimport { useContext, useMemo } from 'react';\nimport { GlobalChartsContext, GlobalChartsProvider } from '../../providers';\nimport { BarChartUnresponsive } from '../bar-chart';\nimport { withResponsive } from '../private/with-responsive';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * Get the bandwidth of a scale\n * @param scale - The scale to get the bandwidth of\n * @return The bandwidth of the scale\n */\nconst getScaleBandwidth = scale => {\n // Broaden type before using 'xxx' in s as typeguard.\n const s = scale;\n return s && 'bandwidth' in s ? s?.bandwidth() ?? 0 : 0;\n};\nconst DefaultLabelComponent = ({\n textProps,\n x,\n y,\n label,\n formatter\n}) => {\n return /*#__PURE__*/_jsx(Text, {\n ...textProps,\n textAnchor: \"start\",\n x: x,\n y: y,\n children: formatter(label)\n });\n};\nconst DefaultValueComponent = ({\n textProps,\n x,\n y,\n value,\n formatter\n}) => {\n return /*#__PURE__*/_jsx(Text, {\n ...textProps,\n textAnchor: \"end\",\n x: x,\n y: y,\n fontWeight: 500,\n children: formatter(value)\n });\n};\nconst AxisRenderer = ({\n ticks,\n tickLabelProps,\n yOffset,\n labelPosition,\n valuePosition,\n data,\n labelFormatter,\n valueFormatter,\n LabelComponent = DefaultLabelComponent,\n ValueComponent = DefaultValueComponent\n}) => {\n if (ticks.length === 0) {\n return null;\n }\n\n // compute the max tick label size to compute label offset\n const allTickLabelProps = ticks.map(({\n value,\n index\n }) => typeof tickLabelProps === 'function' ? tickLabelProps(value, index, ticks) : {});\n return ticks.map(({\n from,\n formattedValue\n }, index) => {\n const textProps = allTickLabelProps[index] ?? {};\n // No need to pass textAnchor and dx. It will be handled by the component.\n delete textProps.textAnchor;\n delete textProps.dx;\n const sum = data.reduce((acc, {\n data: seriesData\n }) => acc + (seriesData[index]?.value ?? 0), 0);\n const y = from.y + yOffset;\n return /*#__PURE__*/_jsxs(Group, {\n children: [/*#__PURE__*/_jsx(LabelComponent, {\n textProps: textProps,\n x: labelPosition,\n y: y,\n label: formattedValue,\n formatter: labelFormatter\n }), /*#__PURE__*/_jsx(ValueComponent, {\n textProps: textProps,\n x: valuePosition,\n y: y,\n value: sum,\n formatter: valueFormatter,\n data: data,\n index: index\n })]\n }, index);\n });\n};\n\n/**\n * Calculate the default y offset for the bar list chart.\n * @param data - The data to calculate the default y offset for.\n * @param yScaleConfig - The y scale configuration.\n * @param height - The height of the chart.\n * @param isMultiSeries - Whether the chart is a multi series chart.\n * @return The default y offset.\n */\nconst getDefaultYOffset = (data, yScaleConfig, height, isMultiSeries) => {\n if (!isMultiSeries) {\n return 0;\n }\n const dataKeys = data.map(({\n label\n }) => label);\n const yScale = createScale({\n type: 'band',\n range: [0, height],\n domain: dataKeys,\n ...yScaleConfig\n });\n const groupScale = scaleBand({\n domain: dataKeys,\n range: [0, getScaleBandwidth(yScale)],\n padding: yScaleConfig.paddingInner\n });\n const GAP_BETWEEN_BARS = 6;\n const barThickness = getScaleBandwidth(groupScale);\n\n // Use negative value to move the label up.\n return -(barThickness + GAP_BETWEEN_BARS);\n};\nconst BarListChartInternal = ({\n data,\n width,\n height,\n options = {},\n margin = {\n left: 0,\n right: 20,\n bottom: 0,\n top: 0\n },\n ...rest\n}) => {\n const chartOptions = useMemo(() => {\n const isMultiSeries = data.length > 1;\n const defaultYScale = {\n // For multi series, set default padding larger to look better.\n paddingInner: isMultiSeries ? 0.3 : 0.1,\n padding: isMultiSeries ? 0.3 : 0.1\n };\n const defaultXScale = {\n // Always begin at zero since the x axis is hidden.\n zero: true\n };\n const yScale = {\n ...defaultYScale,\n ...(options.yScale ?? {})\n };\n const xScale = {\n ...defaultXScale,\n ...(options.xScale ?? {})\n };\n return {\n yScale,\n xScale,\n labelPosition: options.labelPosition ?? (isMultiSeries ? 0 : 10),\n valueFormatter: options.valueFormatter ?? (value => formatNumberCompact(value)),\n labelFormatter: options.labelFormatter ?? (value => String(value)),\n valuePosition: options.valuePosition ?? width,\n yOffset: options.yOffset ?? getDefaultYOffset(data, yScale, height, isMultiSeries)\n };\n }, [options, width, data, height]);\n return /*#__PURE__*/_jsx(BarChartUnresponsive, {\n orientation: \"horizontal\",\n gridVisibility: 'none',\n data: data,\n width: width,\n height: height,\n margin: margin,\n options: {\n axis: {\n y: {\n children: renderProps => /*#__PURE__*/_jsx(AxisRenderer, {\n ...renderProps,\n data: data,\n yOffset: chartOptions.yOffset,\n labelPosition: chartOptions.labelPosition,\n valuePosition: chartOptions.valuePosition,\n labelFormatter: chartOptions.labelFormatter,\n valueFormatter: chartOptions.valueFormatter,\n LabelComponent: options.labelComponent,\n ValueComponent: options.valueComponent\n })\n },\n x: {\n children: () => null\n }\n },\n xScale: chartOptions.xScale,\n yScale: chartOptions.yScale\n },\n ...rest\n });\n};\nconst BarListChart = props => {\n const existingContext = useContext(GlobalChartsContext);\n\n // If we're already in a GlobalChartsProvider context, render the core component directly\n if (existingContext) {\n return /*#__PURE__*/_jsx(BarListChartInternal, {\n ...props\n });\n }\n\n // Otherwise, wrap with our own GlobalChartsProvider\n return /*#__PURE__*/_jsx(GlobalChartsProvider, {\n children: /*#__PURE__*/_jsx(BarListChartInternal, {\n ...props\n })\n });\n};\nBarListChart.displayName = 'BarListChart';\nconst BarListChartResponsive = withResponsive(BarListChart);\nexport { BarListChartResponsive as default, BarListChart as BarListChartUnresponsive };"]}