@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 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,12 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
- var _chunkY3NNQMAXcjs = require('../../chunk-Y3NNQMAX.cjs');
6
- require('../../chunk-EMMSS5I5.cjs');
7
-
8
-
9
-
10
-
11
- exports.AccessibleTooltip = _chunkY3NNQMAXcjs.AccessibleTooltip; exports.BaseTooltip = _chunkY3NNQMAXcjs.BaseTooltip; exports.useKeyboardNavigation = _chunkY3NNQMAXcjs.useKeyboardNavigation;
12
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/components/tooltip/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACF,8LAAC","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/components/tooltip/index.cjs"}
@@ -1,13 +0,0 @@
1
- /* esbuild-sass-plugin:css-chunk:src/components/tooltip/base-tooltip.module.scss */
2
- .a8ccharts-OfX6nd {
3
- padding: 0.5rem;
4
- background-color: rgba(0, 0, 0, 0.85);
5
- color: #fff;
6
- border-radius: 4px;
7
- font-size: 14px;
8
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
9
- position: absolute;
10
- pointer-events: none;
11
- transform: translate(-50%, -100%);
12
- }
13
- /*# sourceMappingURL=index.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/components/tooltip/base-tooltip.module.scss"],"sourcesContent":[".a8ccharts-OfX6nd {\n padding: 0.5rem;\n background-color: rgba(0, 0, 0, 0.85);\n color: #fff;\n border-radius: 4px;\n font-size: 14px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n position: absolute;\n pointer-events: none;\n transform: translate(-50%, -100%);\n}"],"mappings":";AAAA,CAAC;AACC,WAAS;AACT,oBAAkB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAChC,SAAO;AACP,iBAAe;AACf,aAAW;AACX,cAAY,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpC,YAAU;AACV,kBAAgB;AAChB,aAAW,UAAU,IAAI,EAAE;AAC7B;","names":[]}
@@ -1,71 +0,0 @@
1
- export { B as BaseTooltip, a as BaseTooltipProps, T as TooltipData } from '../../base-tooltip-DOq93wjU.cjs';
2
- import { c as DataPointDate, j as SeriesData } from '../../types-DZordNiO.cjs';
3
- import { TooltipProps as TooltipProps$1, RenderTooltipParams } from '@visx/xychart/lib/components/Tooltip';
4
- import { ReactNode } from 'react';
5
- import 'react/jsx-runtime';
6
- import '@visx/annotation/lib/components/CircleSubject';
7
- import '@visx/annotation/lib/components/Connector';
8
- import '@visx/annotation/lib/components/Label';
9
- import '@visx/annotation/lib/components/LineSubject';
10
- import '@visx/axis';
11
- import '@visx/legend/lib/types';
12
- import '@visx/scale';
13
- import '@visx/text/lib/Text';
14
- import '@visx/xychart';
15
- import '@wordpress/theme';
16
- import 'react-google-charts';
17
-
18
- type FlattenedTooltipData = {
19
- datum: DataPointDate;
20
- seriesLabel: string;
21
- seriesIndex: number;
22
- dataPointIndex: number;
23
- };
24
- interface AccessibleTooltipProps extends Omit<TooltipProps$1<DataPointDate>, 'renderTooltip'> {
25
- renderTooltip?: (params: RenderTooltipParams<DataPointDate>) => ReactNode;
26
- selectedIndex?: number | undefined;
27
- tooltipRef?: (element: HTMLDivElement | null) => void;
28
- keyboardFocusedClassName?: string;
29
- /**
30
- * Flattened tooltip data prepared by parent component
31
- * Each index corresponds to one tooltip to show
32
- */
33
- tooltipData?: FlattenedTooltipData[];
34
- /**
35
- * For line charts: series data to show all series at selected data point
36
- * When provided, shows all series instead of individual tooltips
37
- */
38
- series?: SeriesData[];
39
- /**
40
- * Whether to combine tooltip information from multiple series into a single tooltip. This is useful for line charts.
41
- * Or to show individual tooltips for each series. This is useful for bar charts.
42
- */
43
- mode?: 'individual' | 'group';
44
- }
45
- declare const AccessibleTooltip: React.FC<AccessibleTooltipProps>;
46
- interface UseKeyboardNavigationProps {
47
- selectedIndex: number | undefined;
48
- setSelectedIndex: (index: number | undefined) => void;
49
- isNavigating: boolean;
50
- setIsNavigating: (navigating: boolean) => void;
51
- chartRef: React.RefObject<HTMLDivElement>;
52
- /**
53
- * Total number of navigation points (length of tooltip data array)
54
- */
55
- totalPoints: number;
56
- }
57
- declare const useKeyboardNavigation: ({ selectedIndex, setSelectedIndex, isNavigating, setIsNavigating, chartRef, totalPoints, }: UseKeyboardNavigationProps) => {
58
- tooltipRef: (element: HTMLDivElement | null) => void;
59
- onChartFocus: () => void;
60
- onChartBlur: () => void;
61
- onChartKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
62
- };
63
-
64
- type TooltipProps = {
65
- data: {
66
- label: string;
67
- value: number;
68
- };
69
- };
70
-
71
- export { AccessibleTooltip, type TooltipProps, useKeyboardNavigation };
@@ -1,71 +0,0 @@
1
- export { B as BaseTooltip, a as BaseTooltipProps, T as TooltipData } from '../../base-tooltip-DOq93wjU.js';
2
- import { c as DataPointDate, j as SeriesData } from '../../types-DZordNiO.js';
3
- import { TooltipProps as TooltipProps$1, RenderTooltipParams } from '@visx/xychart/lib/components/Tooltip';
4
- import { ReactNode } from 'react';
5
- import 'react/jsx-runtime';
6
- import '@visx/annotation/lib/components/CircleSubject';
7
- import '@visx/annotation/lib/components/Connector';
8
- import '@visx/annotation/lib/components/Label';
9
- import '@visx/annotation/lib/components/LineSubject';
10
- import '@visx/axis';
11
- import '@visx/legend/lib/types';
12
- import '@visx/scale';
13
- import '@visx/text/lib/Text';
14
- import '@visx/xychart';
15
- import '@wordpress/theme';
16
- import 'react-google-charts';
17
-
18
- type FlattenedTooltipData = {
19
- datum: DataPointDate;
20
- seriesLabel: string;
21
- seriesIndex: number;
22
- dataPointIndex: number;
23
- };
24
- interface AccessibleTooltipProps extends Omit<TooltipProps$1<DataPointDate>, 'renderTooltip'> {
25
- renderTooltip?: (params: RenderTooltipParams<DataPointDate>) => ReactNode;
26
- selectedIndex?: number | undefined;
27
- tooltipRef?: (element: HTMLDivElement | null) => void;
28
- keyboardFocusedClassName?: string;
29
- /**
30
- * Flattened tooltip data prepared by parent component
31
- * Each index corresponds to one tooltip to show
32
- */
33
- tooltipData?: FlattenedTooltipData[];
34
- /**
35
- * For line charts: series data to show all series at selected data point
36
- * When provided, shows all series instead of individual tooltips
37
- */
38
- series?: SeriesData[];
39
- /**
40
- * Whether to combine tooltip information from multiple series into a single tooltip. This is useful for line charts.
41
- * Or to show individual tooltips for each series. This is useful for bar charts.
42
- */
43
- mode?: 'individual' | 'group';
44
- }
45
- declare const AccessibleTooltip: React.FC<AccessibleTooltipProps>;
46
- interface UseKeyboardNavigationProps {
47
- selectedIndex: number | undefined;
48
- setSelectedIndex: (index: number | undefined) => void;
49
- isNavigating: boolean;
50
- setIsNavigating: (navigating: boolean) => void;
51
- chartRef: React.RefObject<HTMLDivElement>;
52
- /**
53
- * Total number of navigation points (length of tooltip data array)
54
- */
55
- totalPoints: number;
56
- }
57
- declare const useKeyboardNavigation: ({ selectedIndex, setSelectedIndex, isNavigating, setIsNavigating, chartRef, totalPoints, }: UseKeyboardNavigationProps) => {
58
- tooltipRef: (element: HTMLDivElement | null) => void;
59
- onChartFocus: () => void;
60
- onChartBlur: () => void;
61
- onChartKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
62
- };
63
-
64
- type TooltipProps = {
65
- data: {
66
- label: string;
67
- value: number;
68
- };
69
- };
70
-
71
- export { AccessibleTooltip, type TooltipProps, useKeyboardNavigation };
@@ -1,12 +0,0 @@
1
- import {
2
- AccessibleTooltip,
3
- BaseTooltip,
4
- useKeyboardNavigation
5
- } from "../../chunk-BPYKWMI7.js";
6
- import "../../chunk-G3PMV62Z.js";
7
- export {
8
- AccessibleTooltip,
9
- BaseTooltip,
10
- useKeyboardNavigation
11
- };
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkI2276W3Icjs = require('../../chunk-I2276W3I.cjs');
4
- require('../../chunk-EMMSS5I5.cjs');
5
-
6
-
7
- exports.TrendIndicator = _chunkI2276W3Icjs.TrendIndicator;
8
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/components/trend-indicator/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,4DAAiC;AACjC,oCAAiC;AACjC;AACE;AACF,0DAAC","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/components/trend-indicator/index.cjs"}
@@ -1,27 +0,0 @@
1
- /* esbuild-sass-plugin:css-chunk:src/components/trend-indicator/trend-indicator.module.scss */
2
- .a8ccharts-tGw1PY {
3
- display: inline-flex;
4
- align-items: center;
5
- gap: 0.125em;
6
- font-size: 0.875rem;
7
- font-weight: 500;
8
- line-height: 1;
9
- }
10
- .a8ccharts-Fn-D1W {
11
- color: var(--charts-trend-up-color, #1a8917);
12
- }
13
- .a8ccharts-HqtGQO {
14
- color: var(--charts-trend-down-color, #d63638);
15
- }
16
- .a8ccharts-S10nvO {
17
- color: var(--charts-trend-neutral-color, #646970);
18
- }
19
- .a8ccharts-5HjpOT {
20
- width: 1em;
21
- height: 1em;
22
- flex-shrink: 0;
23
- }
24
- .a8ccharts-muLL2Q {
25
- white-space: nowrap;
26
- }
27
- /*# sourceMappingURL=index.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/components/trend-indicator/trend-indicator.module.scss"],"sourcesContent":[".a8ccharts-tGw1PY {\n display: inline-flex;\n align-items: center;\n gap: 0.125em;\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1;\n}\n.a8ccharts-Fn-D1W {\n color: var(--charts-trend-up-color, #1a8917);\n}\n.a8ccharts-HqtGQO {\n color: var(--charts-trend-down-color, #d63638);\n}\n.a8ccharts-S10nvO {\n color: var(--charts-trend-neutral-color, #646970);\n}\n.a8ccharts-5HjpOT {\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n}\n.a8ccharts-muLL2Q {\n white-space: nowrap;\n}"],"mappings":";AAAA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK;AACL,aAAW;AACX,eAAa;AACb,eAAa;AACf;AACA,CAAC;AACC,SAAO,IAAI,uBAAuB,EAAE;AACtC;AACA,CAAC;AACC,SAAO,IAAI,yBAAyB,EAAE;AACxC;AACA,CAAC;AACC,SAAO,IAAI,4BAA4B,EAAE;AAC3C;AACA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,eAAa;AACf;AACA,CAAC;AACC,eAAa;AACf;","names":[]}
@@ -1,44 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { CSSProperties } from 'react';
3
-
4
- /**
5
- * The direction of the trend
6
- */
7
- type TrendDirection = 'up' | 'down' | 'neutral';
8
- /**
9
- * Props for the TrendIndicator component
10
- */
11
- type TrendIndicatorProps = {
12
- /**
13
- * The direction of the trend (up, down, or neutral)
14
- */
15
- direction: TrendDirection;
16
- /**
17
- * The value to display (e.g., "14%", "+$500", "2.5k")
18
- */
19
- value: string | number;
20
- /**
21
- * Additional CSS class name
22
- */
23
- className?: string;
24
- /**
25
- * Inline styles
26
- */
27
- style?: CSSProperties;
28
- /**
29
- * Whether to show the directional icon
30
- * @default true
31
- */
32
- showIcon?: boolean;
33
- };
34
-
35
- /**
36
- * TrendIndicator displays a directional trend with a value.
37
- * Used to show percentage changes or growth metrics.
38
- *
39
- * @param {TrendIndicatorProps} props - Component props
40
- * @return {JSX.Element} The rendered trend indicator
41
- */
42
- declare function TrendIndicator({ direction, value, className, style, showIcon, }: TrendIndicatorProps): react_jsx_runtime.JSX.Element;
43
-
44
- export { type TrendDirection, TrendIndicator, type TrendIndicatorProps };
@@ -1,44 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { CSSProperties } from 'react';
3
-
4
- /**
5
- * The direction of the trend
6
- */
7
- type TrendDirection = 'up' | 'down' | 'neutral';
8
- /**
9
- * Props for the TrendIndicator component
10
- */
11
- type TrendIndicatorProps = {
12
- /**
13
- * The direction of the trend (up, down, or neutral)
14
- */
15
- direction: TrendDirection;
16
- /**
17
- * The value to display (e.g., "14%", "+$500", "2.5k")
18
- */
19
- value: string | number;
20
- /**
21
- * Additional CSS class name
22
- */
23
- className?: string;
24
- /**
25
- * Inline styles
26
- */
27
- style?: CSSProperties;
28
- /**
29
- * Whether to show the directional icon
30
- * @default true
31
- */
32
- showIcon?: boolean;
33
- };
34
-
35
- /**
36
- * TrendIndicator displays a directional trend with a value.
37
- * Used to show percentage changes or growth metrics.
38
- *
39
- * @param {TrendIndicatorProps} props - Component props
40
- * @return {JSX.Element} The rendered trend indicator
41
- */
42
- declare function TrendIndicator({ direction, value, className, style, showIcon, }: TrendIndicatorProps): react_jsx_runtime.JSX.Element;
43
-
44
- export { type TrendDirection, TrendIndicator, type TrendIndicatorProps };
@@ -1,8 +0,0 @@
1
- import {
2
- TrendIndicator
3
- } from "../../chunk-XWYZIFZW.js";
4
- import "../../chunk-G3PMV62Z.js";
5
- export {
6
- TrendIndicator
7
- };
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,24 +0,0 @@
1
- /**
2
- * Types for formatMetricValue
3
- */
4
- type MetricValueType = 'number' | 'average' | 'currency';
5
- type FormatMetricValueOptions = {
6
- decimals?: number;
7
- useMultipliers?: boolean;
8
- signDisplay?: Intl.NumberFormatOptions['signDisplay'];
9
- };
10
- /**
11
- * Format a numeric metric value based on type, precision and scale.
12
- * Supports currency, number and percentage, using `@automattic/number-formatters`.
13
- *
14
- * @param value - The value to format
15
- * @param type - The type of formatting to apply
16
- * @param options - Formatting options
17
- * @param options.decimals - Number of decimal places to show
18
- * @param options.useMultipliers - Whether to use K, M, B suffixes for large numbers
19
- * @param options.signDisplay - Controls when to display the sign (auto, always, never, exceptZero)
20
- * @return Formatted string
21
- */
22
- declare const formatMetricValue: (value: string | number, type?: MetricValueType, { decimals, useMultipliers, signDisplay }?: FormatMetricValueOptions) => string;
23
-
24
- export { type MetricValueType as M, formatMetricValue as f };
@@ -1,24 +0,0 @@
1
- /**
2
- * Types for formatMetricValue
3
- */
4
- type MetricValueType = 'number' | 'average' | 'currency';
5
- type FormatMetricValueOptions = {
6
- decimals?: number;
7
- useMultipliers?: boolean;
8
- signDisplay?: Intl.NumberFormatOptions['signDisplay'];
9
- };
10
- /**
11
- * Format a numeric metric value based on type, precision and scale.
12
- * Supports currency, number and percentage, using `@automattic/number-formatters`.
13
- *
14
- * @param value - The value to format
15
- * @param type - The type of formatting to apply
16
- * @param options - Formatting options
17
- * @param options.decimals - Number of decimal places to show
18
- * @param options.useMultipliers - Whether to use K, M, B suffixes for large numbers
19
- * @param options.signDisplay - Controls when to display the sign (auto, always, never, exceptZero)
20
- * @return Formatted string
21
- */
22
- declare const formatMetricValue: (value: string | number, type?: MetricValueType, { decimals, useMultipliers, signDisplay }?: FormatMetricValueOptions) => string;
23
-
24
- export { type MetricValueType as M, formatMetricValue as f };
@@ -1,31 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- var _chunkRHHVEJHJcjs = require('../chunk-RHHVEJHJ.cjs');
15
- require('../chunk-VTS3PNMS.cjs');
16
- require('../chunk-EMMSS5I5.cjs');
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
- exports.useChartDataTransform = _chunkRHHVEJHJcjs.useChartDataTransform; exports.useChartMargin = _chunkRHHVEJHJcjs.useChartMargin; exports.useChartMouseHandler = _chunkRHHVEJHJcjs.useChartMouseHandler; exports.useDeepMemo = _chunkRHHVEJHJcjs.useDeepMemo; exports.useElementSize = _chunkRHHVEJHJcjs.useElementSize; exports.useHasLegendChild = _chunkRHHVEJHJcjs.useHasLegendChild; exports.useInteractiveLegendData = _chunkRHHVEJHJcjs.useInteractiveLegendData; exports.usePrefersReducedMotion = _chunkRHHVEJHJcjs.usePrefersReducedMotion; exports.useTextTruncation = _chunkRHHVEJHJcjs.useTextTruncation; exports.useTooltipPortalRelocator = _chunkRHHVEJHJcjs.useTooltipPortalRelocator; exports.useXYChartTheme = _chunkRHHVEJHJcjs.useXYChartTheme; exports.useZeroValueDisplay = _chunkRHHVEJHJcjs.useZeroValueDisplay;
31
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/hooks/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,2yBAAC","file":"/home/runner/work/jetpack/jetpack/projects/js-packages/charts/dist/hooks/index.cjs"}
@@ -1,103 +0,0 @@
1
- /* esbuild-sass-plugin:css-chunk:src/hooks/use-tooltip-portal-relocator.module.scss */
2
- .a8ccharts-jCw5dQ {
3
- position: fixed;
4
- inset: 0;
5
- overflow: visible;
6
- z-index: 1;
7
- pointer-events: none;
8
- }
9
-
10
- /* esbuild-sass-plugin:css-chunk:src/components/legend/private/base-legend.module.scss */
11
- .a8ccharts-AELBvX {
12
- display: flex;
13
- flex-direction: row;
14
- flex-wrap: wrap;
15
- gap: 16px;
16
- }
17
- .a8ccharts-fX8uQe {
18
- display: flex;
19
- flex-direction: column;
20
- gap: 8px;
21
- }
22
- .a8ccharts-fX8uQe.a8ccharts-DEe0wg {
23
- align-items: flex-start;
24
- }
25
- .a8ccharts-fX8uQe.a8ccharts-WBKF9I {
26
- align-items: center;
27
- }
28
- .a8ccharts-fX8uQe.a8ccharts-JfwMng {
29
- align-items: flex-end;
30
- }
31
- .a8ccharts-8Y73Kh {
32
- position: relative;
33
- }
34
- .a8ccharts-8Y73Kh.a8ccharts-DEe0wg {
35
- justify-content: flex-start;
36
- }
37
- .a8ccharts-8Y73Kh.a8ccharts-WBKF9I {
38
- justify-content: center;
39
- }
40
- .a8ccharts-8Y73Kh.a8ccharts-JfwMng {
41
- justify-content: flex-end;
42
- }
43
- .a8ccharts-TVM-IY {
44
- position: relative;
45
- }
46
- .a8ccharts-TVM-IY.a8ccharts-DEe0wg {
47
- justify-content: flex-start;
48
- }
49
- .a8ccharts-TVM-IY.a8ccharts-WBKF9I {
50
- justify-content: center;
51
- }
52
- .a8ccharts-TVM-IY.a8ccharts-JfwMng {
53
- justify-content: flex-end;
54
- }
55
- .a8ccharts-Vflwq8 {
56
- display: flex;
57
- align-items: center;
58
- font-size: 0.875rem;
59
- }
60
- .a8ccharts-qGsavM {
61
- cursor: pointer;
62
- user-select: none;
63
- transition: opacity 0.2s ease;
64
- }
65
- .a8ccharts-qGsavM:hover {
66
- opacity: 0.8;
67
- }
68
- .a8ccharts-qGsavM:focus {
69
- outline: 2px solid currentColor;
70
- outline-offset: 2px;
71
- border-radius: 4px;
72
- }
73
- .a8ccharts-qGsavM:focus:not(:focus-visible) {
74
- outline: none;
75
- }
76
- .a8ccharts-ZtDY-Q {
77
- opacity: 0.4;
78
- }
79
- .a8ccharts-ZtDY-Q .a8ccharts-2H65Kr {
80
- text-decoration: line-through;
81
- }
82
- .a8ccharts-2H65Kr {
83
- display: flex;
84
- align-items: center;
85
- gap: 0.5rem;
86
- }
87
- .a8ccharts-faSDBI {
88
- overflow-wrap: break-word;
89
- white-space: normal;
90
- hyphens: auto;
91
- }
92
- .a8ccharts-FISUIO {
93
- white-space: nowrap;
94
- overflow: hidden;
95
- text-overflow: ellipsis;
96
- flex-shrink: 1;
97
- min-width: 0;
98
- }
99
- .a8ccharts-DTZlT- {
100
- font-weight: 500;
101
- flex-shrink: 0;
102
- }
103
- /*# sourceMappingURL=index.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["esbuild-sass-plugin:css-chunk:src/hooks/use-tooltip-portal-relocator.module.scss","esbuild-sass-plugin:css-chunk:src/components/legend/private/base-legend.module.scss"],"sourcesContent":[".a8ccharts-jCw5dQ {\n position: fixed;\n inset: 0;\n overflow: visible;\n z-index: 1;\n pointer-events: none;\n}",".a8ccharts-AELBvX {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 16px;\n}\n.a8ccharts-fX8uQe {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.a8ccharts-fX8uQe.a8ccharts-DEe0wg {\n align-items: flex-start;\n}\n.a8ccharts-fX8uQe.a8ccharts-WBKF9I {\n align-items: center;\n}\n.a8ccharts-fX8uQe.a8ccharts-JfwMng {\n align-items: flex-end;\n}\n.a8ccharts-8Y73Kh {\n position: relative;\n}\n.a8ccharts-8Y73Kh.a8ccharts-DEe0wg {\n justify-content: flex-start;\n}\n.a8ccharts-8Y73Kh.a8ccharts-WBKF9I {\n justify-content: center;\n}\n.a8ccharts-8Y73Kh.a8ccharts-JfwMng {\n justify-content: flex-end;\n}\n.a8ccharts-TVM-IY {\n position: relative;\n}\n.a8ccharts-TVM-IY.a8ccharts-DEe0wg {\n justify-content: flex-start;\n}\n.a8ccharts-TVM-IY.a8ccharts-WBKF9I {\n justify-content: center;\n}\n.a8ccharts-TVM-IY.a8ccharts-JfwMng {\n justify-content: flex-end;\n}\n\n.a8ccharts-Vflwq8 {\n display: flex;\n align-items: center;\n font-size: 0.875rem;\n}\n.a8ccharts-qGsavM {\n cursor: pointer;\n user-select: none;\n transition: opacity 0.2s ease;\n}\n.a8ccharts-qGsavM:hover {\n opacity: 0.8;\n}\n.a8ccharts-qGsavM:focus {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n border-radius: 4px;\n}\n.a8ccharts-qGsavM:focus:not(:focus-visible) {\n outline: none;\n}\n.a8ccharts-ZtDY-Q {\n opacity: 0.4;\n}\n.a8ccharts-ZtDY-Q .a8ccharts-2H65Kr {\n text-decoration: line-through;\n}\n\n.a8ccharts-2H65Kr {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n /* Text wrapping is handled at the text level, not the label container */\n}\n\n.a8ccharts-faSDBI {\n overflow-wrap: break-word;\n white-space: normal;\n hyphens: auto;\n}\n.a8ccharts-FISUIO {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex-shrink: 1;\n min-width: 0;\n}\n\n.a8ccharts-DTZlT- {\n font-weight: 500;\n flex-shrink: 0;\n}"],"mappings":";AAAA,CAAC;AACC,YAAU;AACV,SAAO;AACP,YAAU;AACV,WAAS;AACT,kBAAgB;AAClB;;;ACNA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,aAAW;AACX,OAAK;AACP;AACA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACP;AACA,CALC,gBAKgB,CAAC;AAChB,eAAa;AACf;AACA,CARC,gBAQgB,CAAC;AAChB,eAAa;AACf;AACA,CAXC,gBAWgB,CAAC;AAChB,eAAa;AACf;AACA,CAAC;AACC,YAAU;AACZ;AACA,CAHC,gBAGgB,CAZC;AAahB,mBAAiB;AACnB;AACA,CANC,gBAMgB,CAZC;AAahB,mBAAiB;AACnB;AACA,CATC,gBASgB,CAZC;AAahB,mBAAiB;AACnB;AACA,CAAC;AACC,YAAU;AACZ;AACA,CAHC,gBAGgB,CAxBC;AAyBhB,mBAAiB;AACnB;AACA,CANC,gBAMgB,CAxBC;AAyBhB,mBAAiB;AACnB;AACA,CATC,gBASgB,CAxBC;AAyBhB,mBAAiB;AACnB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,aAAW;AACb;AACA,CAAC;AACC,UAAQ;AACR,eAAa;AACb,cAAY,QAAQ,KAAK;AAC3B;AACA,CALC,gBAKgB;AACf,WAAS;AACX;AACA,CARC,gBAQgB;AACf,WAAS,IAAI,MAAM;AACnB,kBAAgB;AAChB,iBAAe;AACjB;AACA,CAbC,gBAagB,MAAM,KAAK;AAC1B,WAAS;AACX;AACA,CAAC;AACC,WAAS;AACX;AACA,CAHC,iBAGiB,CAAC;AACjB,mBAAiB;AACnB;AAEA,CAJmB;AAKjB,WAAS;AACT,eAAa;AACb,OAAK;AAEP;AAEA,CAAC;AACC,iBAAe;AACf,eAAa;AACb,WAAS;AACX;AACA,CAAC;AACC,eAAa;AACb,YAAU;AACV,iBAAe;AACf,eAAa;AACb,aAAW;AACb;AAEA,CAAC;AACC,eAAa;AACb,eAAa;AACf;","names":[]}