@coinbase/cds-web-visualization 3.4.0-beta.9 → 3.4.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 +126 -0
- package/dts/chart/CartesianChart.d.ts +40 -4
- package/dts/chart/CartesianChart.d.ts.map +1 -1
- package/dts/chart/ChartProvider.d.ts +3 -0
- package/dts/chart/ChartProvider.d.ts.map +1 -1
- package/dts/chart/Path.d.ts +51 -12
- package/dts/chart/Path.d.ts.map +1 -1
- package/dts/chart/PeriodSelector.d.ts +25 -4
- package/dts/chart/PeriodSelector.d.ts.map +1 -1
- package/dts/chart/area/Area.d.ts +13 -11
- package/dts/chart/area/Area.d.ts.map +1 -1
- package/dts/chart/area/AreaChart.d.ts +18 -5
- package/dts/chart/area/AreaChart.d.ts.map +1 -1
- package/dts/chart/area/DottedArea.d.ts.map +1 -1
- package/dts/chart/area/GradientArea.d.ts.map +1 -1
- package/dts/chart/area/SolidArea.d.ts.map +1 -1
- package/dts/chart/axis/Axis.d.ts +29 -29
- package/dts/chart/axis/Axis.d.ts.map +1 -1
- package/dts/chart/axis/XAxis.d.ts +6 -0
- package/dts/chart/axis/XAxis.d.ts.map +1 -1
- package/dts/chart/axis/YAxis.d.ts +2 -1
- package/dts/chart/axis/YAxis.d.ts.map +1 -1
- package/dts/chart/bar/Bar.d.ts +51 -51
- package/dts/chart/bar/Bar.d.ts.map +1 -1
- package/dts/chart/bar/BarChart.d.ts +29 -6
- package/dts/chart/bar/BarChart.d.ts.map +1 -1
- package/dts/chart/bar/BarPlot.d.ts +2 -1
- package/dts/chart/bar/BarPlot.d.ts.map +1 -1
- package/dts/chart/bar/BarStack.d.ts +58 -20
- package/dts/chart/bar/BarStack.d.ts.map +1 -1
- package/dts/chart/bar/BarStackGroup.d.ts +2 -1
- package/dts/chart/bar/BarStackGroup.d.ts.map +1 -1
- package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
- package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
- package/dts/chart/gradient/Gradient.d.ts +7 -0
- package/dts/chart/gradient/Gradient.d.ts.map +1 -1
- package/dts/chart/index.d.ts +1 -0
- package/dts/chart/index.d.ts.map +1 -1
- package/dts/chart/legend/DefaultLegendEntry.d.ts +21 -0
- package/dts/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
- package/dts/chart/legend/DefaultLegendShape.d.ts +7 -0
- package/dts/chart/legend/DefaultLegendShape.d.ts.map +1 -0
- package/dts/chart/legend/Legend.d.ts +169 -0
- package/dts/chart/legend/Legend.d.ts.map +1 -0
- package/dts/chart/legend/index.d.ts +4 -0
- package/dts/chart/legend/index.d.ts.map +1 -0
- package/dts/chart/line/DottedLine.d.ts.map +1 -1
- package/dts/chart/line/Line.d.ts +45 -24
- package/dts/chart/line/Line.d.ts.map +1 -1
- package/dts/chart/line/LineChart.d.ts +5 -3
- package/dts/chart/line/LineChart.d.ts.map +1 -1
- package/dts/chart/line/ReferenceLine.d.ts +9 -0
- package/dts/chart/line/ReferenceLine.d.ts.map +1 -1
- package/dts/chart/line/SolidLine.d.ts.map +1 -1
- package/dts/chart/point/Point.d.ts +26 -2
- package/dts/chart/point/Point.d.ts.map +1 -1
- package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +34 -17
- package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -1
- package/dts/chart/scrubber/DefaultScrubberBeaconLabel.d.ts.map +1 -1
- package/dts/chart/scrubber/DefaultScrubberLabel.d.ts +2 -1
- package/dts/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -1
- package/dts/chart/scrubber/Scrubber.d.ts +148 -46
- package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
- package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +10 -0
- package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -1
- package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +25 -1
- package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -1
- package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -1
- package/dts/chart/text/ChartText.d.ts.map +1 -1
- package/dts/chart/utils/axis.d.ts +48 -9
- package/dts/chart/utils/axis.d.ts.map +1 -1
- package/dts/chart/utils/bar.d.ts +188 -0
- package/dts/chart/utils/bar.d.ts.map +1 -1
- package/dts/chart/utils/chart.d.ts +32 -0
- package/dts/chart/utils/chart.d.ts.map +1 -1
- package/dts/chart/utils/context.d.ts +20 -4
- package/dts/chart/utils/context.d.ts.map +1 -1
- package/dts/chart/utils/gradient.d.ts +3 -1
- package/dts/chart/utils/gradient.d.ts.map +1 -1
- package/dts/chart/utils/path.d.ts +26 -0
- package/dts/chart/utils/path.d.ts.map +1 -1
- package/dts/chart/utils/point.d.ts +18 -7
- package/dts/chart/utils/point.d.ts.map +1 -1
- package/dts/chart/utils/scale.d.ts +11 -0
- package/dts/chart/utils/scale.d.ts.map +1 -1
- package/dts/chart/utils/scrubber.d.ts +2 -1
- package/dts/chart/utils/scrubber.d.ts.map +1 -1
- package/dts/chart/utils/transition.d.ts +50 -14
- package/dts/chart/utils/transition.d.ts.map +1 -1
- package/dts/sparkline/Sparkline.d.ts +2 -1
- package/dts/sparkline/Sparkline.d.ts.map +1 -1
- package/dts/sparkline/SparklineArea.d.ts +2 -1
- package/dts/sparkline/SparklineArea.d.ts.map +1 -1
- package/dts/sparkline/SparklineGradient.d.ts +2 -1
- package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
- package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
- package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
- package/esm/chart/CartesianChart.js +154 -90
- package/esm/chart/ChartProvider.js +2 -2
- package/esm/chart/Path.js +35 -19
- package/esm/chart/PeriodSelector.js +33 -15
- package/esm/chart/area/Area.js +21 -9
- package/esm/chart/area/AreaChart.js +28 -25
- package/esm/chart/area/DottedArea.js +18 -9
- package/esm/chart/area/GradientArea.js +16 -8
- package/esm/chart/area/SolidArea.js +8 -3
- package/esm/chart/axis/Axis.js +3 -17
- package/esm/chart/axis/XAxis.js +153 -50
- package/esm/chart/axis/YAxis.js +146 -36
- package/esm/chart/bar/Bar.js +16 -8
- package/esm/chart/bar/BarChart.js +38 -33
- package/esm/chart/bar/BarPlot.js +20 -25
- package/esm/chart/bar/BarStack.js +109 -505
- package/esm/chart/bar/BarStackGroup.js +36 -27
- package/esm/chart/bar/DefaultBar.js +34 -26
- package/esm/chart/bar/DefaultBarStack.js +31 -18
- package/esm/chart/gradient/Gradient.js +3 -2
- package/esm/chart/index.js +1 -0
- package/esm/chart/legend/DefaultLegendEntry.css +1 -0
- package/esm/chart/legend/DefaultLegendEntry.js +50 -0
- package/esm/chart/legend/DefaultLegendShape.css +5 -0
- package/esm/chart/legend/DefaultLegendShape.js +47 -0
- package/esm/chart/legend/Legend.js +76 -0
- package/esm/chart/legend/index.js +3 -0
- package/esm/chart/line/DottedLine.js +7 -2
- package/esm/chart/line/Line.js +41 -42
- package/esm/chart/line/LineChart.js +18 -13
- package/esm/chart/line/ReferenceLine.js +6 -2
- package/esm/chart/line/SolidLine.js +8 -3
- package/esm/chart/point/Point.js +41 -24
- package/esm/chart/scrubber/DefaultScrubberBeacon.js +64 -65
- package/esm/chart/scrubber/DefaultScrubberBeaconLabel.js +25 -14
- package/esm/chart/scrubber/DefaultScrubberLabel.js +26 -8
- package/esm/chart/scrubber/Scrubber.js +54 -43
- package/esm/chart/scrubber/ScrubberBeaconGroup.js +60 -35
- package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +31 -8
- package/esm/chart/scrubber/ScrubberProvider.js +44 -39
- package/esm/chart/text/ChartText.js +3 -2
- package/esm/chart/utils/axis.js +90 -43
- package/esm/chart/utils/bar.js +863 -0
- package/esm/chart/utils/chart.js +34 -7
- package/esm/chart/utils/context.js +7 -0
- package/esm/chart/utils/gradient.js +6 -4
- package/esm/chart/utils/path.js +88 -61
- package/esm/chart/utils/point.js +57 -30
- package/esm/chart/utils/scale.js +13 -2
- package/esm/chart/utils/scrubber.js +9 -4
- package/esm/chart/utils/transition.js +68 -41
- package/esm/sparkline/Sparkline.js +2 -1
- package/esm/sparkline/SparklineArea.js +2 -1
- package/esm/sparkline/SparklineGradient.js +2 -1
- package/esm/sparkline/__figma__/Sparkline.figma.js +1 -1
- package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
- package/esm/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +1 -1
- package/esm/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +1 -1
- package/package.json +8 -7
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { SharedProps } from '@coinbase/cds-common/types';
|
|
3
3
|
import { type Transition } from 'framer-motion';
|
|
4
4
|
import { type ReferenceLineBaseProps, type ReferenceLineLabelComponentProps } from '../line';
|
|
5
|
-
import type { ChartTextProps } from '../text';
|
|
5
|
+
import type { ChartTextChildren, ChartTextProps } from '../text';
|
|
6
6
|
import { type ChartInset, type Series } from '../utils';
|
|
7
7
|
import {
|
|
8
8
|
type ScrubberBeaconGroupBaseProps,
|
|
@@ -20,7 +20,7 @@ export type ScrubberBeaconRef = {
|
|
|
20
20
|
*/
|
|
21
21
|
pulse: () => void;
|
|
22
22
|
};
|
|
23
|
-
export type
|
|
23
|
+
export type ScrubberBeaconBaseProps = {
|
|
24
24
|
/**
|
|
25
25
|
* Id of the series.
|
|
26
26
|
*/
|
|
@@ -31,10 +31,14 @@ export type ScrubberBeaconProps = SharedProps & {
|
|
|
31
31
|
color?: string;
|
|
32
32
|
/**
|
|
33
33
|
* X coordinate in data space.
|
|
34
|
+
* In vertical layout this is the scrubber index-axis value.
|
|
35
|
+
* In horizontal layout this is the series value.
|
|
34
36
|
*/
|
|
35
37
|
dataX: number;
|
|
36
38
|
/**
|
|
37
39
|
* Y coordinate in data space.
|
|
40
|
+
* In vertical layout this is the series value.
|
|
41
|
+
* In horizontal layout this is the scrubber index-axis value.
|
|
38
42
|
*/
|
|
39
43
|
dataY: number;
|
|
40
44
|
/**
|
|
@@ -43,43 +47,64 @@ export type ScrubberBeaconProps = SharedProps & {
|
|
|
43
47
|
isIdle?: boolean;
|
|
44
48
|
/**
|
|
45
49
|
* Pulse the beacon while it is at rest.
|
|
50
|
+
*
|
|
51
|
+
* @note Only has an effect when `isIdle` is `true`. Pulse animations work
|
|
52
|
+
* regardless of the chart's `animate` prop.
|
|
46
53
|
*/
|
|
47
54
|
idlePulse?: boolean;
|
|
48
55
|
/**
|
|
49
|
-
*
|
|
56
|
+
* Whether position animations are enabled.
|
|
57
|
+
* @default to ChartContext's animate value
|
|
50
58
|
*/
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Transition used for beacon position updates.
|
|
54
|
-
* @default defaultTransition
|
|
55
|
-
*/
|
|
56
|
-
update?: Transition;
|
|
57
|
-
/**
|
|
58
|
-
* Transition used for the pulse animation.
|
|
59
|
-
* @default { duration: 1.6, ease: 'easeInOut' }
|
|
60
|
-
*/
|
|
61
|
-
pulse?: Transition;
|
|
62
|
-
/**
|
|
63
|
-
* Delay, in seconds between pulse transitions
|
|
64
|
-
* when `idlePulse` is enabled.
|
|
65
|
-
* @default 0.4
|
|
66
|
-
*/
|
|
67
|
-
pulseRepeatDelay?: number;
|
|
68
|
-
};
|
|
59
|
+
animate?: boolean;
|
|
69
60
|
/**
|
|
70
61
|
* Opacity of the beacon.
|
|
71
62
|
* @default 1
|
|
72
63
|
*/
|
|
73
64
|
opacity?: number;
|
|
74
65
|
/**
|
|
75
|
-
*
|
|
76
|
-
|
|
77
|
-
className?: string;
|
|
78
|
-
/**
|
|
79
|
-
* Custom inline styles.
|
|
66
|
+
* Stroke color of the beacon circle.
|
|
67
|
+
* @default 'var(--color-bg)'
|
|
80
68
|
*/
|
|
81
|
-
|
|
69
|
+
stroke?: string;
|
|
82
70
|
};
|
|
71
|
+
export type ScrubberBeaconProps = SharedProps &
|
|
72
|
+
ScrubberBeaconBaseProps & {
|
|
73
|
+
/**
|
|
74
|
+
* Transition configuration for beacon animations.
|
|
75
|
+
*/
|
|
76
|
+
transitions?: {
|
|
77
|
+
/**
|
|
78
|
+
* Transition for the initial enter/reveal animation.
|
|
79
|
+
* Set to `null` to disable.
|
|
80
|
+
*/
|
|
81
|
+
enter?: Transition | null;
|
|
82
|
+
/**
|
|
83
|
+
* Transition for subsequent data update animations.
|
|
84
|
+
* Set to `null` to disable.
|
|
85
|
+
*/
|
|
86
|
+
update?: Transition | null;
|
|
87
|
+
/**
|
|
88
|
+
* Transition used for the pulse animation.
|
|
89
|
+
* @default transition { duration: 1.6, ease: 'easeInOut' }
|
|
90
|
+
*/
|
|
91
|
+
pulse?: Transition;
|
|
92
|
+
/**
|
|
93
|
+
* Delay, in seconds between pulse transitions
|
|
94
|
+
* when `idlePulse` is enabled.
|
|
95
|
+
* @default 0.4
|
|
96
|
+
*/
|
|
97
|
+
pulseRepeatDelay?: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Custom className for styling.
|
|
101
|
+
*/
|
|
102
|
+
className?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Custom inline styles.
|
|
105
|
+
*/
|
|
106
|
+
style?: React.CSSProperties;
|
|
107
|
+
};
|
|
83
108
|
export type ScrubberBeaconComponent = React.FC<
|
|
84
109
|
ScrubberBeaconProps & {
|
|
85
110
|
ref?: React.Ref<ScrubberBeaconRef>;
|
|
@@ -88,16 +113,29 @@ export type ScrubberBeaconComponent = React.FC<
|
|
|
88
113
|
export type ScrubberBeaconLabelProps = Pick<Series, 'color'> &
|
|
89
114
|
Pick<
|
|
90
115
|
ChartTextProps,
|
|
91
|
-
|
|
116
|
+
| 'x'
|
|
117
|
+
| 'y'
|
|
118
|
+
| 'dx'
|
|
119
|
+
| 'horizontalAlignment'
|
|
120
|
+
| 'onDimensionsChange'
|
|
121
|
+
| 'opacity'
|
|
122
|
+
| 'font'
|
|
123
|
+
| 'className'
|
|
124
|
+
| 'style'
|
|
92
125
|
> & {
|
|
93
126
|
/**
|
|
94
127
|
* Label for the series.
|
|
95
128
|
*/
|
|
96
|
-
label:
|
|
129
|
+
label: ChartTextChildren;
|
|
97
130
|
/**
|
|
98
131
|
* Id of the series.
|
|
99
132
|
*/
|
|
100
133
|
seriesId: Series['id'];
|
|
134
|
+
/**
|
|
135
|
+
* Transition configuration for position animations.
|
|
136
|
+
* When provided, the label component should animate its y position using this transition.
|
|
137
|
+
*/
|
|
138
|
+
transition?: Transition;
|
|
101
139
|
};
|
|
102
140
|
export type ScrubberBeaconLabelComponent = React.FC<ScrubberBeaconLabelProps>;
|
|
103
141
|
export type ScrubberLabelProps = ReferenceLineLabelComponentProps;
|
|
@@ -112,6 +150,12 @@ export type ScrubberBaseProps = SharedProps &
|
|
|
112
150
|
* By default, all series will be highlighted.
|
|
113
151
|
*/
|
|
114
152
|
seriesIds?: string[];
|
|
153
|
+
/**
|
|
154
|
+
* Hides the beacon labels while keeping the line label visible (if provided).
|
|
155
|
+
* @default true in horizontal layout, false in vertical layout.
|
|
156
|
+
* @note Beacon labels are always hidden in horizontal layout, and cannot be overridden.
|
|
157
|
+
*/
|
|
158
|
+
hideBeaconLabels?: boolean;
|
|
115
159
|
/**
|
|
116
160
|
* Hides the scrubber line.
|
|
117
161
|
* @note This hides Scrubber's ReferenceLine including the label.
|
|
@@ -137,6 +181,12 @@ export type ScrubberBaseProps = SharedProps &
|
|
|
137
181
|
* Measured in pixels.
|
|
138
182
|
*/
|
|
139
183
|
beaconLabelHorizontalOffset?: ScrubberBeaconLabelGroupBaseProps['labelHorizontalOffset'];
|
|
184
|
+
/**
|
|
185
|
+
* Preferred side for beacon labels.
|
|
186
|
+
* @note labels will switch to the opposite side if there's not enough space on the preferred side.
|
|
187
|
+
* @default 'right'
|
|
188
|
+
*/
|
|
189
|
+
beaconLabelPreferredSide?: ScrubberBeaconLabelGroupBaseProps['labelPreferredSide'];
|
|
140
190
|
/**
|
|
141
191
|
* Label text displayed above the scrubber line.
|
|
142
192
|
* Can be a static string or a function that receives the current dataIndex.
|
|
@@ -150,7 +200,7 @@ export type ScrubberBaseProps = SharedProps &
|
|
|
150
200
|
labelFont?: ChartTextProps['font'];
|
|
151
201
|
/**
|
|
152
202
|
* Bounds inset for the scrubber line label to prevent cutoff at chart edges.
|
|
153
|
-
* @default { top: 4, bottom: 20, left: 12, right: 12 } when labelElevated is true, otherwise none
|
|
203
|
+
* @default inset { top: 4, bottom: 20, left: 12, right: 12 } when labelElevated is true, otherwise none
|
|
154
204
|
*/
|
|
155
205
|
labelBoundsInset?: number | ChartInset;
|
|
156
206
|
/**
|
|
@@ -162,32 +212,52 @@ export type ScrubberBaseProps = SharedProps &
|
|
|
162
212
|
*/
|
|
163
213
|
lineStroke?: ReferenceLineBaseProps['stroke'];
|
|
164
214
|
/**
|
|
165
|
-
*
|
|
215
|
+
* Stroke color of the scrubber beacon circle.
|
|
216
|
+
* @default 'var(--color-bg)'
|
|
166
217
|
*/
|
|
167
|
-
|
|
218
|
+
beaconStroke?: string;
|
|
168
219
|
};
|
|
169
220
|
export type ScrubberProps = ScrubberBaseProps & {
|
|
221
|
+
/**
|
|
222
|
+
* Transition configuration for the scrubber.
|
|
223
|
+
* Controls enter, update, and pulse animations for beacons and beacon labels.
|
|
224
|
+
*/
|
|
225
|
+
transitions?: ScrubberBeaconProps['transitions'];
|
|
226
|
+
/**
|
|
227
|
+
* Transition configuration for the scrubber beacon.
|
|
228
|
+
* @deprecated Use `transitions` instead. This will be removed in a future major release.
|
|
229
|
+
* @deprecationExpectedRemoval v4
|
|
230
|
+
*/
|
|
231
|
+
beaconTransitions?: ScrubberBeaconProps['transitions'];
|
|
170
232
|
/**
|
|
171
233
|
* Accessibility label for the scrubber. Can be a static string or a function that receives the current dataIndex.
|
|
172
234
|
* If not provided, label will be used if it resolves to a string.
|
|
173
235
|
*/
|
|
174
236
|
accessibilityLabel?: string | ((dataIndex: number) => string);
|
|
175
|
-
/**
|
|
176
|
-
* Custom styles for scrubber elements.
|
|
177
|
-
*/
|
|
237
|
+
/** Custom styles for individual elements of the Scrubber component */
|
|
178
238
|
styles?: {
|
|
239
|
+
/** Overlay element */
|
|
179
240
|
overlay?: React.CSSProperties;
|
|
241
|
+
/** Beacon circle element */
|
|
180
242
|
beacon?: React.CSSProperties;
|
|
243
|
+
/** Scrubber line element */
|
|
181
244
|
line?: React.CSSProperties;
|
|
245
|
+
/** Scrubber line label element */
|
|
246
|
+
label?: React.CSSProperties;
|
|
247
|
+
/** Beacon label element */
|
|
182
248
|
beaconLabel?: React.CSSProperties;
|
|
183
249
|
};
|
|
184
|
-
/**
|
|
185
|
-
* Custom class names for scrubber elements.
|
|
186
|
-
*/
|
|
250
|
+
/** Custom class names for individual elements of the Scrubber component */
|
|
187
251
|
classNames?: {
|
|
252
|
+
/** Overlay element */
|
|
188
253
|
overlay?: string;
|
|
254
|
+
/** Beacon circle element */
|
|
189
255
|
beacon?: string;
|
|
256
|
+
/** Scrubber line element */
|
|
190
257
|
line?: string;
|
|
258
|
+
/** Scrubber line label element */
|
|
259
|
+
label?: string;
|
|
260
|
+
/** Beacon label element */
|
|
191
261
|
beaconLabel?: string;
|
|
192
262
|
};
|
|
193
263
|
};
|
|
@@ -207,6 +277,12 @@ export declare const Scrubber: React.MemoExoticComponent<
|
|
|
207
277
|
* By default, all series will be highlighted.
|
|
208
278
|
*/
|
|
209
279
|
seriesIds?: string[];
|
|
280
|
+
/**
|
|
281
|
+
* Hides the beacon labels while keeping the line label visible (if provided).
|
|
282
|
+
* @default true in horizontal layout, false in vertical layout.
|
|
283
|
+
* @note Beacon labels are always hidden in horizontal layout, and cannot be overridden.
|
|
284
|
+
*/
|
|
285
|
+
hideBeaconLabels?: boolean;
|
|
210
286
|
/**
|
|
211
287
|
* Hides the scrubber line.
|
|
212
288
|
* @note This hides Scrubber's ReferenceLine including the label.
|
|
@@ -232,6 +308,12 @@ export declare const Scrubber: React.MemoExoticComponent<
|
|
|
232
308
|
* Measured in pixels.
|
|
233
309
|
*/
|
|
234
310
|
beaconLabelHorizontalOffset?: ScrubberBeaconLabelGroupBaseProps['labelHorizontalOffset'];
|
|
311
|
+
/**
|
|
312
|
+
* Preferred side for beacon labels.
|
|
313
|
+
* @note labels will switch to the opposite side if there's not enough space on the preferred side.
|
|
314
|
+
* @default 'right'
|
|
315
|
+
*/
|
|
316
|
+
beaconLabelPreferredSide?: ScrubberBeaconLabelGroupBaseProps['labelPreferredSide'];
|
|
235
317
|
/**
|
|
236
318
|
* Label text displayed above the scrubber line.
|
|
237
319
|
* Can be a static string or a function that receives the current dataIndex.
|
|
@@ -245,7 +327,7 @@ export declare const Scrubber: React.MemoExoticComponent<
|
|
|
245
327
|
labelFont?: ChartTextProps['font'];
|
|
246
328
|
/**
|
|
247
329
|
* Bounds inset for the scrubber line label to prevent cutoff at chart edges.
|
|
248
|
-
* @default { top: 4, bottom: 20, left: 12, right: 12 } when labelElevated is true, otherwise none
|
|
330
|
+
* @default inset { top: 4, bottom: 20, left: 12, right: 12 } when labelElevated is true, otherwise none
|
|
249
331
|
*/
|
|
250
332
|
labelBoundsInset?: number | ChartInset;
|
|
251
333
|
/**
|
|
@@ -256,32 +338,52 @@ export declare const Scrubber: React.MemoExoticComponent<
|
|
|
256
338
|
* Stroke color for the scrubber line.
|
|
257
339
|
*/
|
|
258
340
|
lineStroke?: ReferenceLineBaseProps['stroke'];
|
|
341
|
+
/**
|
|
342
|
+
* Stroke color of the scrubber beacon circle.
|
|
343
|
+
* @default 'var(--color-bg)'
|
|
344
|
+
*/
|
|
345
|
+
beaconStroke?: string;
|
|
346
|
+
} & {
|
|
347
|
+
/**
|
|
348
|
+
* Transition configuration for the scrubber.
|
|
349
|
+
* Controls enter, update, and pulse animations for beacons and beacon labels.
|
|
350
|
+
*/
|
|
351
|
+
transitions?: ScrubberBeaconProps['transitions'];
|
|
259
352
|
/**
|
|
260
353
|
* Transition configuration for the scrubber beacon.
|
|
354
|
+
* @deprecated Use `transitions` instead. This will be removed in a future major release.
|
|
355
|
+
* @deprecationExpectedRemoval v4
|
|
261
356
|
*/
|
|
262
357
|
beaconTransitions?: ScrubberBeaconProps['transitions'];
|
|
263
|
-
} & {
|
|
264
358
|
/**
|
|
265
359
|
* Accessibility label for the scrubber. Can be a static string or a function that receives the current dataIndex.
|
|
266
360
|
* If not provided, label will be used if it resolves to a string.
|
|
267
361
|
*/
|
|
268
362
|
accessibilityLabel?: string | ((dataIndex: number) => string);
|
|
269
|
-
/**
|
|
270
|
-
* Custom styles for scrubber elements.
|
|
271
|
-
*/
|
|
363
|
+
/** Custom styles for individual elements of the Scrubber component */
|
|
272
364
|
styles?: {
|
|
365
|
+
/** Overlay element */
|
|
273
366
|
overlay?: React.CSSProperties;
|
|
367
|
+
/** Beacon circle element */
|
|
274
368
|
beacon?: React.CSSProperties;
|
|
369
|
+
/** Scrubber line element */
|
|
275
370
|
line?: React.CSSProperties;
|
|
371
|
+
/** Scrubber line label element */
|
|
372
|
+
label?: React.CSSProperties;
|
|
373
|
+
/** Beacon label element */
|
|
276
374
|
beaconLabel?: React.CSSProperties;
|
|
277
375
|
};
|
|
278
|
-
/**
|
|
279
|
-
* Custom class names for scrubber elements.
|
|
280
|
-
*/
|
|
376
|
+
/** Custom class names for individual elements of the Scrubber component */
|
|
281
377
|
classNames?: {
|
|
378
|
+
/** Overlay element */
|
|
282
379
|
overlay?: string;
|
|
380
|
+
/** Beacon circle element */
|
|
283
381
|
beacon?: string;
|
|
382
|
+
/** Scrubber line element */
|
|
284
383
|
line?: string;
|
|
384
|
+
/** Scrubber line label element */
|
|
385
|
+
label?: string;
|
|
386
|
+
/** Beacon label element */
|
|
285
387
|
beaconLabel?: string;
|
|
286
388
|
};
|
|
287
389
|
} & React.RefAttributes<ScrubberBeaconGroupRef>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrubber.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/Scrubber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACtC,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Scrubber.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/Scrubber.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,11 @@ export type ScrubberBeaconGroupProps = ScrubberBeaconGroupBaseProps & {
|
|
|
34
34
|
* Custom inline styles for beacons.
|
|
35
35
|
*/
|
|
36
36
|
style?: React.CSSProperties;
|
|
37
|
+
/**
|
|
38
|
+
* Stroke color of the beacon circle.
|
|
39
|
+
* @default 'var(--color-bg)'
|
|
40
|
+
*/
|
|
41
|
+
stroke?: string;
|
|
37
42
|
};
|
|
38
43
|
export declare const ScrubberBeaconGroup: import('react').MemoExoticComponent<
|
|
39
44
|
import('react').ForwardRefExoticComponent<
|
|
@@ -64,6 +69,11 @@ export declare const ScrubberBeaconGroup: import('react').MemoExoticComponent<
|
|
|
64
69
|
* Custom inline styles for beacons.
|
|
65
70
|
*/
|
|
66
71
|
style?: React.CSSProperties;
|
|
72
|
+
/**
|
|
73
|
+
* Stroke color of the beacon circle.
|
|
74
|
+
* @default 'var(--color-bg)'
|
|
75
|
+
*/
|
|
76
|
+
stroke?: string;
|
|
67
77
|
} & import('react').RefAttributes<ScrubberBeaconGroupRef>
|
|
68
78
|
>
|
|
69
79
|
>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrubberBeaconGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrubberBeaconGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAY9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AA+HlG,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GAAG;IACpE;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACjD;;;OAGG;IACH,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,mBAAmB;IAnC9B;;OAEG;eACQ,MAAM,EAAE;IACnB;;OAEG;gBACS,OAAO;;IAInB;;OAEG;kBACW,mBAAmB,CAAC,aAAa,CAAC;IAChD;;;OAGG;sBACe,uBAAuB;IACzC;;OAEG;gBACS,MAAM;IAClB;;OAEG;YACK,KAAK,CAAC,aAAa;IAC3B;;;OAGG;aACM,MAAM;2DA+FhB,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import { type CSSProperties } from 'react';
|
|
1
2
|
import type { SharedProps } from '@coinbase/cds-common/types';
|
|
2
3
|
import type { ChartTextProps } from '../text';
|
|
3
|
-
import
|
|
4
|
+
import { type ScrubberLabelPosition } from '../utils/scrubber';
|
|
5
|
+
import type {
|
|
6
|
+
ScrubberBeaconLabelComponent,
|
|
7
|
+
ScrubberBeaconLabelProps,
|
|
8
|
+
ScrubberBeaconProps,
|
|
9
|
+
} from './Scrubber';
|
|
4
10
|
export type ScrubberBeaconLabelGroupBaseProps = SharedProps & {
|
|
5
11
|
/**
|
|
6
12
|
* Labels to be displayed.
|
|
@@ -20,6 +26,12 @@ export type ScrubberBeaconLabelGroupBaseProps = SharedProps & {
|
|
|
20
26
|
* Font style for the beacon labels.
|
|
21
27
|
*/
|
|
22
28
|
labelFont?: ChartTextProps['font'];
|
|
29
|
+
/**
|
|
30
|
+
* Preferred side for labels.
|
|
31
|
+
* @note labels will switch to the opposite side if there's not enough space on the preferred side.
|
|
32
|
+
* @default 'right'
|
|
33
|
+
*/
|
|
34
|
+
labelPreferredSide?: ScrubberLabelPosition;
|
|
23
35
|
};
|
|
24
36
|
export type ScrubberBeaconLabelGroupProps = ScrubberBeaconLabelGroupBaseProps & {
|
|
25
37
|
/**
|
|
@@ -27,6 +39,18 @@ export type ScrubberBeaconLabelGroupProps = ScrubberBeaconLabelGroupBaseProps &
|
|
|
27
39
|
* @default DefaultScrubberBeaconLabel
|
|
28
40
|
*/
|
|
29
41
|
BeaconLabelComponent?: ScrubberBeaconLabelComponent;
|
|
42
|
+
/**
|
|
43
|
+
* Transition configuration for beacon label animations.
|
|
44
|
+
*/
|
|
45
|
+
transitions?: ScrubberBeaconProps['transitions'];
|
|
46
|
+
/**
|
|
47
|
+
* Custom class name for each beacon label.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Custom inline styles for each beacon label.
|
|
52
|
+
*/
|
|
53
|
+
style?: CSSProperties;
|
|
30
54
|
};
|
|
31
55
|
export declare const ScrubberBeaconLabelGroup: import('react').NamedExoticComponent<ScrubberBeaconLabelGroupProps>;
|
|
32
56
|
//# sourceMappingURL=ScrubberBeaconLabelGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrubberBeaconLabelGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconLabelGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScrubberBeaconLabelGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconLabelGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAwC,MAAM,OAAO,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AAQjE,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EACV,4BAA4B,EAC5B,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AA+DpB,MAAM,MAAM,iCAAiC,GAAG,WAAW,GAAG;IAC5D;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAC9E;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,iCAAiC,GAAG;IAC9E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACjD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,qEA0MpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrubberProvider.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,
|
|
1
|
+
{"version":3,"file":"ScrubberProvider.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,0BAA0B,CAAC,CAC3E,GAAG;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwR5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartText.d.ts","sourceRoot":"","sources":["../../../src/chart/text/ChartText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartText.d.ts","sourceRoot":"","sources":["../../../src/chart/text/ChartText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,UAAU,CAAC;AAG1D,KAAK,2BAA2B,GAC5B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,GAC5D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,2BAA2B,GAC3B,2BAA2B,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IACd;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG;IACnF;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;;OAGG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;;OAGG;IACH,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC3B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KACtC,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CAAC;AAkCJ,eAAO,MAAM,SAAS,4CA4MrB,CAAC"}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { Rect } from '@coinbase/cds-common/types';
|
|
3
3
|
import { type AxisBounds, type Series } from './chart';
|
|
4
|
-
import
|
|
4
|
+
import type { CartesianChartLayout } from './context';
|
|
5
|
+
import { type ChartAxisScaleType, type ChartScaleFunction, type PointAnchor } from './scale';
|
|
5
6
|
export declare const defaultAxisId = 'DEFAULT_AXIS_ID';
|
|
6
7
|
export declare const defaultAxisScaleType = 'linear';
|
|
8
|
+
/**
|
|
9
|
+
* Position options for band scale axis elements.
|
|
10
|
+
*
|
|
11
|
+
* - `'start'` - At the start of each step (before bar padding)
|
|
12
|
+
* - `'middle'` - At the center of each band
|
|
13
|
+
* - `'end'` - At the end of each step (after bar padding)
|
|
14
|
+
* - `'edges'` - At start of each tick, plus end for the last tick (encloses the chart)
|
|
15
|
+
*
|
|
16
|
+
* @note These properties only apply when using a band scale (`scaleType: 'band'`).
|
|
17
|
+
*/
|
|
18
|
+
export type AxisBandPlacement = 'start' | 'middle' | 'end' | 'edges';
|
|
19
|
+
/**
|
|
20
|
+
* Converts an AxisBandPlacement to the corresponding PointAnchor for use with getPointOnScale.
|
|
21
|
+
*
|
|
22
|
+
* @param placement - The axis placement value
|
|
23
|
+
* @returns The corresponding PointAnchor for scale calculations
|
|
24
|
+
*/
|
|
25
|
+
export declare const toPointAnchor: (placement: AxisBandPlacement) => PointAnchor;
|
|
7
26
|
/**
|
|
8
27
|
* Axis configuration with computed bounds
|
|
9
28
|
*/
|
|
@@ -38,7 +57,7 @@ export type AxisConfig = {
|
|
|
38
57
|
/**
|
|
39
58
|
* Axis configuration without computed bounds (used for input)
|
|
40
59
|
*/
|
|
41
|
-
export type
|
|
60
|
+
export type CartesianAxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
|
|
42
61
|
/**
|
|
43
62
|
* Unique identifier for this axis.
|
|
44
63
|
*/
|
|
@@ -66,6 +85,12 @@ export type AxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
|
|
|
66
85
|
*/
|
|
67
86
|
range?: Partial<AxisBounds> | ((bounds: AxisBounds) => AxisBounds);
|
|
68
87
|
};
|
|
88
|
+
export type CartesianAxisConfig = AxisConfig & {
|
|
89
|
+
/**
|
|
90
|
+
* Domain limit type for numeric scales
|
|
91
|
+
*/
|
|
92
|
+
domainLimit?: 'nice' | 'strict';
|
|
93
|
+
};
|
|
69
94
|
/**
|
|
70
95
|
* Gets a D3 scale based on the axis configuration.
|
|
71
96
|
* Handles both numeric (linear/log) and categorical (band) scales.
|
|
@@ -73,20 +98,26 @@ export type AxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
|
|
|
73
98
|
* For numeric scales, the domain limit controls whether bounds are "nice" (human-friendly)
|
|
74
99
|
* or "strict" (exact min/max). Range can be customized using function-based configuration.
|
|
75
100
|
*
|
|
101
|
+
* Range inversion is determined by axis role (category vs value) and layout:
|
|
102
|
+
* - Vertical layout: Y axis (value) is inverted for SVG coordinate system
|
|
103
|
+
* - Horizontal layout: Y axis (category) is inverted (first category at top)
|
|
104
|
+
*
|
|
76
105
|
* @param params - Scale parameters
|
|
77
106
|
* @returns The D3 scale function
|
|
78
107
|
* @throws An Error if bounds are invalid
|
|
79
108
|
*/
|
|
80
|
-
export declare const
|
|
109
|
+
export declare const getCartesianAxisScale: ({
|
|
81
110
|
config,
|
|
82
111
|
type,
|
|
83
112
|
range,
|
|
84
113
|
dataDomain,
|
|
114
|
+
layout,
|
|
85
115
|
}: {
|
|
86
|
-
config?:
|
|
116
|
+
config?: CartesianAxisConfig;
|
|
87
117
|
type: 'x' | 'y';
|
|
88
118
|
range: AxisBounds;
|
|
89
119
|
dataDomain: AxisBounds;
|
|
120
|
+
layout?: CartesianChartLayout;
|
|
90
121
|
}) => ChartScaleFunction;
|
|
91
122
|
/**
|
|
92
123
|
* Formats the array of user-provided axis configs with default values and validates axis ids.
|
|
@@ -101,10 +132,10 @@ export declare const getAxisScale: ({
|
|
|
101
132
|
*/
|
|
102
133
|
export declare const getAxisConfig: (
|
|
103
134
|
type: 'x' | 'y',
|
|
104
|
-
axes: Partial<
|
|
135
|
+
axes: Partial<CartesianAxisConfigProps> | Partial<CartesianAxisConfigProps>[] | undefined,
|
|
105
136
|
defaultId?: string,
|
|
106
137
|
defaultScaleType?: ChartAxisScaleType,
|
|
107
|
-
) =>
|
|
138
|
+
) => CartesianAxisConfigProps[];
|
|
108
139
|
/**
|
|
109
140
|
* Calculates the data domain for an axis based on its configuration and series data.
|
|
110
141
|
* Handles both x and y axes, categorical data, custom domain configurations, and stacking.
|
|
@@ -112,12 +143,14 @@ export declare const getAxisConfig: (
|
|
|
112
143
|
* @param axisParam - The axis configuration
|
|
113
144
|
* @param series - Array of series objects (for stacking support)
|
|
114
145
|
* @param axisType - Whether this is an 'x' or 'y' axis
|
|
146
|
+
* @param layout - Chart layout ('horizontal' or 'vertical')
|
|
115
147
|
* @returns The calculated axis bounds
|
|
116
148
|
*/
|
|
117
|
-
export declare const
|
|
118
|
-
axisParam:
|
|
149
|
+
export declare const getCartesianAxisDomain: (
|
|
150
|
+
axisParam: CartesianAxisConfigProps,
|
|
119
151
|
series: Series[],
|
|
120
152
|
axisType: 'x' | 'y',
|
|
153
|
+
layout?: CartesianChartLayout,
|
|
121
154
|
) => AxisBounds;
|
|
122
155
|
/**
|
|
123
156
|
* Calculates the visual range for an axis based on the chart rectangle and configuration.
|
|
@@ -129,7 +162,7 @@ export declare const getAxisDomain: (
|
|
|
129
162
|
* @returns The calculated axis range bounds
|
|
130
163
|
*/
|
|
131
164
|
export declare const getAxisRange: (
|
|
132
|
-
axisParam:
|
|
165
|
+
axisParam: CartesianAxisConfigProps,
|
|
133
166
|
chartRect: Rect,
|
|
134
167
|
axisType: 'x' | 'y',
|
|
135
168
|
) => AxisBounds;
|
|
@@ -154,6 +187,12 @@ type TickGenerationOptions = {
|
|
|
154
187
|
* @default 4
|
|
155
188
|
*/
|
|
156
189
|
minTickCount?: number;
|
|
190
|
+
/**
|
|
191
|
+
* Anchor position for band/categorical scales.
|
|
192
|
+
* Controls where tick labels are positioned within each band.
|
|
193
|
+
* @default 'middle'
|
|
194
|
+
*/
|
|
195
|
+
anchor?: PointAnchor;
|
|
157
196
|
};
|
|
158
197
|
export type GetAxisTicksDataProps = {
|
|
159
198
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../../src/chart/utils/axis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,MAAM,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../../src/chart/utils/axis.ts"],"names":[],"mappings":"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"}
|