@automattic/charts 0.58.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.
- package/CHANGELOG.md +20 -0
- package/README.md +7 -54
- package/dist/index.cjs +9606 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +20 -25
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1612 -33
- package/dist/index.d.ts +1612 -33
- package/dist/index.js +9640 -56
- package/dist/index.js.map +1 -1
- package/package.json +8 -125
- package/src/charts/bar-chart/bar-chart.module.scss +0 -5
- package/src/charts/bar-chart/bar-chart.tsx +131 -137
- package/src/charts/leaderboard-chart/leaderboard-chart.tsx +23 -40
- package/src/charts/line-chart/line-chart.module.scss +0 -5
- package/src/charts/line-chart/line-chart.tsx +190 -183
- package/src/charts/line-chart/private/line-chart-annotations-overlay.tsx +1 -2
- package/src/charts/pie-chart/pie-chart.module.scss +2 -10
- package/src/charts/pie-chart/pie-chart.tsx +198 -199
- package/src/charts/pie-chart/test/composition-api.test.tsx +3 -3
- package/src/charts/pie-chart/test/pie-chart.test.tsx +42 -35
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +2 -8
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx +155 -155
- package/src/charts/pie-semi-circle-chart/test/pie-semi-circle-chart.test.tsx +25 -25
- package/src/charts/private/chart-layout/chart-layout.module.scss +7 -0
- package/src/charts/private/chart-layout/chart-layout.tsx +106 -0
- package/src/charts/private/chart-layout/index.ts +2 -0
- package/src/charts/private/chart-layout/test/chart-layout.test.tsx +167 -0
- package/src/charts/private/single-chart-context/single-chart-context.tsx +2 -2
- package/src/charts/private/svg-empty-state/index.ts +1 -0
- package/src/charts/private/svg-empty-state/svg-empty-state.module.scss +7 -0
- package/src/charts/private/svg-empty-state/svg-empty-state.tsx +40 -0
- package/src/components/legend/hooks/test/use-chart-legend-items.test.tsx +12 -8
- package/src/components/legend/hooks/use-chart-legend-items.ts +12 -13
- package/src/components/legend/legend.tsx +33 -8
- package/src/components/legend/test/legend.test.tsx +93 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-data-with-percentages.ts +24 -0
- package/src/hooks/use-interactive-legend-data.ts +18 -15
- package/src/index.ts +65 -2
- package/src/providers/chart-context/global-charts-provider.tsx +7 -1
- package/src/providers/chart-context/hooks/use-chart-registration.ts +2 -1
- package/src/providers/chart-context/types.ts +2 -2
- package/src/types.ts +27 -7
- package/src/utils/test/resolve-css-var.test.ts +2 -0
- package/dist/base-tooltip-DOq93wjU.d.cts +0 -38
- package/dist/base-tooltip-DOq93wjU.d.ts +0 -38
- package/dist/charts/bar-chart/index.cjs +0 -17
- package/dist/charts/bar-chart/index.cjs.map +0 -1
- package/dist/charts/bar-chart/index.css +0 -141
- package/dist/charts/bar-chart/index.css.map +0 -1
- package/dist/charts/bar-chart/index.d.cts +0 -36
- package/dist/charts/bar-chart/index.d.ts +0 -36
- package/dist/charts/bar-chart/index.js +0 -17
- package/dist/charts/bar-chart/index.js.map +0 -1
- package/dist/charts/bar-list-chart/index.cjs +0 -18
- package/dist/charts/bar-list-chart/index.cjs.map +0 -1
- package/dist/charts/bar-list-chart/index.css +0 -141
- package/dist/charts/bar-list-chart/index.css.map +0 -1
- package/dist/charts/bar-list-chart/index.d.cts +0 -92
- package/dist/charts/bar-list-chart/index.d.ts +0 -92
- package/dist/charts/bar-list-chart/index.js +0 -18
- package/dist/charts/bar-list-chart/index.js.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.cjs +0 -11
- package/dist/charts/conversion-funnel-chart/index.cjs.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.css +0 -157
- package/dist/charts/conversion-funnel-chart/index.css.map +0 -1
- package/dist/charts/conversion-funnel-chart/index.d.cts +0 -97
- package/dist/charts/conversion-funnel-chart/index.d.ts +0 -97
- package/dist/charts/conversion-funnel-chart/index.js +0 -11
- package/dist/charts/conversion-funnel-chart/index.js.map +0 -1
- package/dist/charts/geo-chart/index.cjs +0 -13
- package/dist/charts/geo-chart/index.cjs.map +0 -1
- package/dist/charts/geo-chart/index.css +0 -23
- package/dist/charts/geo-chart/index.css.map +0 -1
- package/dist/charts/geo-chart/index.d.cts +0 -67
- package/dist/charts/geo-chart/index.d.ts +0 -67
- package/dist/charts/geo-chart/index.js +0 -13
- package/dist/charts/geo-chart/index.js.map +0 -1
- package/dist/charts/leaderboard-chart/index.cjs +0 -21
- package/dist/charts/leaderboard-chart/index.cjs.map +0 -1
- package/dist/charts/leaderboard-chart/index.css +0 -160
- package/dist/charts/leaderboard-chart/index.css.map +0 -1
- package/dist/charts/leaderboard-chart/index.d.cts +0 -46
- package/dist/charts/leaderboard-chart/index.d.ts +0 -46
- package/dist/charts/leaderboard-chart/index.js +0 -21
- package/dist/charts/leaderboard-chart/index.js.map +0 -1
- package/dist/charts/line-chart/index.cjs +0 -17
- package/dist/charts/line-chart/index.cjs.map +0 -1
- package/dist/charts/line-chart/index.css +0 -213
- package/dist/charts/line-chart/index.css.map +0 -1
- package/dist/charts/line-chart/index.d.cts +0 -98
- package/dist/charts/line-chart/index.d.ts +0 -98
- package/dist/charts/line-chart/index.js +0 -17
- package/dist/charts/line-chart/index.js.map +0 -1
- package/dist/charts/pie-chart/index.cjs +0 -19
- package/dist/charts/pie-chart/index.cjs.map +0 -1
- package/dist/charts/pie-chart/index.css +0 -131
- package/dist/charts/pie-chart/index.css.map +0 -1
- package/dist/charts/pie-chart/index.d.cts +0 -91
- package/dist/charts/pie-chart/index.d.ts +0 -91
- package/dist/charts/pie-chart/index.js +0 -19
- package/dist/charts/pie-chart/index.js.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.cjs +0 -18
- package/dist/charts/pie-semi-circle-chart/index.cjs.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.css +0 -132
- package/dist/charts/pie-semi-circle-chart/index.css.map +0 -1
- package/dist/charts/pie-semi-circle-chart/index.d.cts +0 -88
- package/dist/charts/pie-semi-circle-chart/index.d.ts +0 -88
- package/dist/charts/pie-semi-circle-chart/index.js +0 -18
- package/dist/charts/pie-semi-circle-chart/index.js.map +0 -1
- package/dist/charts/sparkline/index.cjs +0 -18
- package/dist/charts/sparkline/index.cjs.map +0 -1
- package/dist/charts/sparkline/index.css +0 -230
- package/dist/charts/sparkline/index.css.map +0 -1
- package/dist/charts/sparkline/index.d.cts +0 -113
- package/dist/charts/sparkline/index.d.ts +0 -113
- package/dist/charts/sparkline/index.js +0 -18
- package/dist/charts/sparkline/index.js.map +0 -1
- package/dist/chunk-2A34OA5O.cjs +0 -51
- package/dist/chunk-2A34OA5O.cjs.map +0 -1
- package/dist/chunk-2I67QUIV.js +0 -895
- package/dist/chunk-2I67QUIV.js.map +0 -1
- package/dist/chunk-2ICEEQOC.js +0 -1071
- package/dist/chunk-2ICEEQOC.js.map +0 -1
- package/dist/chunk-4B7BL2DD.js +0 -120
- package/dist/chunk-4B7BL2DD.js.map +0 -1
- package/dist/chunk-4OXMTKAL.js +0 -401
- package/dist/chunk-4OXMTKAL.js.map +0 -1
- package/dist/chunk-ASLARV7L.cjs +0 -81
- package/dist/chunk-ASLARV7L.cjs.map +0 -1
- package/dist/chunk-B6NLZFRW.js +0 -617
- package/dist/chunk-B6NLZFRW.js.map +0 -1
- package/dist/chunk-BBAUQOW6.cjs +0 -120
- package/dist/chunk-BBAUQOW6.cjs.map +0 -1
- package/dist/chunk-BPYKWMI7.js +0 -194
- package/dist/chunk-BPYKWMI7.js.map +0 -1
- package/dist/chunk-CMMHCTBX.cjs +0 -373
- package/dist/chunk-CMMHCTBX.cjs.map +0 -1
- package/dist/chunk-CPPXJATQ.cjs +0 -1071
- package/dist/chunk-CPPXJATQ.cjs.map +0 -1
- package/dist/chunk-DKU775VC.js +0 -219
- package/dist/chunk-DKU775VC.js.map +0 -1
- package/dist/chunk-GRA7Y2ZG.cjs +0 -401
- package/dist/chunk-GRA7Y2ZG.cjs.map +0 -1
- package/dist/chunk-I2276W3I.cjs +0 -66
- package/dist/chunk-I2276W3I.cjs.map +0 -1
- package/dist/chunk-JJIMABHT.js +0 -351
- package/dist/chunk-JJIMABHT.js.map +0 -1
- package/dist/chunk-KJHWXOCZ.js +0 -421
- package/dist/chunk-KJHWXOCZ.js.map +0 -1
- package/dist/chunk-KRWGSOJ2.js +0 -91
- package/dist/chunk-KRWGSOJ2.js.map +0 -1
- package/dist/chunk-KXRWNFQJ.js +0 -51
- package/dist/chunk-KXRWNFQJ.js.map +0 -1
- package/dist/chunk-LTFH7SEG.js +0 -373
- package/dist/chunk-LTFH7SEG.js.map +0 -1
- package/dist/chunk-MUNOKLLE.js +0 -165
- package/dist/chunk-MUNOKLLE.js.map +0 -1
- package/dist/chunk-MXGLYWVP.cjs +0 -351
- package/dist/chunk-MXGLYWVP.cjs.map +0 -1
- package/dist/chunk-OP6PHB2U.js +0 -81
- package/dist/chunk-OP6PHB2U.js.map +0 -1
- package/dist/chunk-OYC34VTO.cjs +0 -3957
- package/dist/chunk-OYC34VTO.cjs.map +0 -1
- package/dist/chunk-PQL5I3F6.cjs +0 -421
- package/dist/chunk-PQL5I3F6.cjs.map +0 -1
- package/dist/chunk-REZTQ4PH.cjs +0 -488
- package/dist/chunk-REZTQ4PH.cjs.map +0 -1
- package/dist/chunk-TZRUHQOH.cjs +0 -91
- package/dist/chunk-TZRUHQOH.cjs.map +0 -1
- package/dist/chunk-UTYVIOWZ.js +0 -3957
- package/dist/chunk-UTYVIOWZ.js.map +0 -1
- package/dist/chunk-W2LDIX26.cjs +0 -165
- package/dist/chunk-W2LDIX26.cjs.map +0 -1
- package/dist/chunk-WSG64BVN.cjs +0 -219
- package/dist/chunk-WSG64BVN.cjs.map +0 -1
- package/dist/chunk-WTQYGUNF.js +0 -400
- package/dist/chunk-WTQYGUNF.js.map +0 -1
- package/dist/chunk-WYK7EL5R.cjs +0 -895
- package/dist/chunk-WYK7EL5R.cjs.map +0 -1
- package/dist/chunk-XC4KHJYX.cjs +0 -617
- package/dist/chunk-XC4KHJYX.cjs.map +0 -1
- package/dist/chunk-XVBH5XHE.cjs +0 -400
- package/dist/chunk-XVBH5XHE.cjs.map +0 -1
- package/dist/chunk-XWYZIFZW.js +0 -66
- package/dist/chunk-XWYZIFZW.js.map +0 -1
- package/dist/chunk-Y3NNQMAX.cjs +0 -194
- package/dist/chunk-Y3NNQMAX.cjs.map +0 -1
- package/dist/chunk-YAFQVVDI.js +0 -488
- package/dist/chunk-YAFQVVDI.js.map +0 -1
- package/dist/components/legend/index.cjs +0 -12
- package/dist/components/legend/index.cjs.map +0 -1
- package/dist/components/legend/index.css +0 -91
- package/dist/components/legend/index.css.map +0 -1
- package/dist/components/legend/index.d.cts +0 -37
- package/dist/components/legend/index.d.ts +0 -37
- package/dist/components/legend/index.js +0 -12
- package/dist/components/legend/index.js.map +0 -1
- package/dist/components/tooltip/index.cjs +0 -12
- package/dist/components/tooltip/index.cjs.map +0 -1
- package/dist/components/tooltip/index.css +0 -13
- package/dist/components/tooltip/index.css.map +0 -1
- package/dist/components/tooltip/index.d.cts +0 -71
- package/dist/components/tooltip/index.d.ts +0 -71
- package/dist/components/tooltip/index.js +0 -12
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/trend-indicator/index.cjs +0 -8
- package/dist/components/trend-indicator/index.cjs.map +0 -1
- package/dist/components/trend-indicator/index.css +0 -27
- package/dist/components/trend-indicator/index.css.map +0 -1
- package/dist/components/trend-indicator/index.d.cts +0 -44
- package/dist/components/trend-indicator/index.d.ts +0 -44
- package/dist/components/trend-indicator/index.js +0 -8
- package/dist/components/trend-indicator/index.js.map +0 -1
- package/dist/format-metric-value-MXm5DtQ_.d.cts +0 -24
- package/dist/format-metric-value-MXm5DtQ_.d.ts +0 -24
- package/dist/hooks/index.cjs +0 -29
- package/dist/hooks/index.cjs.map +0 -1
- package/dist/hooks/index.css +0 -9
- package/dist/hooks/index.css.map +0 -1
- package/dist/hooks/index.d.cts +0 -264
- package/dist/hooks/index.d.ts +0 -264
- package/dist/hooks/index.js +0 -29
- package/dist/hooks/index.js.map +0 -1
- package/dist/leaderboard-chart-BSbg0ufV.d.cts +0 -79
- package/dist/leaderboard-chart-odEYxxEC.d.ts +0 -79
- package/dist/legend-DFkosEvC.d.cts +0 -9
- package/dist/legend-DLswHhOk.d.ts +0 -9
- package/dist/providers/index.cjs +0 -21
- package/dist/providers/index.cjs.map +0 -1
- package/dist/providers/index.css +0 -9
- package/dist/providers/index.css.map +0 -1
- package/dist/providers/index.d.cts +0 -28
- package/dist/providers/index.d.ts +0 -28
- package/dist/providers/index.js +0 -21
- package/dist/providers/index.js.map +0 -1
- package/dist/themes-D0qc5JaW.d.cts +0 -67
- package/dist/themes-itO4Ht5g.d.ts +0 -67
- package/dist/types-B5f6XQ7Q.d.cts +0 -19
- package/dist/types-BsHooDbM.d.ts +0 -19
- package/dist/types-BuSrRM4p.d.ts +0 -49
- package/dist/types-ChOUI9-N.d.cts +0 -545
- package/dist/types-ChOUI9-N.d.ts +0 -545
- package/dist/types-Dfw9VOKI.d.cts +0 -49
- package/dist/utils/index.cjs +0 -44
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.cts +0 -226
- package/dist/utils/index.d.ts +0 -226
- package/dist/utils/index.js +0 -44
- package/dist/utils/index.js.map +0 -1
- package/dist/with-responsive-CNfhzAUu.d.cts +0 -18
- package/dist/with-responsive-CNfhzAUu.d.ts +0 -18
package/dist/hooks/index.d.cts
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { MouseEvent, RefObject } from 'react';
|
|
2
|
-
import { D as DataPoint, o as SeriesData, p as SeriesDataOptions, B as BaseChartProps, d as DataPointDate } from '../types-ChOUI9-N.cjs';
|
|
3
|
-
import * as _visx_xychart from '@visx/xychart';
|
|
4
|
-
import { XYChartTheme } from '@visx/xychart';
|
|
5
|
-
import '@visx/annotation/lib/components/CircleSubject';
|
|
6
|
-
import '@visx/annotation/lib/components/Connector';
|
|
7
|
-
import '@visx/annotation/lib/components/Label';
|
|
8
|
-
import '@visx/annotation/lib/components/LineSubject';
|
|
9
|
-
import '@visx/axis';
|
|
10
|
-
import '@visx/legend/lib/types';
|
|
11
|
-
import '@visx/scale';
|
|
12
|
-
import '@visx/text/lib/Text';
|
|
13
|
-
import '@wordpress/theme';
|
|
14
|
-
import 'react-google-charts';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Custom hook to memoize a value using deep equality comparison.
|
|
18
|
-
* Prevents unnecessary re-renders when objects have the same content but different references.
|
|
19
|
-
*
|
|
20
|
-
* @param value - The value to memoize with deep equality comparison
|
|
21
|
-
* @return The memoized value that only changes when deeply different
|
|
22
|
-
*/
|
|
23
|
-
declare const useDeepMemo: <T>(value: T) => T;
|
|
24
|
-
|
|
25
|
-
type UseChartMouseHandlerProps = {
|
|
26
|
-
/**
|
|
27
|
-
* Whether tooltips are enabled
|
|
28
|
-
*/
|
|
29
|
-
withTooltips: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Horizontal offset for tooltip positioning in pixels (default: 0)
|
|
32
|
-
*/
|
|
33
|
-
offsetX?: number;
|
|
34
|
-
/**
|
|
35
|
-
* Vertical offset for tooltip positioning in pixels (default: -10)
|
|
36
|
-
*/
|
|
37
|
-
offsetY?: number;
|
|
38
|
-
};
|
|
39
|
-
type UseChartMouseHandlerReturn = {
|
|
40
|
-
/**
|
|
41
|
-
* Handler for mouse move events
|
|
42
|
-
*/
|
|
43
|
-
onMouseMove: (event: MouseEvent<SVGElement>, data: DataPoint) => void;
|
|
44
|
-
/**
|
|
45
|
-
* Handler for mouse leave events
|
|
46
|
-
*/
|
|
47
|
-
onMouseLeave: () => void;
|
|
48
|
-
/**
|
|
49
|
-
* Whether the tooltip is currently open
|
|
50
|
-
*/
|
|
51
|
-
tooltipOpen: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* The current tooltip data
|
|
54
|
-
*/
|
|
55
|
-
tooltipData: DataPoint | null;
|
|
56
|
-
/**
|
|
57
|
-
* The current tooltip left position
|
|
58
|
-
*/
|
|
59
|
-
tooltipLeft: number | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* The current tooltip top position
|
|
62
|
-
*/
|
|
63
|
-
tooltipTop: number | undefined;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Hook to handle mouse interactions for chart components
|
|
67
|
-
*
|
|
68
|
-
* @param {UseChartMouseHandlerProps} props - Hook configuration
|
|
69
|
-
* @return {UseChartMouseHandlerReturn} Object containing handlers and tooltip state
|
|
70
|
-
*/
|
|
71
|
-
declare const useChartMouseHandler: ({ withTooltips, offsetX, offsetY, }: UseChartMouseHandlerProps) => UseChartMouseHandlerReturn;
|
|
72
|
-
|
|
73
|
-
declare const useXYChartTheme: (data: SeriesData[]) => _visx_xychart.XYChartTheme;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Hook that transforms and sorts chart data, handling date parsing and sorting
|
|
77
|
-
*
|
|
78
|
-
* This hook extracts the common data transformation logic used in both line-chart
|
|
79
|
-
* and bar-chart components. It:
|
|
80
|
-
* 1. Parses date strings into Date objects using parseAsLocalDate
|
|
81
|
-
* 2. Sorts data points by date when date properties are present
|
|
82
|
-
* 3. Returns the original data unchanged when no date properties are found
|
|
83
|
-
*
|
|
84
|
-
* @param {SeriesData[]} data - The raw chart data to transform
|
|
85
|
-
* @return {SeriesData[]} The transformed and sorted data
|
|
86
|
-
*/
|
|
87
|
-
declare const useChartDataTransform: (data: SeriesData[]) => {
|
|
88
|
-
data: any[];
|
|
89
|
-
group?: string;
|
|
90
|
-
label: string;
|
|
91
|
-
options?: SeriesDataOptions;
|
|
92
|
-
}[];
|
|
93
|
-
|
|
94
|
-
declare const useChartMargin: (height: number, options: BaseChartProps["options"], data: SeriesData[], theme: XYChartTheme, horizontal?: boolean) => {
|
|
95
|
-
top: number;
|
|
96
|
-
right: number;
|
|
97
|
-
bottom: number;
|
|
98
|
-
left: number;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Hook to measure the width and height of a DOM element.
|
|
103
|
-
* Returns a ref callback to attach to the element and the current dimensions in pixels.
|
|
104
|
-
*
|
|
105
|
-
* @param {object} props - Optional props.
|
|
106
|
-
* @param {number} props.initialWidth - The initial width to use.
|
|
107
|
-
* @param {number} props.initialHeight - The initial height to use.
|
|
108
|
-
*
|
|
109
|
-
* @return {[Function, number, number]} A tuple containing a ref callback, width, and height in pixels
|
|
110
|
-
*/
|
|
111
|
-
declare function useElementSize<T extends HTMLElement = HTMLDivElement>({ initialWidth, initialHeight, }?: {
|
|
112
|
-
initialWidth?: number;
|
|
113
|
-
initialHeight?: number;
|
|
114
|
-
}): [(node: T | null) => void, number, number];
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Hook to detect if text content is truncated within its container.
|
|
118
|
-
* Uses ResizeObserver to dynamically track changes in element size.
|
|
119
|
-
*
|
|
120
|
-
* @param enabled - Whether truncation detection should be active. Defaults to true.
|
|
121
|
-
* @return A tuple containing:
|
|
122
|
-
* - [0] refCallback: Function to attach to the text element as a ref
|
|
123
|
-
* - [1] isTruncated: Boolean indicating if the text is currently truncated
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```tsx
|
|
127
|
-
* const [textRef, isTruncated] = useTextTruncation(true);
|
|
128
|
-
*
|
|
129
|
-
* return (
|
|
130
|
-
* <span ref={textRef} title={isTruncated ? fullText : undefined}>
|
|
131
|
-
* {text}
|
|
132
|
-
* </span>
|
|
133
|
-
* );
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
declare function useTextTruncation(enabled?: boolean): [(node: HTMLElement | null) => void, boolean];
|
|
137
|
-
|
|
138
|
-
type EnhancedDataPoint = DataPointDate & {
|
|
139
|
-
visualValue?: number;
|
|
140
|
-
};
|
|
141
|
-
interface EnhancedSeriesData extends Omit<SeriesData, 'data'> {
|
|
142
|
-
data: EnhancedDataPoint[];
|
|
143
|
-
}
|
|
144
|
-
interface UseZeroValueDisplayOptions {
|
|
145
|
-
enabled: boolean;
|
|
146
|
-
/**
|
|
147
|
-
* The pixel length of the value axis (height for vertical charts, width for
|
|
148
|
-
* horizontal charts). Used to calculate a minimum visible value that ensures
|
|
149
|
-
* zero-value bars are at least MIN_PIXEL_HEIGHT pixels tall along that axis.
|
|
150
|
-
*/
|
|
151
|
-
valueAxisLength?: number;
|
|
152
|
-
}
|
|
153
|
-
declare const useZeroValueDisplay: (data: SeriesData[], options?: UseZeroValueDisplayOptions) => SeriesData[] | EnhancedSeriesData[];
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Data point interface for charts with interactive legends.
|
|
157
|
-
* Requires label for series identification, value for calculations, and percentage for display.
|
|
158
|
-
*/
|
|
159
|
-
interface DataPointWithPercentage {
|
|
160
|
-
label: string;
|
|
161
|
-
value: number;
|
|
162
|
-
percentage: number;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Parameters for the useInteractiveLegendData hook.
|
|
166
|
-
*/
|
|
167
|
-
interface UseInteractiveLegendDataParams<T extends DataPointWithPercentage> {
|
|
168
|
-
/** The chart data to filter based on legend visibility */
|
|
169
|
-
data: T[];
|
|
170
|
-
/** Unique chart identifier, required for interactive legends */
|
|
171
|
-
chartId: string | undefined;
|
|
172
|
-
/** Whether interactive legend filtering is enabled */
|
|
173
|
-
legendInteractive: boolean;
|
|
174
|
-
/** Function to check if a series is visible in the legend */
|
|
175
|
-
isSeriesVisible: (chartId: string, label: string) => boolean;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Return value from the useInteractiveLegendData hook.
|
|
179
|
-
*/
|
|
180
|
-
interface UseInteractiveLegendDataResult<T extends DataPointWithPercentage> {
|
|
181
|
-
/** Filtered data array containing only visible segments with recalculated percentages */
|
|
182
|
-
visibleData: T[];
|
|
183
|
-
/** Boolean indicating if all segments are hidden */
|
|
184
|
-
allSegmentsHidden: boolean;
|
|
185
|
-
/**
|
|
186
|
-
* Legend data with recalculated percentages for visible items.
|
|
187
|
-
* Uses original data for hidden items, but shows recalculated percentages for visible ones.
|
|
188
|
-
* This ensures the legend displays accurate percentages while maintaining all entries.
|
|
189
|
-
*/
|
|
190
|
-
legendData: T[];
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Custom hook to filter and recalculate chart data for interactive legends.
|
|
194
|
-
*
|
|
195
|
-
* When interactive legends are enabled, this hook:
|
|
196
|
-
* 1. Filters data to show only visible series based on legend selection
|
|
197
|
-
* 2. Recalculates percentages so visible segments total 100%
|
|
198
|
-
* 3. Tracks whether all segments are hidden to show empty state
|
|
199
|
-
*
|
|
200
|
-
* This is particularly useful for pie charts, donut charts, and semi-circle charts
|
|
201
|
-
* where segment visibility and percentages need to be dynamically adjusted.
|
|
202
|
-
*
|
|
203
|
-
* @example
|
|
204
|
-
* ```tsx
|
|
205
|
-
* const { visibleData, allSegmentsHidden, legendData } = useInteractiveLegendData({
|
|
206
|
-
* data: chartData,
|
|
207
|
-
* chartId: 'my-pie-chart',
|
|
208
|
-
* legendInteractive: true,
|
|
209
|
-
* isSeriesVisible: (id, label) => context.isSeriesVisible(id, label),
|
|
210
|
-
* });
|
|
211
|
-
*
|
|
212
|
-
* // Use legendData for creating legend items (shows recalculated percentages)
|
|
213
|
-
* const legendItems = useChartLegendItems(legendData, legendOptions);
|
|
214
|
-
*
|
|
215
|
-
* if (allSegmentsHidden) {
|
|
216
|
-
* return <EmptyState />;
|
|
217
|
-
* }
|
|
218
|
-
*
|
|
219
|
-
* // Use visibleData for rendering the chart (only visible segments)
|
|
220
|
-
* return <PieChart data={visibleData} />;
|
|
221
|
-
* ```
|
|
222
|
-
*
|
|
223
|
-
* @param params - Configuration object for the hook
|
|
224
|
-
* @param params.data - The chart data to filter
|
|
225
|
-
* @param params.chartId - Unique identifier for the chart (required for interactive mode)
|
|
226
|
-
* @param params.legendInteractive - Whether to enable interactive filtering
|
|
227
|
-
* @param params.isSeriesVisible - Function to check series visibility
|
|
228
|
-
* @return Object containing visibleData, allSegmentsHidden flag, and legendData with recalculated percentages
|
|
229
|
-
*/
|
|
230
|
-
declare const useInteractiveLegendData: <T extends DataPointWithPercentage>({ data, chartId, legendInteractive, isSeriesVisible, }: UseInteractiveLegendDataParams<T>) => UseInteractiveLegendDataResult<T>;
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Custom hook to determine if the user prefers reduced motion.
|
|
234
|
-
* @return {boolean} A boolean indicating the user's preference for reduced motion.
|
|
235
|
-
*/
|
|
236
|
-
declare function usePrefersReducedMotion(): boolean;
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Relocates visx chart tooltip portals from `document.body` into a target
|
|
240
|
-
* container element. This allows the tooltips to participate in the same CSS
|
|
241
|
-
* stacking context as other elements in the container (e.g. a sticky header),
|
|
242
|
-
* so z-index ordering works correctly between them.
|
|
243
|
-
*
|
|
244
|
-
* The relocated portal divs use `position: fixed` at the viewport origin to
|
|
245
|
-
* preserve the tooltip coordinate system (visx calculates positions relative
|
|
246
|
-
* to the viewport).
|
|
247
|
-
*
|
|
248
|
-
* Because the visx Portal class calls `document.body.removeChild(node)` during
|
|
249
|
-
* unmount, we patch `document.body.removeChild` to gracefully handle nodes that
|
|
250
|
-
* were moved out of body. Without this, React throws a "not a child of this
|
|
251
|
-
* node" error when tooltips unmount.
|
|
252
|
-
*
|
|
253
|
-
* **Important:** The container and its ancestors must not have CSS `transform`,
|
|
254
|
-
* `perspective`, or `filter` properties set, as these create a new containing
|
|
255
|
-
* block for `position: fixed` children, breaking viewport-relative positioning.
|
|
256
|
-
*
|
|
257
|
-
* @param containerRef - Ref to the element that portals should be relocated into.
|
|
258
|
-
* The element referenced here, or one of its ancestors,
|
|
259
|
-
* should establish the desired stacking context (for example
|
|
260
|
-
* by using position and z-index).
|
|
261
|
-
*/
|
|
262
|
-
declare function useTooltipPortalRelocator(containerRef: RefObject<HTMLElement | null> | undefined): void;
|
|
263
|
-
|
|
264
|
-
export { useChartDataTransform, useChartMargin, useChartMouseHandler, useDeepMemo, useElementSize, useInteractiveLegendData, usePrefersReducedMotion, useTextTruncation, useTooltipPortalRelocator, useXYChartTheme, useZeroValueDisplay };
|
package/dist/hooks/index.d.ts
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { MouseEvent, RefObject } from 'react';
|
|
2
|
-
import { D as DataPoint, o as SeriesData, p as SeriesDataOptions, B as BaseChartProps, d as DataPointDate } from '../types-ChOUI9-N.js';
|
|
3
|
-
import * as _visx_xychart from '@visx/xychart';
|
|
4
|
-
import { XYChartTheme } from '@visx/xychart';
|
|
5
|
-
import '@visx/annotation/lib/components/CircleSubject';
|
|
6
|
-
import '@visx/annotation/lib/components/Connector';
|
|
7
|
-
import '@visx/annotation/lib/components/Label';
|
|
8
|
-
import '@visx/annotation/lib/components/LineSubject';
|
|
9
|
-
import '@visx/axis';
|
|
10
|
-
import '@visx/legend/lib/types';
|
|
11
|
-
import '@visx/scale';
|
|
12
|
-
import '@visx/text/lib/Text';
|
|
13
|
-
import '@wordpress/theme';
|
|
14
|
-
import 'react-google-charts';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Custom hook to memoize a value using deep equality comparison.
|
|
18
|
-
* Prevents unnecessary re-renders when objects have the same content but different references.
|
|
19
|
-
*
|
|
20
|
-
* @param value - The value to memoize with deep equality comparison
|
|
21
|
-
* @return The memoized value that only changes when deeply different
|
|
22
|
-
*/
|
|
23
|
-
declare const useDeepMemo: <T>(value: T) => T;
|
|
24
|
-
|
|
25
|
-
type UseChartMouseHandlerProps = {
|
|
26
|
-
/**
|
|
27
|
-
* Whether tooltips are enabled
|
|
28
|
-
*/
|
|
29
|
-
withTooltips: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Horizontal offset for tooltip positioning in pixels (default: 0)
|
|
32
|
-
*/
|
|
33
|
-
offsetX?: number;
|
|
34
|
-
/**
|
|
35
|
-
* Vertical offset for tooltip positioning in pixels (default: -10)
|
|
36
|
-
*/
|
|
37
|
-
offsetY?: number;
|
|
38
|
-
};
|
|
39
|
-
type UseChartMouseHandlerReturn = {
|
|
40
|
-
/**
|
|
41
|
-
* Handler for mouse move events
|
|
42
|
-
*/
|
|
43
|
-
onMouseMove: (event: MouseEvent<SVGElement>, data: DataPoint) => void;
|
|
44
|
-
/**
|
|
45
|
-
* Handler for mouse leave events
|
|
46
|
-
*/
|
|
47
|
-
onMouseLeave: () => void;
|
|
48
|
-
/**
|
|
49
|
-
* Whether the tooltip is currently open
|
|
50
|
-
*/
|
|
51
|
-
tooltipOpen: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* The current tooltip data
|
|
54
|
-
*/
|
|
55
|
-
tooltipData: DataPoint | null;
|
|
56
|
-
/**
|
|
57
|
-
* The current tooltip left position
|
|
58
|
-
*/
|
|
59
|
-
tooltipLeft: number | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* The current tooltip top position
|
|
62
|
-
*/
|
|
63
|
-
tooltipTop: number | undefined;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Hook to handle mouse interactions for chart components
|
|
67
|
-
*
|
|
68
|
-
* @param {UseChartMouseHandlerProps} props - Hook configuration
|
|
69
|
-
* @return {UseChartMouseHandlerReturn} Object containing handlers and tooltip state
|
|
70
|
-
*/
|
|
71
|
-
declare const useChartMouseHandler: ({ withTooltips, offsetX, offsetY, }: UseChartMouseHandlerProps) => UseChartMouseHandlerReturn;
|
|
72
|
-
|
|
73
|
-
declare const useXYChartTheme: (data: SeriesData[]) => _visx_xychart.XYChartTheme;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Hook that transforms and sorts chart data, handling date parsing and sorting
|
|
77
|
-
*
|
|
78
|
-
* This hook extracts the common data transformation logic used in both line-chart
|
|
79
|
-
* and bar-chart components. It:
|
|
80
|
-
* 1. Parses date strings into Date objects using parseAsLocalDate
|
|
81
|
-
* 2. Sorts data points by date when date properties are present
|
|
82
|
-
* 3. Returns the original data unchanged when no date properties are found
|
|
83
|
-
*
|
|
84
|
-
* @param {SeriesData[]} data - The raw chart data to transform
|
|
85
|
-
* @return {SeriesData[]} The transformed and sorted data
|
|
86
|
-
*/
|
|
87
|
-
declare const useChartDataTransform: (data: SeriesData[]) => {
|
|
88
|
-
data: any[];
|
|
89
|
-
group?: string;
|
|
90
|
-
label: string;
|
|
91
|
-
options?: SeriesDataOptions;
|
|
92
|
-
}[];
|
|
93
|
-
|
|
94
|
-
declare const useChartMargin: (height: number, options: BaseChartProps["options"], data: SeriesData[], theme: XYChartTheme, horizontal?: boolean) => {
|
|
95
|
-
top: number;
|
|
96
|
-
right: number;
|
|
97
|
-
bottom: number;
|
|
98
|
-
left: number;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Hook to measure the width and height of a DOM element.
|
|
103
|
-
* Returns a ref callback to attach to the element and the current dimensions in pixels.
|
|
104
|
-
*
|
|
105
|
-
* @param {object} props - Optional props.
|
|
106
|
-
* @param {number} props.initialWidth - The initial width to use.
|
|
107
|
-
* @param {number} props.initialHeight - The initial height to use.
|
|
108
|
-
*
|
|
109
|
-
* @return {[Function, number, number]} A tuple containing a ref callback, width, and height in pixels
|
|
110
|
-
*/
|
|
111
|
-
declare function useElementSize<T extends HTMLElement = HTMLDivElement>({ initialWidth, initialHeight, }?: {
|
|
112
|
-
initialWidth?: number;
|
|
113
|
-
initialHeight?: number;
|
|
114
|
-
}): [(node: T | null) => void, number, number];
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Hook to detect if text content is truncated within its container.
|
|
118
|
-
* Uses ResizeObserver to dynamically track changes in element size.
|
|
119
|
-
*
|
|
120
|
-
* @param enabled - Whether truncation detection should be active. Defaults to true.
|
|
121
|
-
* @return A tuple containing:
|
|
122
|
-
* - [0] refCallback: Function to attach to the text element as a ref
|
|
123
|
-
* - [1] isTruncated: Boolean indicating if the text is currently truncated
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```tsx
|
|
127
|
-
* const [textRef, isTruncated] = useTextTruncation(true);
|
|
128
|
-
*
|
|
129
|
-
* return (
|
|
130
|
-
* <span ref={textRef} title={isTruncated ? fullText : undefined}>
|
|
131
|
-
* {text}
|
|
132
|
-
* </span>
|
|
133
|
-
* );
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
declare function useTextTruncation(enabled?: boolean): [(node: HTMLElement | null) => void, boolean];
|
|
137
|
-
|
|
138
|
-
type EnhancedDataPoint = DataPointDate & {
|
|
139
|
-
visualValue?: number;
|
|
140
|
-
};
|
|
141
|
-
interface EnhancedSeriesData extends Omit<SeriesData, 'data'> {
|
|
142
|
-
data: EnhancedDataPoint[];
|
|
143
|
-
}
|
|
144
|
-
interface UseZeroValueDisplayOptions {
|
|
145
|
-
enabled: boolean;
|
|
146
|
-
/**
|
|
147
|
-
* The pixel length of the value axis (height for vertical charts, width for
|
|
148
|
-
* horizontal charts). Used to calculate a minimum visible value that ensures
|
|
149
|
-
* zero-value bars are at least MIN_PIXEL_HEIGHT pixels tall along that axis.
|
|
150
|
-
*/
|
|
151
|
-
valueAxisLength?: number;
|
|
152
|
-
}
|
|
153
|
-
declare const useZeroValueDisplay: (data: SeriesData[], options?: UseZeroValueDisplayOptions) => SeriesData[] | EnhancedSeriesData[];
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Data point interface for charts with interactive legends.
|
|
157
|
-
* Requires label for series identification, value for calculations, and percentage for display.
|
|
158
|
-
*/
|
|
159
|
-
interface DataPointWithPercentage {
|
|
160
|
-
label: string;
|
|
161
|
-
value: number;
|
|
162
|
-
percentage: number;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Parameters for the useInteractiveLegendData hook.
|
|
166
|
-
*/
|
|
167
|
-
interface UseInteractiveLegendDataParams<T extends DataPointWithPercentage> {
|
|
168
|
-
/** The chart data to filter based on legend visibility */
|
|
169
|
-
data: T[];
|
|
170
|
-
/** Unique chart identifier, required for interactive legends */
|
|
171
|
-
chartId: string | undefined;
|
|
172
|
-
/** Whether interactive legend filtering is enabled */
|
|
173
|
-
legendInteractive: boolean;
|
|
174
|
-
/** Function to check if a series is visible in the legend */
|
|
175
|
-
isSeriesVisible: (chartId: string, label: string) => boolean;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Return value from the useInteractiveLegendData hook.
|
|
179
|
-
*/
|
|
180
|
-
interface UseInteractiveLegendDataResult<T extends DataPointWithPercentage> {
|
|
181
|
-
/** Filtered data array containing only visible segments with recalculated percentages */
|
|
182
|
-
visibleData: T[];
|
|
183
|
-
/** Boolean indicating if all segments are hidden */
|
|
184
|
-
allSegmentsHidden: boolean;
|
|
185
|
-
/**
|
|
186
|
-
* Legend data with recalculated percentages for visible items.
|
|
187
|
-
* Uses original data for hidden items, but shows recalculated percentages for visible ones.
|
|
188
|
-
* This ensures the legend displays accurate percentages while maintaining all entries.
|
|
189
|
-
*/
|
|
190
|
-
legendData: T[];
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Custom hook to filter and recalculate chart data for interactive legends.
|
|
194
|
-
*
|
|
195
|
-
* When interactive legends are enabled, this hook:
|
|
196
|
-
* 1. Filters data to show only visible series based on legend selection
|
|
197
|
-
* 2. Recalculates percentages so visible segments total 100%
|
|
198
|
-
* 3. Tracks whether all segments are hidden to show empty state
|
|
199
|
-
*
|
|
200
|
-
* This is particularly useful for pie charts, donut charts, and semi-circle charts
|
|
201
|
-
* where segment visibility and percentages need to be dynamically adjusted.
|
|
202
|
-
*
|
|
203
|
-
* @example
|
|
204
|
-
* ```tsx
|
|
205
|
-
* const { visibleData, allSegmentsHidden, legendData } = useInteractiveLegendData({
|
|
206
|
-
* data: chartData,
|
|
207
|
-
* chartId: 'my-pie-chart',
|
|
208
|
-
* legendInteractive: true,
|
|
209
|
-
* isSeriesVisible: (id, label) => context.isSeriesVisible(id, label),
|
|
210
|
-
* });
|
|
211
|
-
*
|
|
212
|
-
* // Use legendData for creating legend items (shows recalculated percentages)
|
|
213
|
-
* const legendItems = useChartLegendItems(legendData, legendOptions);
|
|
214
|
-
*
|
|
215
|
-
* if (allSegmentsHidden) {
|
|
216
|
-
* return <EmptyState />;
|
|
217
|
-
* }
|
|
218
|
-
*
|
|
219
|
-
* // Use visibleData for rendering the chart (only visible segments)
|
|
220
|
-
* return <PieChart data={visibleData} />;
|
|
221
|
-
* ```
|
|
222
|
-
*
|
|
223
|
-
* @param params - Configuration object for the hook
|
|
224
|
-
* @param params.data - The chart data to filter
|
|
225
|
-
* @param params.chartId - Unique identifier for the chart (required for interactive mode)
|
|
226
|
-
* @param params.legendInteractive - Whether to enable interactive filtering
|
|
227
|
-
* @param params.isSeriesVisible - Function to check series visibility
|
|
228
|
-
* @return Object containing visibleData, allSegmentsHidden flag, and legendData with recalculated percentages
|
|
229
|
-
*/
|
|
230
|
-
declare const useInteractiveLegendData: <T extends DataPointWithPercentage>({ data, chartId, legendInteractive, isSeriesVisible, }: UseInteractiveLegendDataParams<T>) => UseInteractiveLegendDataResult<T>;
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Custom hook to determine if the user prefers reduced motion.
|
|
234
|
-
* @return {boolean} A boolean indicating the user's preference for reduced motion.
|
|
235
|
-
*/
|
|
236
|
-
declare function usePrefersReducedMotion(): boolean;
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Relocates visx chart tooltip portals from `document.body` into a target
|
|
240
|
-
* container element. This allows the tooltips to participate in the same CSS
|
|
241
|
-
* stacking context as other elements in the container (e.g. a sticky header),
|
|
242
|
-
* so z-index ordering works correctly between them.
|
|
243
|
-
*
|
|
244
|
-
* The relocated portal divs use `position: fixed` at the viewport origin to
|
|
245
|
-
* preserve the tooltip coordinate system (visx calculates positions relative
|
|
246
|
-
* to the viewport).
|
|
247
|
-
*
|
|
248
|
-
* Because the visx Portal class calls `document.body.removeChild(node)` during
|
|
249
|
-
* unmount, we patch `document.body.removeChild` to gracefully handle nodes that
|
|
250
|
-
* were moved out of body. Without this, React throws a "not a child of this
|
|
251
|
-
* node" error when tooltips unmount.
|
|
252
|
-
*
|
|
253
|
-
* **Important:** The container and its ancestors must not have CSS `transform`,
|
|
254
|
-
* `perspective`, or `filter` properties set, as these create a new containing
|
|
255
|
-
* block for `position: fixed` children, breaking viewport-relative positioning.
|
|
256
|
-
*
|
|
257
|
-
* @param containerRef - Ref to the element that portals should be relocated into.
|
|
258
|
-
* The element referenced here, or one of its ancestors,
|
|
259
|
-
* should establish the desired stacking context (for example
|
|
260
|
-
* by using position and z-index).
|
|
261
|
-
*/
|
|
262
|
-
declare function useTooltipPortalRelocator(containerRef: RefObject<HTMLElement | null> | undefined): void;
|
|
263
|
-
|
|
264
|
-
export { useChartDataTransform, useChartMargin, useChartMouseHandler, useDeepMemo, useElementSize, useInteractiveLegendData, usePrefersReducedMotion, useTextTruncation, useTooltipPortalRelocator, useXYChartTheme, useZeroValueDisplay };
|
package/dist/hooks/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useChartDataTransform,
|
|
3
|
-
useChartMargin,
|
|
4
|
-
useChartMouseHandler,
|
|
5
|
-
useDeepMemo,
|
|
6
|
-
useElementSize,
|
|
7
|
-
useInteractiveLegendData,
|
|
8
|
-
usePrefersReducedMotion,
|
|
9
|
-
useTextTruncation,
|
|
10
|
-
useTooltipPortalRelocator,
|
|
11
|
-
useXYChartTheme,
|
|
12
|
-
useZeroValueDisplay
|
|
13
|
-
} from "../chunk-2I67QUIV.js";
|
|
14
|
-
import "../chunk-JJIMABHT.js";
|
|
15
|
-
import "../chunk-G3PMV62Z.js";
|
|
16
|
-
export {
|
|
17
|
-
useChartDataTransform,
|
|
18
|
-
useChartMargin,
|
|
19
|
-
useChartMouseHandler,
|
|
20
|
-
useDeepMemo,
|
|
21
|
-
useElementSize,
|
|
22
|
-
useInteractiveLegendData,
|
|
23
|
-
usePrefersReducedMotion,
|
|
24
|
-
useTextTruncation,
|
|
25
|
-
useTooltipPortalRelocator,
|
|
26
|
-
useXYChartTheme,
|
|
27
|
-
useZeroValueDisplay
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,79 +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
|
-
import { ReactNode, FC } from 'react';
|
|
5
|
-
import { a as BaseLegendProps, B as BaseLegendItem } from './types-Dfw9VOKI.cjs';
|
|
6
|
-
import { B as BaseChartProps, L as LeaderboardEntry } from './types-ChOUI9-N.cjs';
|
|
7
|
-
|
|
8
|
-
interface LeaderboardChartProps extends Pick<BaseChartProps<LeaderboardEntry>, 'className' | 'data' | 'showLegend' | 'legend' | 'chartId' | 'width' | 'height' | 'size' | 'gap' | 'animation'> {
|
|
9
|
-
/**
|
|
10
|
-
* Whether to show comparison data
|
|
11
|
-
*/
|
|
12
|
-
withComparison?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Whether to overlay the label on top of bar
|
|
15
|
-
*/
|
|
16
|
-
withOverlayLabel?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Primary color for current period bars
|
|
19
|
-
*/
|
|
20
|
-
primaryColor?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Secondary color for comparison period bars
|
|
23
|
-
*/
|
|
24
|
-
secondaryColor?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Formatter for values
|
|
27
|
-
*/
|
|
28
|
-
valueFormatter?: (value: number) => string;
|
|
29
|
-
/**
|
|
30
|
-
* Formatter for delta values
|
|
31
|
-
*/
|
|
32
|
-
deltaFormatter?: (value: number) => string;
|
|
33
|
-
/**
|
|
34
|
-
* Whether the chart is in loading state
|
|
35
|
-
*/
|
|
36
|
-
loading?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Custom styling for the chart container
|
|
39
|
-
*/
|
|
40
|
-
style?: React.CSSProperties & {
|
|
41
|
-
'--a8c--charts--leaderboard--bar--border-radius'?: string;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Custom labels for legend items
|
|
45
|
-
*/
|
|
46
|
-
legendLabels?: {
|
|
47
|
-
/**
|
|
48
|
-
* Label for primary period data
|
|
49
|
-
*/
|
|
50
|
-
primary?: string;
|
|
51
|
-
/**
|
|
52
|
-
* Label for comparison period data (only used when withComparison is true)
|
|
53
|
-
*/
|
|
54
|
-
comparison?: string;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Child components for composition API
|
|
58
|
-
*/
|
|
59
|
-
children?: ReactNode;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
declare const LeaderboardChart: FC<LeaderboardChartProps> & {
|
|
63
|
-
Legend: react.ForwardRefExoticComponent<Omit<BaseLegendProps, "items"> & {
|
|
64
|
-
items?: BaseLegendItem[];
|
|
65
|
-
chartId?: string;
|
|
66
|
-
} & react.RefAttributes<HTMLDivElement>>;
|
|
67
|
-
};
|
|
68
|
-
declare const LeaderboardChartResponsive: (({ resizeDebounceTime, maxWidth, aspectRatio, size, width, height, ...chartProps }: Omit<LeaderboardChartProps, "width" | "height" | "size"> & {
|
|
69
|
-
width?: number;
|
|
70
|
-
height?: number;
|
|
71
|
-
size?: number;
|
|
72
|
-
} & ResponsiveConfig) => react_jsx_runtime.JSX.Element) & {
|
|
73
|
-
Legend: react.ForwardRefExoticComponent<Omit<BaseLegendProps, "items"> & {
|
|
74
|
-
items?: BaseLegendItem[];
|
|
75
|
-
chartId?: string;
|
|
76
|
-
} & react.RefAttributes<HTMLDivElement>>;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export { LeaderboardChartResponsive as L, LeaderboardChart as a, type LeaderboardChartProps as b };
|