@coinbase/cds-mobile-visualization 3.4.0-beta.9 → 3.6.1

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 (174) hide show
  1. package/CHANGELOG.md +150 -0
  2. package/dts/chart/CartesianChart.d.ts +92 -7
  3. package/dts/chart/CartesianChart.d.ts.map +1 -1
  4. package/dts/chart/ChartContextBridge.d.ts.map +1 -1
  5. package/dts/chart/ChartProvider.d.ts +3 -0
  6. package/dts/chart/ChartProvider.d.ts.map +1 -1
  7. package/dts/chart/Path.d.ts +43 -13
  8. package/dts/chart/Path.d.ts.map +1 -1
  9. package/dts/chart/PeriodSelector.d.ts +20 -5
  10. package/dts/chart/PeriodSelector.d.ts.map +1 -1
  11. package/dts/chart/area/Area.d.ts +14 -11
  12. package/dts/chart/area/Area.d.ts.map +1 -1
  13. package/dts/chart/area/AreaChart.d.ts +33 -9
  14. package/dts/chart/area/AreaChart.d.ts.map +1 -1
  15. package/dts/chart/area/DottedArea.d.ts.map +1 -1
  16. package/dts/chart/area/GradientArea.d.ts.map +1 -1
  17. package/dts/chart/area/SolidArea.d.ts.map +1 -1
  18. package/dts/chart/axis/Axis.d.ts +22 -42
  19. package/dts/chart/axis/Axis.d.ts.map +1 -1
  20. package/dts/chart/axis/XAxis.d.ts +6 -0
  21. package/dts/chart/axis/XAxis.d.ts.map +1 -1
  22. package/dts/chart/axis/YAxis.d.ts +1 -0
  23. package/dts/chart/axis/YAxis.d.ts.map +1 -1
  24. package/dts/chart/bar/Bar.d.ts +59 -51
  25. package/dts/chart/bar/Bar.d.ts.map +1 -1
  26. package/dts/chart/bar/BarChart.d.ts +56 -11
  27. package/dts/chart/bar/BarChart.d.ts.map +1 -1
  28. package/dts/chart/bar/BarPlot.d.ts +2 -1
  29. package/dts/chart/bar/BarPlot.d.ts.map +1 -1
  30. package/dts/chart/bar/BarStack.d.ts +45 -20
  31. package/dts/chart/bar/BarStack.d.ts.map +1 -1
  32. package/dts/chart/bar/BarStackGroup.d.ts +2 -1
  33. package/dts/chart/bar/BarStackGroup.d.ts.map +1 -1
  34. package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
  35. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
  36. package/dts/chart/bar/PercentageBarChart.d.ts +106 -0
  37. package/dts/chart/bar/PercentageBarChart.d.ts.map +1 -0
  38. package/dts/chart/bar/index.d.ts +1 -0
  39. package/dts/chart/bar/index.d.ts.map +1 -1
  40. package/dts/chart/gradient/Gradient.d.ts +5 -0
  41. package/dts/chart/gradient/Gradient.d.ts.map +1 -1
  42. package/dts/chart/index.d.ts +1 -0
  43. package/dts/chart/index.d.ts.map +1 -1
  44. package/dts/chart/legend/DefaultLegendEntry.d.ts +5 -0
  45. package/dts/chart/legend/DefaultLegendEntry.d.ts.map +1 -0
  46. package/dts/chart/legend/DefaultLegendShape.d.ts +5 -0
  47. package/dts/chart/legend/DefaultLegendShape.d.ts.map +1 -0
  48. package/dts/chart/legend/Legend.d.ts +168 -0
  49. package/dts/chart/legend/Legend.d.ts.map +1 -0
  50. package/dts/chart/legend/index.d.ts +4 -0
  51. package/dts/chart/legend/index.d.ts.map +1 -0
  52. package/dts/chart/line/DottedLine.d.ts.map +1 -1
  53. package/dts/chart/line/Line.d.ts +23 -19
  54. package/dts/chart/line/Line.d.ts.map +1 -1
  55. package/dts/chart/line/LineChart.d.ts +26 -9
  56. package/dts/chart/line/LineChart.d.ts.map +1 -1
  57. package/dts/chart/line/ReferenceLine.d.ts +1 -0
  58. package/dts/chart/line/ReferenceLine.d.ts.map +1 -1
  59. package/dts/chart/line/SolidLine.d.ts.map +1 -1
  60. package/dts/chart/point/Point.d.ts +26 -2
  61. package/dts/chart/point/Point.d.ts.map +1 -1
  62. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +32 -2
  63. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -1
  64. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts +2 -1
  65. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -1
  66. package/dts/chart/scrubber/Scrubber.d.ts +86 -17
  67. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
  68. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts +12 -0
  69. package/dts/chart/scrubber/ScrubberAccessibilityView.d.ts.map +1 -0
  70. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +10 -0
  71. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -1
  72. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +16 -1
  73. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -1
  74. package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -1
  75. package/dts/chart/utils/axis.d.ts +45 -10
  76. package/dts/chart/utils/axis.d.ts.map +1 -1
  77. package/dts/chart/utils/bar.d.ts +195 -0
  78. package/dts/chart/utils/bar.d.ts.map +1 -1
  79. package/dts/chart/utils/chart.d.ts +32 -0
  80. package/dts/chart/utils/chart.d.ts.map +1 -1
  81. package/dts/chart/utils/context.d.ts +21 -6
  82. package/dts/chart/utils/context.d.ts.map +1 -1
  83. package/dts/chart/utils/gradient.d.ts +3 -1
  84. package/dts/chart/utils/gradient.d.ts.map +1 -1
  85. package/dts/chart/utils/path.d.ts +26 -0
  86. package/dts/chart/utils/path.d.ts.map +1 -1
  87. package/dts/chart/utils/point.d.ts +24 -12
  88. package/dts/chart/utils/point.d.ts.map +1 -1
  89. package/dts/chart/utils/scale.d.ts +11 -0
  90. package/dts/chart/utils/scale.d.ts.map +1 -1
  91. package/dts/chart/utils/scrubber.d.ts +2 -1
  92. package/dts/chart/utils/scrubber.d.ts.map +1 -1
  93. package/dts/chart/utils/transition.d.ts +63 -22
  94. package/dts/chart/utils/transition.d.ts.map +1 -1
  95. package/dts/sparkline/Sparkline.d.ts +2 -1
  96. package/dts/sparkline/Sparkline.d.ts.map +1 -1
  97. package/dts/sparkline/SparklineArea.d.ts +2 -1
  98. package/dts/sparkline/SparklineArea.d.ts.map +1 -1
  99. package/dts/sparkline/SparklineGradient.d.ts +2 -1
  100. package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
  101. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
  102. package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
  103. package/esm/chart/CartesianChart.js +176 -82
  104. package/esm/chart/ChartContextBridge.js +14 -3
  105. package/esm/chart/ChartProvider.js +2 -2
  106. package/esm/chart/Path.js +68 -31
  107. package/esm/chart/PeriodSelector.js +5 -1
  108. package/esm/chart/__stories__/CartesianChart.stories.js +16 -80
  109. package/esm/chart/__stories__/ChartAccessibility.stories.js +721 -0
  110. package/esm/chart/__stories__/ChartTransitions.stories.js +625 -0
  111. package/esm/chart/__stories__/PeriodSelector.stories.js +99 -1
  112. package/esm/chart/area/Area.js +21 -9
  113. package/esm/chart/area/AreaChart.js +18 -13
  114. package/esm/chart/area/DottedArea.js +28 -18
  115. package/esm/chart/area/GradientArea.js +14 -7
  116. package/esm/chart/area/SolidArea.js +6 -2
  117. package/esm/chart/area/__stories__/AreaChart.stories.js +47 -5
  118. package/esm/chart/axis/Axis.js +5 -41
  119. package/esm/chart/axis/XAxis.js +116 -47
  120. package/esm/chart/axis/YAxis.js +105 -26
  121. package/esm/chart/axis/__stories__/Axis.stories.js +324 -48
  122. package/esm/chart/bar/Bar.js +17 -15
  123. package/esm/chart/bar/BarChart.js +38 -33
  124. package/esm/chart/bar/BarPlot.js +40 -45
  125. package/esm/chart/bar/BarStack.js +92 -475
  126. package/esm/chart/bar/BarStackGroup.js +37 -27
  127. package/esm/chart/bar/DefaultBar.js +41 -18
  128. package/esm/chart/bar/DefaultBarStack.js +25 -9
  129. package/esm/chart/bar/PercentageBarChart.js +99 -0
  130. package/esm/chart/bar/__stories__/BarChart.stories.js +721 -54
  131. package/esm/chart/bar/__stories__/PercentageBarChart.stories.js +833 -0
  132. package/esm/chart/bar/index.js +1 -0
  133. package/esm/chart/gradient/Gradient.js +2 -1
  134. package/esm/chart/index.js +1 -0
  135. package/esm/chart/legend/DefaultLegendEntry.js +42 -0
  136. package/esm/chart/legend/DefaultLegendShape.js +64 -0
  137. package/esm/chart/legend/Legend.js +59 -0
  138. package/esm/chart/legend/__stories__/Legend.stories.js +574 -0
  139. package/esm/chart/legend/index.js +3 -0
  140. package/esm/chart/line/DottedLine.js +6 -2
  141. package/esm/chart/line/Line.js +42 -38
  142. package/esm/chart/line/LineChart.js +36 -12
  143. package/esm/chart/line/SolidLine.js +6 -2
  144. package/esm/chart/line/__stories__/LineChart.stories.js +236 -590
  145. package/esm/chart/line/__stories__/ReferenceLine.stories.js +95 -1
  146. package/esm/chart/point/Point.js +35 -36
  147. package/esm/chart/scrubber/DefaultScrubberBeacon.js +41 -38
  148. package/esm/chart/scrubber/DefaultScrubberLabel.js +26 -10
  149. package/esm/chart/scrubber/Scrubber.js +67 -35
  150. package/esm/chart/scrubber/ScrubberAccessibilityView.js +177 -0
  151. package/esm/chart/scrubber/ScrubberBeaconGroup.js +30 -22
  152. package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +35 -8
  153. package/esm/chart/scrubber/ScrubberProvider.js +29 -24
  154. package/esm/chart/scrubber/__stories__/Scrubber.stories.js +946 -0
  155. package/esm/chart/utils/axis.js +88 -44
  156. package/esm/chart/utils/bar.js +829 -0
  157. package/esm/chart/utils/chart.js +34 -7
  158. package/esm/chart/utils/context.js +7 -0
  159. package/esm/chart/utils/gradient.js +8 -4
  160. package/esm/chart/utils/path.js +91 -61
  161. package/esm/chart/utils/point.js +92 -39
  162. package/esm/chart/utils/scale.js +13 -2
  163. package/esm/chart/utils/scrubber.js +12 -5
  164. package/esm/chart/utils/transition.js +116 -60
  165. package/esm/sparkline/Sparkline.js +2 -1
  166. package/esm/sparkline/SparklineArea.js +2 -1
  167. package/esm/sparkline/SparklineGradient.js +2 -1
  168. package/esm/sparkline/__figma__/Sparkline.figma.js +1 -1
  169. package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
  170. package/esm/sparkline/sparkline-interactive/__figma__/SparklineInteractive.figma.js +1 -1
  171. package/esm/sparkline/sparkline-interactive-header/__figma__/SparklineInteractiveHeader.figma.js +1 -1
  172. package/esm/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.js +2 -0
  173. package/package.json +5 -6
  174. package/esm/chart/__stories__/Chart.stories.js +0 -77
