panelui-native 0.99.0 → 0.100.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.
@@ -0,0 +1,267 @@
1
+ /**
2
+ * BumpChart — how a set of things ranked against each other over time.
3
+ *
4
+ * ```tsx
5
+ * <BumpChart data={standings} xDataKey="week" defaultHighlight="harbour">
6
+ * <BumpChart.Grid />
7
+ * <BumpChart.Line dataKey="harbour" label="Harbour" />
8
+ * <BumpChart.Line dataKey="northside" label="Northside" />
9
+ * <BumpChart.YAxis />
10
+ * <BumpChart.XAxis />
11
+ * <BumpChart.Labels />
12
+ * <BumpChart.Tooltip />
13
+ * </BumpChart>
14
+ * ```
15
+ *
16
+ * ## Positions, not values
17
+ *
18
+ * The y-axis is the rank, so the rows are evenly spaced whatever the gap
19
+ * between the underlying scores. That is the point of the chart: who passed
20
+ * whom, and when. A line chart of the same scores answers how far apart they
21
+ * were, and loses the order wherever two lines run close together.
22
+ *
23
+ * Pass the ranks directly, or pass the scores with `values="score"` and each
24
+ * column is ranked for you, highest first. `bumpRanks` is exported so a header
25
+ * or a table beside the chart can read the same order the chart drew.
26
+ *
27
+ * ## One line at a time
28
+ *
29
+ * Past three or four series, every line in its own colour is a tangle. The
30
+ * chart reads best with one line picked out: `highlight` draws that one in its
31
+ * colour and on top, and the rest in a muted grey. Tapping a name in
32
+ * `BumpChart.Labels` picks that line, and tapping it again clears it.
33
+ */
34
+ import { type ReactNode } from 'react';
35
+ import { type ViewProps } from 'react-native';
36
+ import { type ChartAccessibilityProps } from '../../primitives/chart-accessibility.js';
37
+ import { type SeriesColorIndex } from '../../utils/chart.js';
38
+ type Layer = 'svg' | 'series' | 'overlay' | 'header';
39
+ export type BumpChartStatus = 'loading' | 'ready';
40
+ export type BumpChartDatum = Record<string, string | number | null | undefined>;
41
+ /** Ranks per series key, one entry per row. `null` where a series has none. */
42
+ export type BumpRanks = Record<string, (number | null)[]>;
43
+ /**
44
+ * Each series' rank in every row.
45
+ *
46
+ * With `values: 'rank'` the rows already hold ranks and they are only
47
+ * validated. With `values: 'score'` each row is ranked highest first; a tie
48
+ * keeps the order the keys are passed in, so two equal scores never draw on
49
+ * top of each other.
50
+ */
51
+ export declare function bumpRanks(data: BumpChartDatum[], keys: string[], options?: {
52
+ values?: 'rank' | 'score';
53
+ }): BumpRanks;
54
+ /** The row under the scrub, and which line is picked out. */
55
+ export declare function useBumpChart(): {
56
+ activeIndex: number;
57
+ activePoint: BumpChartDatum | null;
58
+ xDataKey: string;
59
+ ranks: BumpRanks;
60
+ highlight: string | null;
61
+ setHighlight: (key: string | null) => void;
62
+ };
63
+ export interface BumpChartProps extends ViewProps, ChartAccessibilityProps<BumpChartDatum> {
64
+ className?: string;
65
+ /** The rows. Each one is a column: a week, a round, a release. */
66
+ data: BumpChartDatum[];
67
+ /** Key holding the column's label. */
68
+ xDataKey?: string;
69
+ /**
70
+ * What the series columns hold. `rank` (the default) takes them as places,
71
+ * `1` at the top. `score` ranks every row for you, highest first.
72
+ */
73
+ values?: 'rank' | 'score';
74
+ /**
75
+ * The series drawn in its colour and on top, with the rest muted. `null`
76
+ * picks none, and every line keeps its own colour. Controlled — pair it with
77
+ * `onHighlightChange`.
78
+ */
79
+ highlight?: string | null;
80
+ /** The series picked out on first render, when `highlight` is not passed. */
81
+ defaultHighlight?: string | null;
82
+ /** Called when a name in `BumpChart.Labels` is tapped. */
83
+ onHighlightChange?: (key: string | null) => void;
84
+ /**
85
+ * `loading` hides the lines and shows `BumpChart.Skeleton` if there is one.
86
+ * The lines are revealed when it turns `ready`.
87
+ */
88
+ status?: BumpChartStatus;
89
+ /** Width ÷ height. */
90
+ aspectRatio?: number;
91
+ /** Milliseconds for the reveal on mount. */
92
+ animationDuration?: number;
93
+ /** Milliseconds for the lines to move to new places when the data changes. */
94
+ morphDuration?: number;
95
+ /**
96
+ * The column under the scrub as it moves, and `-1`/`null` when it lifts.
97
+ * Fires when the index changes, not per frame.
98
+ */
99
+ onActiveIndexChange?: (index: number, datum: BumpChartDatum | null) => void;
100
+ /** Drop the axis padding, for a chart with no axes. */
101
+ compact?: boolean;
102
+ children?: ReactNode;
103
+ }
104
+ /** Imperative handle: re-run the reveal on demand, for a "replay" control. */
105
+ export interface BumpChartHandle {
106
+ replay: () => void;
107
+ }
108
+ export interface BumpChartGridProps {
109
+ /** A guide down every column. */
110
+ vertical?: boolean;
111
+ /** A guide across every rank. */
112
+ horizontal?: boolean;
113
+ color?: string;
114
+ dashArray?: string;
115
+ opacity?: number;
116
+ }
117
+ /** Guides down each column, so a dot can be read against the label below it. */
118
+ declare function BumpChartGrid({ vertical, horizontal, color, dashArray, opacity, }: BumpChartGridProps): import("react").JSX.Element;
119
+ declare namespace BumpChartGrid {
120
+ var displayName: string;
121
+ var layer: Layer;
122
+ }
123
+ export interface BumpChartLineProps {
124
+ /** Column in the data holding this series' rank, or its score with `values="score"`. */
125
+ dataKey: string;
126
+ /** The name shown by `Labels`, the tooltip and the legend. Defaults to `dataKey`. */
127
+ label?: string;
128
+ /** Explicit colour. Defaults to the `--color-chart-*` token for `colorIndex`. */
129
+ color?: string;
130
+ /** Which of the five chart tokens to take. */
131
+ colorIndex?: SeriesColorIndex;
132
+ /** Thickness of the line. The picked-out line is drawn one point thicker. */
133
+ strokeWidth?: number;
134
+ /** Draw a dot at every column. */
135
+ showDots?: boolean;
136
+ }
137
+ /**
138
+ * One series. It draws nothing itself: the lines are drawn together, so the
139
+ * one picked out can be drawn last and sit on top of every crossing.
140
+ */
141
+ declare function BumpChartLine({ dataKey, label, color, colorIndex, strokeWidth, showDots, }: BumpChartLineProps): null;
142
+ declare namespace BumpChartLine {
143
+ var displayName: string;
144
+ var layer: Layer;
145
+ var line: true;
146
+ }
147
+ export interface BumpChartSkeletonProps {
148
+ /** Milliseconds for one pass of the sweep. */
149
+ duration?: number;
150
+ color?: string;
151
+ /** How many rank rows to stand in for. */
152
+ rows?: number;
153
+ }
154
+ /**
155
+ * The loading state: a thin bar on every rank row with a highlight travelling
156
+ * across them. Flat, so it says where the lines will be and nothing about
157
+ * where they go.
158
+ */
159
+ declare function BumpChartSkeleton({ duration, color, rows: rowsProp }: BumpChartSkeletonProps): import("react").JSX.Element | null;
160
+ declare namespace BumpChartSkeleton {
161
+ var displayName: string;
162
+ var layer: Layer;
163
+ }
164
+ export interface BumpChartXAxisProps {
165
+ /** How many columns to label, spread across the run. */
166
+ ticks?: number;
167
+ format?: (datum: BumpChartDatum, index: number) => string;
168
+ className?: string;
169
+ }
170
+ /** The column labels. Real text, so they follow the theme's font and text scaling. */
171
+ declare function BumpChartXAxis({ ticks, format, className }: BumpChartXAxisProps): import("react").JSX.Element;
172
+ declare namespace BumpChartXAxis {
173
+ var displayName: string;
174
+ var layer: Layer;
175
+ }
176
+ export interface BumpChartYAxisProps {
177
+ /** Format a rank. Defaults to `#1`, `#2`… */
178
+ format?: (rank: number) => string;
179
+ className?: string;
180
+ }
181
+ /** The ranks down the side, one on every row. */
182
+ declare function BumpChartYAxis({ format, className }: BumpChartYAxisProps): import("react").JSX.Element;
183
+ declare namespace BumpChartYAxis {
184
+ var displayName: string;
185
+ var layer: Layer;
186
+ var axis: "y";
187
+ }
188
+ export interface BumpChartLabelsProps {
189
+ /** Room kept to the right of the plot for the names. Longer names are cut short. */
190
+ width?: number;
191
+ /** Let a tap on a name pick that line out, and a second tap clear it. */
192
+ pressable?: boolean;
193
+ className?: string;
194
+ }
195
+ /**
196
+ * Each series' name beside its last point, so the lines can be told apart
197
+ * without a legend to look across to. The names move with their lines when
198
+ * the data changes.
199
+ */
200
+ declare function BumpChartLabels({ pressable, className }: BumpChartLabelsProps): import("react").JSX.Element | null;
201
+ declare namespace BumpChartLabels {
202
+ var displayName: string;
203
+ var layer: Layer;
204
+ var labels: true;
205
+ }
206
+ export interface BumpChartTooltipProps {
207
+ color?: string;
208
+ /** Format a rank in the readout. Defaults to `#1`, `#2`… */
209
+ formatRank?: (rank: number) => string;
210
+ /** Format the readout's heading from the row. Defaults to the value at xDataKey. */
211
+ formatX?: (datum: BumpChartDatum) => string;
212
+ className?: string;
213
+ }
214
+ /**
215
+ * A scrub across the columns, and a readout listing every series in the order
216
+ * it stood at the column under the finger.
217
+ */
218
+ declare function BumpChartTooltip({ color, formatRank, formatX, className }: BumpChartTooltipProps): import("react").JSX.Element | null;
219
+ declare namespace BumpChartTooltip {
220
+ var displayName: string;
221
+ var layer: Layer;
222
+ }
223
+ export interface BumpChartLegendProps extends ViewProps {
224
+ className?: string;
225
+ }
226
+ /** A swatch and a name per series, in declaration order. */
227
+ declare function BumpChartLegend({ className, ...props }: BumpChartLegendProps): import("react").JSX.Element | null;
228
+ declare namespace BumpChartLegend {
229
+ var displayName: string;
230
+ var layer: Layer;
231
+ }
232
+ export interface BumpChartHeaderProps extends ViewProps {
233
+ className?: string;
234
+ /** Small line above the value — what the chart is of. */
235
+ title?: string;
236
+ /** The readout. The largest thing on the card, and the first thing read. */
237
+ value?: string;
238
+ /** One muted line under the value — a period, a comparison, a total. */
239
+ caption?: string;
240
+ /** Draw a swatch and a name per series along the trailing edge. */
241
+ legend?: boolean;
242
+ /** Trailing slot — a control, a badge, a range picker. Wins over `legend`. */
243
+ children?: ReactNode;
244
+ }
245
+ /**
246
+ * The strip above the plot: what the chart is of and what it currently reads.
247
+ * The value is not derived here — pass the formatted string, from
248
+ * `onActiveIndexChange` or `onHighlightChange` if it follows the chart.
249
+ */
250
+ declare function BumpChartHeader({ className, title, value, caption, legend, children, ...props }: BumpChartHeaderProps): import("react").JSX.Element;
251
+ declare namespace BumpChartHeader {
252
+ var displayName: string;
253
+ var layer: Layer;
254
+ }
255
+ export declare const BumpChart: import("react").ForwardRefExoticComponent<BumpChartProps & import("react").RefAttributes<BumpChartHandle>> & {
256
+ Header: typeof BumpChartHeader;
257
+ Grid: typeof BumpChartGrid;
258
+ Line: typeof BumpChartLine;
259
+ Skeleton: typeof BumpChartSkeleton;
260
+ XAxis: typeof BumpChartXAxis;
261
+ YAxis: typeof BumpChartYAxis;
262
+ Labels: typeof BumpChartLabels;
263
+ Tooltip: typeof BumpChartTooltip;
264
+ Legend: typeof BumpChartLegend;
265
+ };
266
+ export {};
267
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bump-chart/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAkBtB,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,yCAAsC,CAAC;AAG5G,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,sBAAmB,CAAC;AA6B3B,KAAK,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEhF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,cAAc,EAAE,EACtB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAO,GAC1C,SAAS,CAsBX;AAsFD,6DAA6D;AAC7D,wBAAgB,YAAY;;;;;;wBAjBN,MAAM,GAAG,IAAI,KAAK,IAAI;EA4B3C;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS,EAAE,uBAAuB,CAAC,cAAc,CAAC;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5E,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAsYD,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gFAAgF;AAChF,iBAAS,aAAa,CAAC,EACrB,QAAe,EACf,UAAkB,EAClB,KAAK,EACL,SAAiB,EACjB,OAAW,GACZ,EAAE,kBAAkB,+BA2CpB;kBAjDQ,aAAa;;;;AAqDtB,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,EACrB,OAAO,EACP,KAAK,EACL,KAAK,EACL,UAAc,EACd,WAAiB,EACjB,QAAe,GAChB,EAAE,kBAAkB,QAYpB;kBAnBQ,aAAa;;;;;AAoGtB,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CAAC,EAAE,QAAe,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,sBAAsB,sCAyD5F;kBAzDQ,iBAAiB;;;;AAiE1B,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,iBAAS,cAAc,CAAC,EAAE,KAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,+BAgD5E;kBAhDQ,cAAc;;;;AAoDvB,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iDAAiD;AACjD,iBAAS,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,+BAsBjE;kBAtBQ,cAAc;;;;;AA8BvB,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,EAAE,SAAgB,EAAE,SAAS,EAAE,EAAE,oBAAoB,sCA2B7E;kBA3BQ,eAAe;;;;;AAsGxB,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,qBAAqB,sCA8JzF;kBA9JQ,gBAAgB;;;;AAkKzB,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,sCAerE;kBAfQ,eAAe;;;;AAmCxB,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAc,EACd,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,oBAAoB,+BAqCtB;kBA7CQ,eAAe;;;;AAiDxB,eAAO,MAAM,SAAS;;;;;;;;;;CAUpB,CAAC"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * MirrorAreaChart — two readings of one timeline, one above a baseline and one
3
+ * below it.
4
+ *
5
+ * ```tsx
6
+ * <MirrorAreaChart data={load} xDataKey="time">
7
+ * <MirrorAreaChart.Grid />
8
+ * <MirrorAreaChart.Area dataKey="jobs" label="jobs" muted />
9
+ * <MirrorAreaChart.Area dataKey="high" label="high priority" />
10
+ * <MirrorAreaChart.Area dataKey="share" label="% high" side="bottom" />
11
+ * <MirrorAreaChart.Baseline />
12
+ * <MirrorAreaChart.Tooltip />
13
+ * </MirrorAreaChart>
14
+ * ```
15
+ *
16
+ * ## Two scales, one timeline
17
+ *
18
+ * Each half has its own scale, because the two readings are usually in
19
+ * different units — a count above and a percentage below, or requests above
20
+ * and errors below. Both grow away from the baseline, so a peak in one lines
21
+ * up with whatever the other did at the same moment, and neither is squeezed
22
+ * into the other's range.
23
+ *
24
+ * Areas on the same side overlay in the order they are declared. Declare the
25
+ * whole first and the part of it second, so the part is drawn inside the whole.
26
+ */
27
+ import { type ReactNode } from 'react';
28
+ import { type ViewProps } from 'react-native';
29
+ import { type ChartAccessibilityProps } from '../../primitives/chart-accessibility.js';
30
+ import { type ChartCurve, type SeriesColorIndex } from '../../utils/chart.js';
31
+ type Layer = 'svg' | 'series' | 'overlay' | 'header';
32
+ export type MirrorAreaChartStatus = 'loading' | 'ready';
33
+ export type MirrorAreaChartSide = 'top' | 'bottom';
34
+ export type MirrorAreaChartDatum = Record<string, string | number | null | undefined>;
35
+ /** The row under the crosshair, for a header or a readout outside the chart. */
36
+ export declare function useMirrorAreaChart(): {
37
+ activeIndex: number;
38
+ activePoint: MirrorAreaChartDatum | null;
39
+ xDataKey: string;
40
+ };
41
+ export interface MirrorAreaChartProps extends ViewProps, ChartAccessibilityProps<MirrorAreaChartDatum> {
42
+ className?: string;
43
+ /** The rows. Each one is a point along the x-axis. */
44
+ data: MirrorAreaChartDatum[];
45
+ /** Key holding the x label. Used by the axis and the readout. */
46
+ xDataKey?: string;
47
+ /**
48
+ * How much of the plot's height sits above the baseline, from `0` to `1`.
49
+ * Give the half you want read first the larger share.
50
+ */
51
+ split?: number;
52
+ /**
53
+ * Fix the top half's scale instead of deriving it from the data. Only the
54
+ * upper end is used: the baseline is always zero.
55
+ */
56
+ topDomain?: [number, number];
57
+ /** Fix the bottom half's scale. Only the upper end is used. */
58
+ bottomDomain?: [number, number];
59
+ /** `monotone` never overshoots between points; `linear` joins them straight. */
60
+ curve?: ChartCurve;
61
+ /**
62
+ * `loading` holds the bands flat on the baseline and grows them out when it
63
+ * turns `ready`. Add a `MirrorAreaChart.Skeleton` to show something meanwhile.
64
+ */
65
+ status?: MirrorAreaChartStatus;
66
+ /** Width ÷ height. */
67
+ aspectRatio?: number;
68
+ /** Milliseconds for the bands to grow out on mount. */
69
+ animationDuration?: number;
70
+ /** Milliseconds for either scale to settle after the data changes. */
71
+ domainDuration?: number;
72
+ /**
73
+ * The point under the crosshair as it moves, and `-1`/`null` when it lifts.
74
+ * Fires when the index changes, not per frame.
75
+ */
76
+ onActiveIndexChange?: (index: number, datum: MirrorAreaChartDatum | null) => void;
77
+ /** Drop the axis padding so the bands reach the edges, for a sparkline. */
78
+ compact?: boolean;
79
+ children?: ReactNode;
80
+ }
81
+ /** Imperative handle: re-run the reveal on demand, for a "replay" control. */
82
+ export interface MirrorAreaChartHandle {
83
+ replay: () => void;
84
+ }
85
+ export interface MirrorAreaChartGridProps {
86
+ /** `dots` is a field of points; `lines` is dashed rules across each half. */
87
+ variant?: 'dots' | 'lines';
88
+ /** Distance between dots, or how many rules each half gets. */
89
+ spacing?: number;
90
+ color?: string;
91
+ opacity?: number;
92
+ }
93
+ /**
94
+ * The texture behind the bands. Dots by default, which mark the plot's extent
95
+ * without drawing lines that compete with the baseline.
96
+ */
97
+ declare function MirrorAreaChartGrid({ variant, spacing, color, opacity }: MirrorAreaChartGridProps): import("react").JSX.Element;
98
+ declare namespace MirrorAreaChartGrid {
99
+ var displayName: string;
100
+ var layer: Layer;
101
+ }
102
+ export interface MirrorAreaChartBaselineProps {
103
+ color?: string;
104
+ strokeWidth?: number;
105
+ opacity?: number;
106
+ }
107
+ /**
108
+ * The line both halves grow away from. Declare it after the areas so it is
109
+ * drawn over their bases.
110
+ */
111
+ declare function MirrorAreaChartBaseline({ color, strokeWidth, opacity }: MirrorAreaChartBaselineProps): import("react").JSX.Element;
112
+ declare namespace MirrorAreaChartBaseline {
113
+ var displayName: string;
114
+ var layer: Layer;
115
+ }
116
+ export interface MirrorAreaChartAreaProps {
117
+ /** Column in the data holding this series' values. */
118
+ dataKey: string;
119
+ /** Which half it is drawn in. */
120
+ side?: MirrorAreaChartSide;
121
+ /** The name shown by the readout and the legend. Defaults to `dataKey`. */
122
+ label?: string;
123
+ /** Explicit colour. Defaults to the `--color-chart-*` token for `colorIndex`. */
124
+ color?: string;
125
+ /** Which of the five chart tokens to take. */
126
+ colorIndex?: SeriesColorIndex;
127
+ /**
128
+ * Draw it in the muted foreground colour instead, for a total that the
129
+ * coloured areas are parts of.
130
+ */
131
+ muted?: boolean;
132
+ /** Opacity of the fill at the band's outer edge. */
133
+ fillOpacity?: number;
134
+ /** Opacity of the fill at the baseline. Defaults to `fillOpacity`, a flat fill. */
135
+ gradientToOpacity?: number;
136
+ /** Draw the line along the band's outer edge. */
137
+ showLine?: boolean;
138
+ /** Thickness of that line. */
139
+ strokeWidth?: number;
140
+ }
141
+ /**
142
+ * One band, growing away from the baseline on its side. Areas on one side
143
+ * overlay in declaration order, so a whole declared first is drawn behind a
144
+ * part of it declared second.
145
+ */
146
+ declare function MirrorAreaChartArea({ dataKey, side, label, color, colorIndex, muted, fillOpacity, gradientToOpacity, showLine, strokeWidth, }: MirrorAreaChartAreaProps): import("react").JSX.Element;
147
+ declare namespace MirrorAreaChartArea {
148
+ var displayName: string;
149
+ var layer: Layer;
150
+ var area: true;
151
+ }
152
+ export interface MirrorAreaChartSkeletonProps {
153
+ /** Milliseconds for one pass of the sweep. */
154
+ duration?: number;
155
+ color?: string;
156
+ }
157
+ /**
158
+ * The loading state: a low band either side of the baseline with a highlight
159
+ * travelling across it. Flat, so it says where the bands will be and nothing
160
+ * about their shape.
161
+ */
162
+ declare function MirrorAreaChartSkeleton({ duration, color }: MirrorAreaChartSkeletonProps): import("react").JSX.Element | null;
163
+ declare namespace MirrorAreaChartSkeleton {
164
+ var displayName: string;
165
+ var layer: Layer;
166
+ }
167
+ export interface MirrorAreaChartXAxisProps {
168
+ ticks?: number;
169
+ format?: (datum: MirrorAreaChartDatum, index: number) => string;
170
+ className?: string;
171
+ }
172
+ /** The x labels. Real text, so they follow the theme's font and text scaling. */
173
+ declare function MirrorAreaChartXAxis({ ticks, format, className }: MirrorAreaChartXAxisProps): import("react").JSX.Element;
174
+ declare namespace MirrorAreaChartXAxis {
175
+ var displayName: string;
176
+ var layer: Layer;
177
+ }
178
+ export interface MirrorAreaChartYAxisProps {
179
+ /** Format a value in the top half. */
180
+ formatTop?: (value: number) => string;
181
+ /** Format a value in the bottom half. */
182
+ formatBottom?: (value: number) => string;
183
+ className?: string;
184
+ }
185
+ /**
186
+ * Three labels down the side: the top half's maximum, zero on the baseline,
187
+ * and the bottom half's maximum. Two scales need two labels, and a column of
188
+ * evenly spaced numbers would suggest one.
189
+ */
190
+ declare function MirrorAreaChartYAxis({ formatTop, formatBottom, className }: MirrorAreaChartYAxisProps): import("react").JSX.Element;
191
+ declare namespace MirrorAreaChartYAxis {
192
+ var displayName: string;
193
+ var layer: Layer;
194
+ var axis: "y";
195
+ }
196
+ export interface MirrorAreaChartTooltipProps {
197
+ /** Colour of the crosshair and the dot. Defaults to the foreground token. */
198
+ color?: string;
199
+ /** Format one series' value. Defaults to a compact number. */
200
+ formatValue?: (value: number, key: string) => string;
201
+ /** Format the readout's heading from the row. Defaults to the value at xDataKey. */
202
+ formatX?: (datum: MirrorAreaChartDatum) => string;
203
+ /**
204
+ * One line to show instead of a row per series — "1,120 jobs · 78% high".
205
+ * Use it when the series only make sense read together.
206
+ */
207
+ formatSummary?: (datum: MirrorAreaChartDatum) => string;
208
+ className?: string;
209
+ }
210
+ /**
211
+ * A dashed crosshair, a dot on the outer edge of the top half, and a readout
212
+ * beside them. The hit area is the whole plot.
213
+ */
214
+ declare function MirrorAreaChartTooltip({ color, formatValue, formatX, formatSummary, className, }: MirrorAreaChartTooltipProps): import("react").JSX.Element | null;
215
+ declare namespace MirrorAreaChartTooltip {
216
+ var displayName: string;
217
+ var layer: Layer;
218
+ }
219
+ export interface MirrorAreaChartLegendProps extends ViewProps {
220
+ className?: string;
221
+ }
222
+ /** A swatch and a name per area, top half first. */
223
+ declare function MirrorAreaChartLegend({ className, ...props }: MirrorAreaChartLegendProps): import("react").JSX.Element | null;
224
+ declare namespace MirrorAreaChartLegend {
225
+ var displayName: string;
226
+ var layer: Layer;
227
+ }
228
+ export interface MirrorAreaChartHeaderProps extends ViewProps {
229
+ className?: string;
230
+ /** Small line above the value — what the chart is of. */
231
+ title?: string;
232
+ /** The readout. The largest thing on the card, and the first thing read. */
233
+ value?: string;
234
+ /** One muted line under the value — a period, a comparison, a total. */
235
+ caption?: string;
236
+ /** Draw a swatch and a name per area along the trailing edge. */
237
+ legend?: boolean;
238
+ /** Trailing slot — a control, a badge, a range picker. Wins over `legend`. */
239
+ children?: ReactNode;
240
+ }
241
+ /**
242
+ * The strip above the plot: what the chart is of and what it currently reads.
243
+ * The value is not derived here — pass the formatted string, from
244
+ * `onActiveIndexChange` if it follows the finger.
245
+ */
246
+ declare function MirrorAreaChartHeader({ className, title, value, caption, legend, children, ...props }: MirrorAreaChartHeaderProps): import("react").JSX.Element;
247
+ declare namespace MirrorAreaChartHeader {
248
+ var displayName: string;
249
+ var layer: Layer;
250
+ }
251
+ export declare const MirrorAreaChart: import("react").ForwardRefExoticComponent<MirrorAreaChartProps & import("react").RefAttributes<MirrorAreaChartHandle>> & {
252
+ Header: typeof MirrorAreaChartHeader;
253
+ Grid: typeof MirrorAreaChartGrid;
254
+ Area: typeof MirrorAreaChartArea;
255
+ Baseline: typeof MirrorAreaChartBaseline;
256
+ Skeleton: typeof MirrorAreaChartSkeleton;
257
+ XAxis: typeof MirrorAreaChartXAxis;
258
+ YAxis: typeof MirrorAreaChartYAxis;
259
+ Tooltip: typeof MirrorAreaChartTooltip;
260
+ Legend: typeof MirrorAreaChartLegend;
261
+ };
262
+ export {};
263
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/mirror-area-chart/index.tsx"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ export { PageHeader, type PageHeaderProps, type PageHeaderRootProps, type PageHe
73
73
  export { PieChart, usePieChart, type PieChartProps, type PieChartHandle, type PieChartHeaderProps, type PieChartSlicesProps, type PieChartCenterProps, type PieChartLegendProps, type PieChartSkeletonProps, type PieChartStatus, type PieDatum, } from './components/pie-chart/index.js';