@@ -1,8 +1,38 @@
1
+ import { type Transition } from '../utils/transition';
1
2
  import type { ScrubberBeaconProps, ScrubberBeaconRef } from './Scrubber';
2
- export type DefaultScrubberBeaconProps = ScrubberBeaconProps;
3
+ export type DefaultScrubberBeaconProps = ScrubberBeaconProps & {
4
+ /**
5
+ * Radius of the beacon circle.
6
+ * @default 5
7
+ */
8
+ radius?: number;
9
+ /**
10
+ * Stroke width of the beacon circle.
11
+ * @default 2
12
+ */
13
+ strokeWidth?: number;
14
+ };
3
15
  export declare const DefaultScrubberBeacon: import('react').MemoExoticComponent<
4
16
  import('react').ForwardRefExoticComponent<
5
- ScrubberBeaconProps & import('react').RefAttributes<ScrubberBeaconRef>
17
+ import('./Scrubber').ScrubberBeaconBaseProps & {
18
+ transitions?: {
19
+ enter?: Transition | null;
20
+ update?: Transition | null;
21
+ pulse?: Transition;
22
+ pulseRepeatDelay?: number;
23
+ };
24
+ } & {
25
+ /**
26
+ * Radius of the beacon circle.
27
+ * @default 5
28
+ */
29
+ radius?: number;
30
+ /**
31
+ * Stroke width of the beacon circle.
32
+ * @default 2
33
+ */
34
+ strokeWidth?: number;
35
+ } & import('react').RefAttributes<ScrubberBeaconRef>
6
36
  >