74
74
  export { LiveLineChart, useLiveLineChart, type LiveLineChartProps, type LiveLineChartHandle, type LiveLineChartHeaderProps, type LiveLineChartGridProps, type LiveLineChartAreaProps, type LiveLineChartLineProps, type LiveLineChartTipProps, type LiveLineChartXAxisProps, type LiveLineChartYAxisProps, type LiveLineChartTooltipProps, type LiveLineChartSkeletonProps, type LiveLineChartStatus, type LiveLineMomentum, type LiveLineMomentumColors, type LiveLinePoint, } from './components/live-line-chart/index.js';
75
75
  export { BubbleChart, useBubbleChart, type BubbleChartProps, type BubbleChartHandle, type BubbleChartHeaderProps, type BubbleChartGridProps, type BubbleChartQuadrantsProps, type BubbleChartTrendProps, type BubbleChartBubblesProps, type BubbleChartLabelsProps, type BubbleChartSizeKeyProps, type BubbleChartSkeletonProps, type BubbleChartXAxisProps, type BubbleChartYAxisProps, type BubbleChartTooltipProps, type BubbleChartLegendProps, type BubbleChartDatum, type BubbleChartPoint, type BubbleChartStatus, } from './components/bubble-chart/index.js';
76
+ export { BumpChart, useBumpChart, bumpRanks, type BumpChartProps, type BumpChartHandle, type BumpChartHeaderProps, type BumpChartGridProps, type BumpChartLineProps, type BumpChartSkeletonProps, type BumpChartXAxisProps, type BumpChartYAxisProps, type BumpChartLabelsProps, type BumpChartTooltipProps, type BumpChartLegendProps, type BumpChartStatus, type BumpChartDatum, type BumpRanks, } from './components/bump-chart/index.js';
76
77
  export { PyramidChart, usePyramidChart, type PyramidChartProps, type PyramidChartHandle, type PyramidChartHeaderProps, type PyramidChartGridProps, type PyramidChartBarProps, type PyramidChartSkeletonProps, type PyramidChartXAxisProps, type PyramidChartYAxisProps, type PyramidChartTooltipProps, type PyramidChartLegendProps, type PyramidChartDatum, type PyramidChartStatus, type PyramidChartSide, type PyramidChartLabelPlacement, } from './components/pyramid-chart/index.js';
77
78
  export { PolarAreaChart, usePolarAreaChart, type PolarAreaChartProps, type PolarAreaChartHandle, type PolarAreaChartHeaderProps, type PolarAreaChartGridProps, type PolarAreaChartWedgesProps, type PolarAreaChartLabelsProps, type PolarAreaChartTooltipProps, type PolarAreaChartLegendProps, type PolarAreaChartSkeletonProps, type PolarAreaChartStatus, type PolarAreaScale, type PolarAreaDatum, } from './components/polar-area-chart/index.js';
78
79
  export { Plot, usePlot, usePlotCursor, type PlotProps, type PlotHandle, type PlotGeometry, type PlotHeaderProps, type PlotLegendProps, type PlotGridProps, type PlotSeriesProps, type PlotLineProps, type PlotAreaProps, type PlotBarsProps, type PlotDotsProps, type PlotRuleProps, type PlotLayerProps, type PlotOverlayProps, type PlotXAxisProps, type PlotYAxisProps, type PlotCursorProps, type PlotTooltipProps, type PlotDatum, type PlotStatus, type PlotCurve, type PlotScale, type PlotBound, type PlotBox, } from './components/plot/index.js';
@@ -91,6 +92,7 @@ export { Marquee, type MarqueeProps, type MarqueeGroupProps, type MarqueeDirecti
91
92
  export { Menu, type MenuProps, type MenuTriggerProps, type MenuContentProps, type MenuBackgroundProps, type MenuLabelProps, type MenuItemProps, type MenuCheckboxItemProps, type MenuRadioGroupProps, type MenuRadioItemProps, type MenuSeparatorProps, type MenuSubProps, type MenuSubTriggerProps, type MenuSubContentProps, type MenuItemVariant, type MenuRadioIndicator, } from './components/menu/index.js';
92
93
  export { Meter, type MeterProps, type MeterColor, type MeterThreshold, } from './components/meter/index.js';
93
94
  export { MessageScroller, useMessageScroller, useMessageScrollerVisibility, type MessageScrollerProps, type MessageScrollerViewportProps, type MessageScrollerContentProps, type MessageScrollerItemProps, type MessageScrollerButtonProps, type MessageScrollerPosition, } from './components/message-scroller/index.js';
95
+ export { MirrorAreaChart, useMirrorAreaChart, type MirrorAreaChartProps, type MirrorAreaChartHandle, type MirrorAreaChartHeaderProps, type MirrorAreaChartGridProps, type MirrorAreaChartBaselineProps, type MirrorAreaChartAreaProps, type MirrorAreaChartSkeletonProps, type MirrorAreaChartXAxisProps, type MirrorAreaChartYAxisProps, type MirrorAreaChartTooltipProps, type MirrorAreaChartLegendProps, type MirrorAreaChartStatus, type MirrorAreaChartSide, type MirrorAreaChartDatum, } from './components/mirror-area-chart/index.js';
94
96
  export { Message, type MessageProps, type MessageGroupProps, type MessageAvatarProps, type MessageContentProps, type MessageHeaderProps, type MessageBubbleProps, type MessageBubbleContentProps, type MessageFooterProps, type MessageActionsProps, } from './components/message/index.js';
95
97
  export { Popover, usePopoverAnchor, type PopoverProps, type PopoverTriggerProps, type PopoverContentProps, type PopoverArrowProps, type PopoverCloseProps, type PopoverPlacement, type PopoverAlign, type PopoverPresentation, type PopoverAnchorRect, type PopoverAnchorControls, } from './components/popover/index.js';
96
98
  export { Planner, type PlannerProps, type PlannerEntry, type PlannerCategory, type PlannerHeaderProps, type PlannerTitleProps, type PlannerTodayProps, type PlannerNavProps, type PlannerActionProps, type PlannerGridProps, type PlannerScrollerProps, type PlannerVariant, type PlannerDayProps, type PlannerDayState, type PlannerDayRenderer, type PlannerLegendProps, type PlannerSummaryProps, type PlannerFooterProps, type PlannerDetailsProps, type PlannerCountedCategory, } from './components/planner/index.js';