7
37
  >;
8
38
  //# sourceMappingURL=DefaultScrubberBeacon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScrubberBeacon.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/DefaultScrubberBeacon.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBzE,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,wJAgLjC,CAAC"}
1
+ {"version":3,"file":"DefaultScrubberBeacon.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/DefaultScrubberBeacon.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBzE,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG;IAC7D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;aAmD1B,CAAC;cAGI,CAAC;aAIE,CAAC;wBAEe,CAAC;;;IAxE/B;;;OAGG;aACM,MAAM;IACf;;;OAGG;kBACW,MAAM;sDAsMrB,CAAC"}
@@ -3,7 +3,8 @@ export type DefaultScrubberLabelProps = ScrubberLabelProps;
3
3
  /**
4
4
  * DefaultScrubberLabel is the default label component for the scrubber line.
5
5
  * It will automatically add padding around the label when elevated to fit within chart bounds to prevent shadow from being cutoff.
6
- * It will also center the label vertically with the top available area.
6
+ * In vertical layout, it positions the label above the scrubber line.
7
+ * In horizontal layout, it centers the label in the chart's right inset.
7
8
  */
8
9
  export declare const DefaultScrubberLabel: import('react').NamedExoticComponent<
9
10
  import('..').ReferenceLineLabelComponentProps
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScrubberLabel.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/DefaultScrubberLabel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qFAahC,CAAC"}
1
+ {"version":3,"file":"DefaultScrubberLabel.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/DefaultScrubberLabel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,qFAuBhC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type AnimatedProp, type SkParagraph } from '@shopify/react-native-skia';
3
3
  import { type ReferenceLineBaseProps, type ReferenceLineLabelComponentProps } from '../line';
4
- import type { ChartTextProps } from '../text';
4
+ import type { ChartTextChildren, ChartTextProps } from '../text';
5
5
  import { type ChartInset, type Series } from '../utils';
6
6
  import type { Transition } from '../utils/transition';
7
7
  import {
@@ -20,7 +20,7 @@ export type ScrubberBeaconRef = {
20
20
  */
21
21
  pulse: () => void;
22
22
  };
23
- export type ScrubberBeaconProps = {
23
+ export type ScrubberBeaconBaseProps = {
24
24
  /**
25
25
  * Id of the series.
26
26
  */
@@ -31,10 +31,14 @@ export type ScrubberBeaconProps = {
31
31
  color?: AnimatedProp<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: AnimatedProp<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: AnimatedProp<number>;
40
44
  /**
@@ -43,25 +47,45 @@ export type ScrubberBeaconProps = {
43
47
  isIdle: AnimatedProp<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
- * Whether animations are enabled.
50
- * @default true
56
+ * Whether position animations are enabled.
57
+ * @default to ChartContext's animate value
51
58
  */
52
59
  animate?: boolean;
60
+ /**
61
+ * Opacity of the beacon.
62
+ * @default 1
63
+ */
64
+ opacity?: AnimatedProp<number>;
65
+ /**
66
+ * Stroke color of the beacon circle.
67
+ * @default theme.color.bg
68
+ */
69
+ stroke?: string;
70
+ };
71
+ export type ScrubberBeaconProps = ScrubberBeaconBaseProps & {
53
72
  /**
54
73
  * Transition configuration for beacon animations.
55
74
  */
56
75
  transitions?: {
57
76
  /**
58
- * Transition used for beacon position updates.
59
- * @default defaultTransition
77
+ * Transition for the initial enter/reveal animation.
78
+ * Set to `null` to disable.
60
79
  */
61
- update?: Transition;
80
+ enter?: Transition | null;
81
+ /**
82
+ * Transition for subsequent data update animations.
83
+ * Set to `null` to disable.
84
+ */
85
+ update?: Transition | null;
62
86
  /**
63
87
  * Transition used for the pulse animation.
64
- * @default { type: 'timing', duration: 1600, easing: Easing.bezier(0.0, 0.0, 0.0, 1.0) }
88
+ * @default transition { type: 'timing', duration: 1600, easing: Easing.bezier(0.0, 0.0, 0.0, 1.0) }
65
89
  */
66
90
  pulse?: Transition;
67
91
  /**
@@ -71,11 +95,6 @@ export type ScrubberBeaconProps = {
71
95
  */
72
96
  pulseRepeatDelay?: number;
73
97
  };
74
- /**
75
- * Opacity of the beacon.
76
- * @default 1
77
- */
78
- opacity?: AnimatedProp<number>;
79
98
  };
80
99
  export type ScrubberBeaconComponent = React.FC<
81
100
  ScrubberBeaconProps & {
@@ -90,7 +109,7 @@ export type ScrubberBeaconLabelProps = Pick<Series, 'color'> &
90
109
  /**
91
110
  * Label for the series.
92
111
  */
93
- label: AnimatedProp<string>;
112
+ label: ChartTextChildren;
94
113
  /**
95
114
  * Id of the series.
96
115
  */
@@ -108,6 +127,12 @@ export type ScrubberBaseProps = Pick<ScrubberBeaconGroupBaseProps, 'idlePulse'>
108
127
  * By default, all series will be highlighted.
109
128
  */
110
129
  seriesIds?: string[];
130
+ /**
131
+ * Hides the beacon labels while keeping the line label visible (if provided).
132
+ * @default true in horizontal layout, false in vertical layout.
133
+ * @note Beacon labels are always hidden in horizontal layout, and cannot be overridden.
134
+ */
135
+ hideBeaconLabels?: boolean;
111
136
  /**
112
137
  * Hides the scrubber line.
113
138
  * @note This hides Scrubber's ReferenceLine including the label.
@@ -133,6 +158,12 @@ export type ScrubberBaseProps = Pick<ScrubberBeaconGroupBaseProps, 'idlePulse'>
133
158
  * Measured in pixels.
134
159
  */
135
160
  beaconLabelHorizontalOffset?: ScrubberBeaconLabelGroupBaseProps['labelHorizontalOffset'];
161
+ /**
162
+ * Preferred side for beacon labels.
163
+ * @note labels will switch to the opposite side if there's not enough space on the preferred side.
164
+ * @default 'right'
165
+ */
166
+ beaconLabelPreferredSide?: ScrubberBeaconLabelGroupBaseProps['labelPreferredSide'];
136
167
  /**
137
168
  * Label text displayed above the scrubber line.
138
169
  * Can be a static string or a function that receives the current dataIndex.
@@ -156,11 +187,24 @@ export type ScrubberBaseProps = Pick<ScrubberBeaconGroupBaseProps, 'idlePulse'>
156
187
  */
157
188
  lineStroke?: ReferenceLineBaseProps['stroke'];
158
189
  /**
159
- * Transition configuration for the scrubber beacon.
190
+ * Stroke color of the scrubber beacon circle.
191
+ * @default theme.color.bg
160
192
  */
161
- beaconTransitions?: ScrubberBeaconProps['transitions'];
193
+ beaconStroke?: string;
162
194
  };
163
- export type ScrubberProps = ScrubberBaseProps;
195
+ export type ScrubberProps = ScrubberBaseProps & {
196
+ /**
197
+ * Transition configuration for the scrubber.
198
+ * Controls enter, update, and pulse animations for beacons and beacon labels.
199
+ */
200
+ transitions?: ScrubberBeaconProps['transitions'];
201
+ /**
202
+ * Transition configuration for the scrubber beacon.
203
+ * @deprecated Use `transitions` instead. This will be removed in a future major release.
204
+ * @deprecationExpectedRemoval v4
205
+ */
206
+ beaconTransitions?: ScrubberBeaconProps['transitions'];
207
+ };
164
208
  export type ScrubberRef = ScrubberBeaconGroupRef;
165
209
  /**
166
210
  * Unified component that manages all scrubber elements (beacons, line, labels).
@@ -176,6 +220,12 @@ export declare const Scrubber: React.MemoExoticComponent<
176
220
  * By default, all series will be highlighted.
177
221
  */
178
222
  seriesIds?: string[];
223
+ /**
224
+ * Hides the beacon labels while keeping the line label visible (if provided).
225
+ * @default true in horizontal layout, false in vertical layout.
226
+ * @note Beacon labels are always hidden in horizontal layout, and cannot be overridden.
227
+ */
228
+ hideBeaconLabels?: boolean;
179
229
  /**
180
230
  * Hides the scrubber line.
181
231
  * @note This hides Scrubber's ReferenceLine including the label.
@@ -201,6 +251,12 @@ export declare const Scrubber: React.MemoExoticComponent<
201
251
  * Measured in pixels.
202
252
  */
203
253
  beaconLabelHorizontalOffset?: ScrubberBeaconLabelGroupBaseProps['labelHorizontalOffset'];
254
+ /**
255
+ * Preferred side for beacon labels.
256
+ * @note labels will switch to the opposite side if there's not enough space on the preferred side.
257
+ * @default 'right'
258
+ */
259
+ beaconLabelPreferredSide?: ScrubberBeaconLabelGroupBaseProps['labelPreferredSide'];
204
260
  /**
205
261
  * Label text displayed above the scrubber line.
206
262
  * Can be a static string or a function that receives the current dataIndex.
@@ -223,8 +279,21 @@ export declare const Scrubber: React.MemoExoticComponent<
223
279
  * Stroke color for the scrubber line.
224
280
  */
225
281
  lineStroke?: ReferenceLineBaseProps['stroke'];
282
+ /**
283
+ * Stroke color of the scrubber beacon circle.
284
+ * @default theme.color.bg
285
+ */
286
+ beaconStroke?: string;
287
+ } & {
288
+ /**
289
+ * Transition configuration for the scrubber.
290
+ * Controls enter, update, and pulse animations for beacons and beacon labels.
291
+ */
292
+ transitions?: ScrubberBeaconProps['transitions'];
226
293
  /**
227
294
  * Transition configuration for the scrubber beacon.
295
+ * @deprecated Use `transitions` instead. This will be removed in a future major release.
296
+ * @deprecationExpectedRemoval v4
228
297
  */
229
298
  beaconTransitions?: ScrubberBeaconProps['transitions'];
230
299
  } & React.RefAttributes<ScrubberBeaconGroupRef>
@@ -1 +1 @@
1
- {"version":3,"file":"Scrubber.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/Scrubber.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scrubber.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/Scrubber.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export type ScrubberAccessibilityViewProps = {
3
+ accessibilityLabel?: (dataIndex: number) => string;
4
+ accessibilityStep?: number;
5
+ };
6
+ export declare const ScrubberAccessibilityView: React.MemoExoticComponent<
7
+ ({
8
+ accessibilityLabel,
9
+ accessibilityStep,
10
+ }: ScrubberAccessibilityViewProps) => import('react/jsx-runtime').JSX.Element | undefined
11
+ >;
12
+ //# sourceMappingURL=ScrubberAccessibilityView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrubberAccessibilityView.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberAccessibilityView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAqI1D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,wEACQ,8BAA8B,yDAmH3E,CAAC"}
@@ -25,6 +25,11 @@ export type ScrubberBeaconGroupProps = ScrubberBeaconGroupBaseProps & {
25
25
  * @default DefaultScrubberBeacon
26
26
  */
27
27
  BeaconComponent?: ScrubberBeaconComponent;
28
+ /**
29
+ * Stroke color of the beacon circle.
30
+ * @default theme.color.bg
31
+ */
32
+ stroke?: string;
28
33
  };
29
34
  export declare const ScrubberBeaconGroup: import('react').MemoExoticComponent<
30
35
  import('react').ForwardRefExoticComponent<
@@ -38,6 +43,11 @@ export declare const ScrubberBeaconGroup: import('react').MemoExoticComponent<
38
43
  * @default DefaultScrubberBeacon
39
44
  */
40
45
  BeaconComponent?: ScrubberBeaconComponent;
46
+ /**
47
+ * Stroke color of the beacon circle.
48
+ * @default theme.color.bg
49
+ */
50
+ stroke?: string;
41
51
  } & import('react').RefAttributes<ScrubberBeaconGroupRef>
42
52
  >
43
53
  >;
@@ -1 +1 @@
1
- {"version":3,"file":"ScrubberBeaconGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconGroup.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AAgHlG,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;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;CAC3C,CAAC;AAEF,eAAO,MAAM,mBAAmB;IAX9B;;OAEG;kBACW,mBAAmB,CAAC,aAAa,CAAC;IAChD;;;OAGG;sBACe,uBAAuB;2DAqE1C,CAAC"}
1
+ {"version":3,"file":"ScrubberBeaconGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconGroup.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AA4HlG,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;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;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,mBAAmB;IAhB9B;;OAEG;kBACW,mBAAmB,CAAC,aAAa,CAAC;IAChD;;;OAGG;sBACe,uBAAuB;IACzC;;;OAGG;aACM,MAAM;2DAkFhB,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import type { ChartTextProps } from '../text';
2
- import type { ScrubberBeaconLabelComponent, ScrubberBeaconLabelProps } from './Scrubber';
2
+ import { type ScrubberLabelPosition } from '../utils/scrubber';
3
+ import type {
4
+ ScrubberBeaconLabelComponent,
5
+ ScrubberBeaconLabelProps,
6
+ ScrubberBeaconProps,
7
+ } from './Scrubber';
3
8
  export type ScrubberBeaconLabelGroupBaseProps = {
4
9
  /**
5
10
  * Labels to be displayed.
@@ -19,6 +24,12 @@ export type ScrubberBeaconLabelGroupBaseProps = {
19
24
  * Font style for the beacon labels.
20
25
  */
21
26
  labelFont?: ChartTextProps['font'];
27
+ /**
28
+ * Preferred side for labels.
29
+ * @note labels will switch to the opposite side if there's not enough space on the preferred side.
30
+ * @default 'right'
31
+ */
32
+ labelPreferredSide?: ScrubberLabelPosition;
22
33
  };
23
34
  export type ScrubberBeaconLabelGroupProps = ScrubberBeaconLabelGroupBaseProps & {
24
35
  /**
@@ -26,6 +37,10 @@ export type ScrubberBeaconLabelGroupProps = ScrubberBeaconLabelGroupBaseProps &
26
37
  * @default DefaultScrubberBeaconLabel
27
38
  */
28
39
  BeaconLabelComponent?: ScrubberBeaconLabelComponent;
40
+ /**
41
+ * Transition configuration for beacon label animations.
42
+ */
43
+ transitions?: ScrubberBeaconProps['transitions'];
29
44
  };
30
45
  export declare const ScrubberBeaconLabelGroup: import('react').NamedExoticComponent<ScrubberBeaconLabelGroupProps>;
31
46
  //# sourceMappingURL=ScrubberBeaconLabelGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrubberBeaconLabelGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconLabelGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW9C,OAAO,KAAK,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AA2DzF,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;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;CACpC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,iCAAiC,GAAG;IAC9E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,wBAAwB,qEAgLpC,CAAC"}
1
+ {"version":3,"file":"ScrubberBeaconLabelGroup.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberBeaconLabelGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EACV,4BAA4B,EAC5B,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAsFpB,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;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;CAClD,CAAC;AAEF,eAAO,MAAM,wBAAwB,qEAoMpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrubberProvider.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAA4C,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG/F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,GAAG;IAC3F,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsJ5D,CAAC"}
1
+ {"version":3,"file":"ScrubberProvider.d.ts","sourceRoot":"","sources":["../../../src/chart/scrubber/ScrubberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAA4C,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG/F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,GAAG;IAC3F,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+J5D,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 { type ChartAxisScaleType, type ChartScaleFunction } from './scale';
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 (grid lines, tick marks, labels).
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 AxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
60
+ export type CartesianAxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
42
61
  /**
43
62
  * Unique identifier for this axis.
44
63
  */
@@ -66,8 +85,14 @@ 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
- * Gets a D3 scale based on the axis configuration.
95
+ * Gets a D3 scale based on the cartesian axis configuration.
71
96
  * Handles both numeric (linear/log) and categorical (band) scales.
72
97
  *
73
98
  * For numeric scales, the domain limit controls whether bounds are "nice" (human-friendly)
@@ -77,16 +102,18 @@ export type AxisConfigProps = Omit<AxisConfig, 'domain' | 'range'> & {
77
102
  * @returns The D3 scale function
78
103
  * @throws An Error if bounds are invalid
79
104
  */
80
- export declare const getAxisScale: ({
105
+ export declare const getCartesianAxisScale: ({
81
106
  config,
82
107
  type,
83
108
  range,
84
109
  dataDomain,
110
+ layout,
85
111
  }: {
86
- config?: AxisConfig;
112
+ config?: CartesianAxisConfig;
87
113
  type: 'x' | 'y';
88
114
  range: AxisBounds;
89
115
  dataDomain: AxisBounds;
116
+ layout?: CartesianChartLayout;
90
117
  }) => ChartScaleFunction;
91
118
  /**
92
119
  * Formats the array of user-provided axis configs with default values and validates axis ids.
@@ -101,10 +128,10 @@ export declare const getAxisScale: ({
101
128
  */
102
129
  export declare const getAxisConfig: (
103
130
  type: 'x' | 'y',
104
- axes: Partial<AxisConfigProps> | Partial<AxisConfigProps>[] | undefined,
131
+ axes: Partial<CartesianAxisConfigProps> | Partial<CartesianAxisConfigProps>[] | undefined,
105
132
  defaultId?: string,
106
133
  defaultScaleType?: ChartAxisScaleType,
107
- ) => AxisConfigProps[];
134
+ ) => CartesianAxisConfigProps[];
108
135
  /**
109
136
  * Calculates the data domain for an axis based on its configuration and series data.
110
137
  * Handles both x and y axes, categorical data, custom domain configurations, and stacking.
@@ -112,12 +139,14 @@ export declare const getAxisConfig: (
112
139
  * @param axisParam - The axis configuration
113
140
  * @param series - Array of series objects (for stacking support)
114
141
  * @param axisType - Whether this is an 'x' or 'y' axis
142
+ * @param layout - The chart layout orientation
115
143
  * @returns The calculated axis bounds
116
144
  */
117
- export declare const getAxisDomain: (
118
- axisParam: AxisConfigProps,
145
+ export declare const getCartesianAxisDomain: (
146
+ axisParam: CartesianAxisConfigProps,
119
147
  series: Series[],
120
148
  axisType: 'x' | 'y',
149
+ layout?: CartesianChartLayout,
121
150
  ) => AxisBounds;
122
151
  /**
123
152
  * Calculates the visual range for an axis based on the chart rectangle and configuration.
@@ -129,7 +158,7 @@ export declare const getAxisDomain: (
129
158
  * @returns The calculated axis range bounds
130
159
  */
131
160
  export declare const getAxisRange: (
132
- axisParam: AxisConfigProps,
161
+ axisParam: CartesianAxisConfigProps,
133
162
  chartRect: Rect,
134
163
  axisType: 'x' | 'y',
135
164
  ) => AxisBounds;
@@ -154,6 +183,12 @@ type TickGenerationOptions = {
154
183
  * @default 4
155
184
  */
156
185
  minTickCount?: number;
186
+ /**
187
+ * Anchor position for band/categorical scales.
188
+ * Controls where tick labels are positioned within each band.
189
+ * @default 'middle'
190
+ */
191
+ anchor?: PointAnchor;
157
192
  };
158
193
  export type GetAxisTicksDataProps = {
159
194
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../../src/chart/utils/axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../../src/chart/utils/axis.ts"],"names":[],"mappings":"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"}