basalt-ui 1.8.0 → 1.9.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 +17 -0
- package/agent/rules/basalt-charts.md +74 -5
- package/dist/charts/hooks/useHoverSync.d.ts +18 -2
- package/dist/charts/hooks/useHoverSync.d.ts.map +1 -1
- package/dist/charts/hooks/useHoverSync.js +12 -7
- package/dist/charts/index.d.ts +1 -0
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/index.js +6 -0
- package/dist/charts/kinds/Bars.d.ts +2 -0
- package/dist/charts/kinds/Bars.d.ts.map +1 -1
- package/dist/charts/kinds/Bars.js +3 -1
- package/dist/charts/kinds/Donut.d.ts +2 -0
- package/dist/charts/kinds/Donut.d.ts.map +1 -1
- package/dist/charts/kinds/Donut.js +8 -4
- package/dist/charts/kinds/DualPanel.d.ts +2 -0
- package/dist/charts/kinds/DualPanel.d.ts.map +1 -1
- package/dist/charts/kinds/DualPanel.js +2 -1
- package/dist/charts/kinds/Heatmap.d.ts +8 -0
- package/dist/charts/kinds/Heatmap.d.ts.map +1 -1
- package/dist/charts/kinds/Heatmap.js +7 -3
- package/dist/charts/kinds/MultiLine.d.ts +2 -0
- package/dist/charts/kinds/MultiLine.d.ts.map +1 -1
- package/dist/charts/kinds/MultiLine.js +2 -1
- package/dist/charts/kinds/StackedArea.d.ts +2 -0
- package/dist/charts/kinds/StackedArea.d.ts.map +1 -1
- package/dist/charts/kinds/StackedArea.js +2 -1
- package/dist/charts/kinds/ZonedLine.d.ts +2 -0
- package/dist/charts/kinds/ZonedLine.d.ts.map +1 -1
- package/dist/charts/kinds/ZonedLine.js +2 -1
- package/dist/charts/primitives/Axes.d.ts +6 -1
- package/dist/charts/primitives/Axes.d.ts.map +1 -1
- package/dist/charts/primitives/Axes.js +3 -2
- package/dist/charts/primitives/ChartFrame.d.ts +8 -1
- package/dist/charts/primitives/ChartFrame.d.ts.map +1 -1
- package/dist/charts/primitives/ChartFrame.js +8 -4
- package/dist/charts/primitives/ChartPending.d.ts +34 -0
- package/dist/charts/primitives/ChartPending.d.ts.map +1 -0
- package/dist/charts/primitives/ChartPending.js +23 -0
- package/dist/charts/primitives/ChartTooltip.d.ts +5 -2
- package/dist/charts/primitives/ChartTooltip.d.ts.map +1 -1
- package/dist/charts/primitives/ChartTooltip.js +6 -1
- package/dist/charts/primitives/HoverOverlay.d.ts +5 -4
- package/dist/charts/primitives/HoverOverlay.d.ts.map +1 -1
- package/dist/charts/primitives/HoverOverlay.js +4 -2
- package/dist/cli/index.d.ts +22 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +86 -5
- package/dist/dashboard/stat-card.d.ts.map +1 -1
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +13 -5
- package/llms.txt +2 -2
- package/package.json +3 -5
- package/src/charts/hooks/useHoverSync.ts +43 -7
- package/src/charts/index.ts +6 -0
- package/src/charts/kinds/Bars.tsx +4 -0
- package/src/charts/kinds/Donut.tsx +10 -4
- package/src/charts/kinds/DualPanel.tsx +5 -1
- package/src/charts/kinds/Heatmap.tsx +19 -2
- package/src/charts/kinds/MultiLine.tsx +4 -1
- package/src/charts/kinds/StackedArea.tsx +4 -1
- package/src/charts/kinds/ZonedLine.tsx +4 -1
- package/src/charts/primitives/Axes.tsx +7 -1
- package/src/charts/primitives/ChartFrame.test.tsx +64 -0
- package/src/charts/primitives/ChartFrame.tsx +17 -4
- package/src/charts/primitives/ChartPending.tsx +59 -0
- package/src/charts/primitives/ChartTooltip.tsx +15 -3
- package/src/charts/primitives/HoverOverlay.tsx +12 -6
- package/src/cli/index.ts +154 -5
- package/src/cli/placement-engine.test.ts +104 -0
- package/src/dashboard/stat-card.tsx +12 -0
- package/src/guard/check-source.test.ts +20 -0
- package/src/guard/index.ts +20 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# [1.9.0](https://github.com/jkrumm/basalt-ui/compare/v1.8.0...v1.9.0) (2026-08-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* stop seeding repo-root files into a subdirectory package ([cd2fa7e](https://github.com/jkrumm/basalt-ui/commit/cd2fa7ea851eb1c73943e6bbdad5211b2fc65200))
|
|
7
|
+
* stop the layout guards firing where their remedy is banned ([6851a90](https://github.com/jkrumm/basalt-ui/commit/6851a908293cb5c46dc6e7c4c01185d3ac909928))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* capture chart hover through pointer events ([4f53f4b](https://github.com/jkrumm/basalt-ui/commit/4f53f4bd9ff2bb4ededb8db7ba9bf6049a62dc48))
|
|
13
|
+
* give charts a pending state ([c3a8d05](https://github.com/jkrumm/basalt-ui/commit/c3a8d05a4aac166d4264a8dc6b8afa2b45d1893b))
|
|
14
|
+
* let the date axis take a tick format ([5502ef5](https://github.com/jkrumm/basalt-ui/commit/5502ef5614e482a422b5f70e5701588d9612209e))
|
|
15
|
+
* portal the chart tooltip out of the svg namespace trap ([6e9c399](https://github.com/jkrumm/basalt-ui/commit/6e9c399d3d52c232765959386091d06379c35a98))
|
|
16
|
+
* resolve a sibling's hover key through a consumer seam ([c8b7c93](https://github.com/jkrumm/basalt-ui/commit/c8b7c93fb9cf0d56d940d0d466efa07a5b90508e))
|
|
17
|
+
|
|
1
18
|
# [1.8.0](https://github.com/jkrumm/basalt-ui/compare/v1.7.0...v1.8.0) (2026-08-02)
|
|
2
19
|
|
|
3
20
|
|
|
@@ -39,20 +39,34 @@ tree to keep Mantine-free and no bridge file to own — `BasaltProvider` already
|
|
|
39
39
|
color scheme to the `--vx-*` CSS variables charts read internally. Just compose the shipped
|
|
40
40
|
primitives/kinds and pull color from `VX.*`/`alpha()` (`basalt-ui/tokens`).
|
|
41
41
|
|
|
42
|
+
`check-theme`'s `inline-display` and `raw-html-layout` guards don't fire inside a chart file
|
|
43
|
+
either — both remedies point at a Mantine layout primitive (`Flex`/`Grid`/`Group`/`Box`), which the
|
|
44
|
+
Mantine-free boundary above already forbids there, so the finding would be unactionable. Reach for
|
|
45
|
+
`ChartCenter` (below, under "Pending state") when a chart file needs to center something.
|
|
46
|
+
|
|
42
47
|
## Every chart has
|
|
43
48
|
|
|
44
49
|
1. **ChartCard** wrapper — gives title + info-tooltip + extra slot, consistent margin.
|
|
45
50
|
2. **ChartLegend** — never hand-rolled legend markup. Supports `line | bar | split | splitLine`
|
|
46
51
|
shapes and optional highlight state.
|
|
47
52
|
3. **ChartTooltip** + `TooltipHeader` + `TooltipRow` + `TooltipBody` — never `@visx/tooltip` directly.
|
|
53
|
+
Portals to `document.body` (SSR-guarded: renders nothing when `document` is undefined), so it
|
|
54
|
+
can be authored anywhere in the tree, including inside an `<svg>`. A plain `<div>` there used to
|
|
55
|
+
mount in the SVG namespace — accepting every prop, throwing nothing, typechecking, passing lint
|
|
56
|
+
— and never paint; one consumer shipped eight authored tooltip rows no one had ever seen. The
|
|
57
|
+
portal also un-breaks `position: fixed` under a transformed ancestor.
|
|
48
58
|
4. **AxisLeftNumeric** / **AxisRightNumeric** + **AxisBottomDate** — never raw `<AxisLeft>`/`<AxisBottom>`/`<AxisRight>`
|
|
49
59
|
(they miss theme tokens + smart ticks). Enforced by `basalt-ui check-theme` (`raw-visx-axis` guard
|
|
50
60
|
fails the build on a raw axis in a `/charts/` file; escape via `theme-allow`), not just convention.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
`AxisBottomDate` takes an optional `tickFormat` (`TickFormatter<string>`, defaults to
|
|
62
|
+
`fmtAxisDate` — `DD.MM`) — the only supported exit for a sub-day window, where the default
|
|
63
|
+
collapses every tick to the same label and a raw `<AxisBottom>` isn't an option.
|
|
64
|
+
5. **HoverOverlay** for pointer capture (mouse + touch + pen — `touch-action: pan-y` lets vertical
|
|
65
|
+
page scroll pass through while a horizontal drag scrubs the chart), **HoverContext** for
|
|
66
|
+
cross-chart crosshair sync, **useChartTooltip** for tip state, **useHoverSync** for the shared
|
|
67
|
+
cursor. Wrap a group of date-aligned charts in **ChartHoverSync** (from `basalt-ui/charts`) to
|
|
68
|
+
activate cross-chart sync — hovering one chart casts a ghost crosshair on all siblings; without
|
|
69
|
+
it `useHoverSync` runs per-chart only and logs a dev warning:
|
|
56
70
|
|
|
57
71
|
```tsx
|
|
58
72
|
<ChartHoverSync>
|
|
@@ -61,12 +75,67 @@ primitives/kinds and pull color from `VX.*`/`alpha()` (`basalt-ui/tokens`).
|
|
|
61
75
|
</ChartHoverSync>
|
|
62
76
|
```
|
|
63
77
|
|
|
78
|
+
Sync is exact string match on the broadcast key by default, so two charts share a cursor only
|
|
79
|
+
when they emit identical key strings. A chart that folds/downsamples its domain for a narrow
|
|
80
|
+
viewport stops owning most of the keys its unfolded siblings broadcast — the shared crosshair
|
|
81
|
+
then lands on roughly one hover in three, worse than no shared cursor at all. Pass
|
|
82
|
+
`useHoverSync`'s `resolveKey` to map a foreign key onto whichever of this chart's own points
|
|
83
|
+
swallowed it; it only affects reading a SIBLING's broadcast key, never this chart's own hover:
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
useHoverSync({
|
|
87
|
+
data: foldedData,
|
|
88
|
+
chartId: 'load-mobile',
|
|
89
|
+
getKey: (d) => d.bucketKey,
|
|
90
|
+
xScale,
|
|
91
|
+
marginLeft,
|
|
92
|
+
// ~288 daily buckets folded into ~97 columns at this width — map an unfolded sibling's key
|
|
93
|
+
// onto the folded bucket that swallowed it.
|
|
94
|
+
resolveKey: (key) => pointByKey.get(foldKey(key)) ?? null,
|
|
95
|
+
})
|
|
96
|
+
```
|
|
97
|
+
|
|
64
98
|
6. **Theme-aware colors** via `VX.*` tokens + `alpha()`. **Never** a raw hex literal in a chart file.
|
|
65
99
|
**Never** `localStorage.getItem('theme')` — the scheme resolves via CSS vars (see Dark/light below).
|
|
66
100
|
|
|
67
101
|
**Exemption:** sparklines (`LineSparkline`, `BarSparkline` — tiny inline charts with no legend/tooltip)
|
|
68
102
|
don't have to compose ChartCard/ChartLegend/ChartTooltip — but still use `VX.*` tokens.
|
|
69
103
|
|
|
104
|
+
## Pending state (`isPending`)
|
|
105
|
+
|
|
106
|
+
"Nothing to draw" is three states, not two: **measured-and-empty**, **measured-and-absent** (a
|
|
107
|
+
genuine coverage gap), and **not-asked-yet** (the query hasn't resolved). The `data ?? []` idiom
|
|
108
|
+
collapses the third into the second — an in-flight query renders as a fully-hatched "not measured"
|
|
109
|
+
window, a positive claim the series was watched and carried nothing. Pass `isPending` instead of
|
|
110
|
+
faking an empty array:
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
import { Bars } from 'basalt-ui/charts'
|
|
114
|
+
;<Bars
|
|
115
|
+
data={data ?? []}
|
|
116
|
+
isPending={query.isPending}
|
|
117
|
+
chartId="load"
|
|
118
|
+
getX={(d) => d.date}
|
|
119
|
+
getY={(d) => d.load}
|
|
120
|
+
/>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
All seven kinds accept `isPending` and forward it to `ChartFrame` (`Heatmap` handles it locally —
|
|
124
|
+
it composes no `ChartFrame`, taking `width`/`height` directly rather than measuring). `ChartFrame`
|
|
125
|
+
with `isPending` renders `ChartPending` over the plot rect in place of `children`, suppresses the
|
|
126
|
+
legend entirely (a legend naming a series with nothing yet to point at is its own small lie), and
|
|
127
|
+
sets `aria-busy="true"` on the outer container.
|
|
128
|
+
|
|
129
|
+
`ChartPending` reserves the plot's exact footprint and draws **nothing** that could be mistaken for
|
|
130
|
+
a measurement — no axes, no gridlines, no hatching, no marks, no animation (the motion doctrine
|
|
131
|
+
bans idle pulsing) — just a faint, static, centered label (`ChartPendingProps.label`, default
|
|
132
|
+
`'Loading…'`).
|
|
133
|
+
|
|
134
|
+
`ChartCenter` (also exported from `./charts`) is the centering primitive `ChartPending` is built
|
|
135
|
+
on — it exists only because chart files can't import Mantine's `Center`/`Flex`. Reach for it
|
|
136
|
+
directly in a bespoke chart file the same way; it's deliberately minimal (`width`, `height`,
|
|
137
|
+
`children`, nothing else), not a general layout system.
|
|
138
|
+
|
|
70
139
|
## Kinds — the recurring shapes
|
|
71
140
|
|
|
72
141
|
basalt-ui ships these kinds (declarative props, generic over your point type via `getX`/`getY`):
|
|
@@ -12,16 +12,32 @@ type XScale = (x: string) => number | undefined;
|
|
|
12
12
|
* closest-point loop inline — drift across 15+ charts is the exact problem
|
|
13
13
|
* this hook prevents.
|
|
14
14
|
*/
|
|
15
|
-
export declare function useHoverSync<T>({ data, chartId, getKey, xScale, marginLeft, }: {
|
|
15
|
+
export declare function useHoverSync<T>({ data, chartId, getKey, xScale, marginLeft, resolveKey, }: {
|
|
16
16
|
data: T[];
|
|
17
17
|
chartId: string;
|
|
18
18
|
getKey: (d: T) => string;
|
|
19
19
|
xScale: XScale;
|
|
20
20
|
marginLeft: number;
|
|
21
|
+
/**
|
|
22
|
+
* Overrides how a SIBLING's broadcast key resolves to one of THIS chart's own points. Only
|
|
23
|
+
* affects reading another chart's hover — this chart's own hover (via `getKey`/`xScale`) is
|
|
24
|
+
* untouched.
|
|
25
|
+
*
|
|
26
|
+
* Cross-chart sync is exact string match by default (`pointByKey.get(ctx.key)`), so two charts
|
|
27
|
+
* share a cursor only if they emit identical key strings. A chart that downsamples/folds its
|
|
28
|
+
* domain to fit a narrow viewport (e.g. ~288 buckets folded into ~97 columns at 390px) no longer
|
|
29
|
+
* owns most of the keys its unfolded siblings broadcast — the shared crosshair then appears on
|
|
30
|
+
* roughly one hover in three, with no rule a reader can infer, which is worse than no shared
|
|
31
|
+
* cursor at all. Pass `resolveKey` to map a foreign key onto whichever of this chart's own points
|
|
32
|
+
* swallowed it (e.g. the folded bucket the key falls into).
|
|
33
|
+
*
|
|
34
|
+
* Omit it and behaviour is byte-identical to today.
|
|
35
|
+
*/
|
|
36
|
+
resolveKey?: (key: string) => T | null;
|
|
21
37
|
}): {
|
|
22
38
|
tip: import("./useChartTooltip.js").TooltipState<T>;
|
|
23
39
|
tooltipRef: import("react").RefObject<HTMLDivElement | null>;
|
|
24
|
-
syncedPoint:
|
|
40
|
+
syncedPoint: T | null;
|
|
25
41
|
isDirectHover: boolean;
|
|
26
42
|
handleMouse: (event: React.MouseEvent<SVGRectElement>) => void;
|
|
27
43
|
handleLeave: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHoverSync.d.ts","sourceRoot":"","sources":["../../../src/charts/hooks/useHoverSync.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE;IACD,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"useHoverSync.d.ts","sourceRoot":"","sources":["../../../src/charts/hooks/useHoverSync.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,GACX,EAAE;IACD,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,CAAA;CACvC;;;;;yBA6CW,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;;EAyD3C"}
|
|
@@ -7,7 +7,8 @@ function useHoverSync({
|
|
|
7
7
|
chartId,
|
|
8
8
|
getKey,
|
|
9
9
|
xScale,
|
|
10
|
-
marginLeft
|
|
10
|
+
marginLeft,
|
|
11
|
+
resolveKey
|
|
11
12
|
}) {
|
|
12
13
|
const ctx = useContext(HoverContext);
|
|
13
14
|
const ctxRef = useRef(ctx);
|
|
@@ -20,11 +21,15 @@ function useHoverSync({
|
|
|
20
21
|
);
|
|
21
22
|
}
|
|
22
23
|
const { tip, show, hide, tooltipRef, lastDateRef } = useChartTooltip();
|
|
24
|
+
const getKeyRef = useRef(getKey);
|
|
25
|
+
getKeyRef.current = getKey;
|
|
26
|
+
const xScaleRef = useRef(xScale);
|
|
27
|
+
xScaleRef.current = xScale;
|
|
23
28
|
const pointByKey = useMemo(() => {
|
|
24
29
|
const m = /* @__PURE__ */ new Map();
|
|
25
|
-
for (const d of data) m.set(
|
|
30
|
+
for (const d of data) m.set(getKeyRef.current(d), d);
|
|
26
31
|
return m;
|
|
27
|
-
}, [data
|
|
32
|
+
}, [data]);
|
|
28
33
|
const handleMouse = useCallback(
|
|
29
34
|
(event) => {
|
|
30
35
|
const point = localPoint(event);
|
|
@@ -33,7 +38,7 @@ function useHoverSync({
|
|
|
33
38
|
let closest = data[0];
|
|
34
39
|
let minDist = Infinity;
|
|
35
40
|
for (const d of data) {
|
|
36
|
-
const sx =
|
|
41
|
+
const sx = xScaleRef.current(getKeyRef.current(d)) ?? 0;
|
|
37
42
|
const dist = Math.abs(sx - px);
|
|
38
43
|
if (dist < minDist) {
|
|
39
44
|
minDist = dist;
|
|
@@ -41,19 +46,19 @@ function useHoverSync({
|
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
48
|
show(closest, event);
|
|
44
|
-
const key =
|
|
49
|
+
const key = getKeyRef.current(closest);
|
|
45
50
|
if (lastDateRef.current !== key) {
|
|
46
51
|
lastDateRef.current = key;
|
|
47
52
|
ctxRef.current.setHover(key, chartId);
|
|
48
53
|
}
|
|
49
54
|
},
|
|
50
|
-
[data,
|
|
55
|
+
[data, chartId, marginLeft, show, lastDateRef]
|
|
51
56
|
);
|
|
52
57
|
const handleLeave = useCallback(() => {
|
|
53
58
|
hide();
|
|
54
59
|
if (ctxRef.current.source === chartId) ctxRef.current.setHover(null, null);
|
|
55
60
|
}, [hide, chartId]);
|
|
56
|
-
const syncedPoint = ctx.key ? pointByKey.get(ctx.key) ?? null : tip?.data ?? null;
|
|
61
|
+
const syncedPoint = ctx.key ? resolveKey ? resolveKey(ctx.key) : pointByKey.get(ctx.key) ?? null : tip?.data ?? null;
|
|
57
62
|
const hasProvider = ctx.setHover !== DEFAULT_NO_OP_SET_HOVER;
|
|
58
63
|
const isDirectHover = hasProvider ? ctx.source === chartId : tip !== null;
|
|
59
64
|
return {
|
package/dist/charts/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { ChartHoverSync, type ChartHoverSyncProps } from './hover-sync.js';
|
|
|
17
17
|
export { type SeriesMark, type SeriesDash, type SeriesRole, type LegendPlacement, type ChartLegendConfig, type SeriesStyle, type ChartSeries, deriveLegend, deriveTooltipRows, } from './series.js';
|
|
18
18
|
export { ResponsiveChart, type ResponsiveChartProps } from './primitives/ResponsiveChart.js';
|
|
19
19
|
export { ChartFrame, type ChartFrameProps, type ChartFrameLegend } from './primitives/ChartFrame.js';
|
|
20
|
+
export { ChartCenter, type ChartCenterProps, ChartPending, type ChartPendingProps, } from './primitives/ChartPending.js';
|
|
20
21
|
export { Crosshair, SeriesDot } from './primitives/Crosshair.js';
|
|
21
22
|
export { ChartCard } from './primitives/ChartCard.js';
|
|
22
23
|
export { ChartLegend, type LegendEntry } from './primitives/ChartLegend.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/charts/index.js
CHANGED
|
@@ -15,6 +15,10 @@ import {
|
|
|
15
15
|
} from "./series.js";
|
|
16
16
|
import { ResponsiveChart } from "./primitives/ResponsiveChart.js";
|
|
17
17
|
import { ChartFrame } from "./primitives/ChartFrame.js";
|
|
18
|
+
import {
|
|
19
|
+
ChartCenter,
|
|
20
|
+
ChartPending
|
|
21
|
+
} from "./primitives/ChartPending.js";
|
|
18
22
|
import { Crosshair, SeriesDot } from "./primitives/Crosshair.js";
|
|
19
23
|
import { ChartCard } from "./primitives/ChartCard.js";
|
|
20
24
|
import { ChartLegend } from "./primitives/ChartLegend.js";
|
|
@@ -71,9 +75,11 @@ export {
|
|
|
71
75
|
BarStack,
|
|
72
76
|
Bars,
|
|
73
77
|
ChartCard,
|
|
78
|
+
ChartCenter,
|
|
74
79
|
ChartFrame,
|
|
75
80
|
ChartHoverSync,
|
|
76
81
|
ChartLegend,
|
|
82
|
+
ChartPending,
|
|
77
83
|
ChartTooltip,
|
|
78
84
|
Crosshair,
|
|
79
85
|
DEFAULT_NO_OP_SET_HOVER,
|
|
@@ -105,6 +105,8 @@ export type BarsProps<T> = {
|
|
|
105
105
|
legend?: ChartLegendConfig | false;
|
|
106
106
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
107
107
|
ariaLabel?: string;
|
|
108
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
109
|
+
isPending?: boolean;
|
|
108
110
|
};
|
|
109
111
|
/**
|
|
110
112
|
* Bars on a categorical x-axis with optional stacked negative series, 0–2 line
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bars.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Bars.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Bars.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Bars.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,8 @@ function BarsInner(props) {
|
|
|
31
31
|
chartId,
|
|
32
32
|
height,
|
|
33
33
|
legend,
|
|
34
|
-
ariaLabel
|
|
34
|
+
ariaLabel,
|
|
35
|
+
isPending
|
|
35
36
|
} = props;
|
|
36
37
|
const [highlightedKey, setHighlightedKey] = useState(null);
|
|
37
38
|
const barSeries = useMemo(
|
|
@@ -70,6 +71,7 @@ function BarsInner(props) {
|
|
|
70
71
|
chartId,
|
|
71
72
|
...height !== void 0 && { height },
|
|
72
73
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
74
|
+
...isPending !== void 0 && { isPending },
|
|
73
75
|
legend: resolveLegend(legend, {
|
|
74
76
|
highlighted: highlightedKey,
|
|
75
77
|
onHighlight: setHighlightedKey
|
|
@@ -46,6 +46,8 @@ export type DonutProps<K extends string = SeriesKey> = {
|
|
|
46
46
|
padAngle?: number;
|
|
47
47
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
48
48
|
ariaLabel?: string;
|
|
49
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
50
|
+
isPending?: boolean;
|
|
49
51
|
};
|
|
50
52
|
/**
|
|
51
53
|
* Radial slice-share chart with a punched-out center label. Composes `ChartFrame` for a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Donut.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI;IACrD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAA;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Donut.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Donut.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI;IACrD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAA;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;;;;GAOG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,+BAoBrE;AAmJD;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAuB,OAAO,UAAU,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { ChartFrame } from "../primitives/ChartFrame.js";
|
|
|
7
7
|
import { useChartTooltip } from "../hooks/useChartTooltip.js";
|
|
8
8
|
import { VX } from "../../tokens/index.js";
|
|
9
9
|
function DonutInner(props) {
|
|
10
|
-
const { data, height, colorForKey, seriesLabel = (k) => k, ariaLabel } = props;
|
|
10
|
+
const { data, height, colorForKey, seriesLabel = (k) => k, ariaLabel, isPending } = props;
|
|
11
11
|
const series = data.map((d) => ({
|
|
12
12
|
key: d.key,
|
|
13
13
|
label: seriesLabel(d.key),
|
|
@@ -20,6 +20,7 @@ function DonutInner(props) {
|
|
|
20
20
|
series,
|
|
21
21
|
...height !== void 0 && { height },
|
|
22
22
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
23
|
+
...isPending !== void 0 && { isPending },
|
|
23
24
|
children: (plot) => /* @__PURE__ */ jsx(DonutPlot, { ...props, plot })
|
|
24
25
|
}
|
|
25
26
|
);
|
|
@@ -63,13 +64,16 @@ function DonutPlot(props) {
|
|
|
63
64
|
return /* @__PURE__ */ jsx(
|
|
64
65
|
"g",
|
|
65
66
|
{
|
|
66
|
-
|
|
67
|
+
onPointerEnter: (event) => {
|
|
67
68
|
show(arc.data, event);
|
|
68
69
|
},
|
|
69
|
-
|
|
70
|
+
onPointerMove: (event) => {
|
|
70
71
|
show(arc.data, event);
|
|
71
72
|
},
|
|
72
|
-
|
|
73
|
+
onPointerLeave: () => {
|
|
74
|
+
hide();
|
|
75
|
+
},
|
|
76
|
+
onPointerCancel: () => {
|
|
73
77
|
hide();
|
|
74
78
|
},
|
|
75
79
|
style: { cursor: "pointer" },
|
|
@@ -44,6 +44,8 @@ export type DualPanelProps<T> = {
|
|
|
44
44
|
legend?: ChartLegendConfig | false;
|
|
45
45
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
46
46
|
ariaLabel?: string;
|
|
47
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
48
|
+
isPending?: boolean;
|
|
47
49
|
};
|
|
48
50
|
/**
|
|
49
51
|
* Dual-pane chart: a top line pane and a bottom signed-histogram pane sharing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualPanel.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/DualPanel.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,WAAW,CAAA;AAI5E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;8DAC0D;IAC1D,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACtC,2EAA2E;IAC3E,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,wGAAwG;IACxG,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAClE,oDAAoD;IACpD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,8DAA8D;IAC9D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"DualPanel.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/DualPanel.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,WAAW,CAAA;AAI5E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;8DAC0D;IAC1D,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACtC,2EAA2E;IAC3E,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,wGAAwG;IACxG,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAClE,oDAAoD;IACpD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,8DAA8D;IAC9D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAID;;;;;;;;;;;GAWG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,+BAmClD;AA+TD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAA2B,OAAO,cAAc,CAAA"}
|
|
@@ -24,7 +24,7 @@ import { VX } from "../../tokens/index.js";
|
|
|
24
24
|
import { smartTicks } from "../utils/ticks.js";
|
|
25
25
|
const PANE_GAP = 12;
|
|
26
26
|
function DualPanelInner(props) {
|
|
27
|
-
const { series, chartId, height, barLabel, barColorPositive, legend, ariaLabel } = props;
|
|
27
|
+
const { series, chartId, height, barLabel, barColorPositive, legend, ariaLabel, isPending } = props;
|
|
28
28
|
const styledSeries = useMemo(
|
|
29
29
|
() => series.map((s) => ({ ...s, strokeWidth: s.strokeWidth ?? LINE_OVERLAY_STROKE_WIDTH })),
|
|
30
30
|
[series]
|
|
@@ -43,6 +43,7 @@ function DualPanelInner(props) {
|
|
|
43
43
|
chartId,
|
|
44
44
|
...height !== void 0 && { height },
|
|
45
45
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
46
|
+
...isPending !== void 0 && { isPending },
|
|
46
47
|
legend: resolveLegend(legend),
|
|
47
48
|
children: (plot) => /* @__PURE__ */ jsx(DualPanelPlot, { ...props, series: styledSeries, plot })
|
|
48
49
|
}
|
|
@@ -41,6 +41,14 @@ export type HeatmapProps<T> = {
|
|
|
41
41
|
min: string;
|
|
42
42
|
max: string;
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* The query behind this chart hasn't resolved yet. Renders `ChartPending` (see its JSDoc for the
|
|
46
|
+
* three-state rationale) over the full `width` × `height` box in place of the grid, suppressing
|
|
47
|
+
* the legend strip and every cell/label/tooltip along with it. Unlike the other six kinds,
|
|
48
|
+
* `Heatmap` doesn't compose `ChartFrame` (it takes `width`/`height` directly rather than
|
|
49
|
+
* measuring), so this is handled locally instead of forwarded.
|
|
50
|
+
*/
|
|
51
|
+
isPending?: boolean;
|
|
44
52
|
};
|
|
45
53
|
/**
|
|
46
54
|
* Category × category intensity grid. Each cell is a rounded rect filled with the base
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heatmap.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Heatmap.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Heatmap.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/Heatmap.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAatC,kFAAkF;AAClF,KAAK,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACxB,+DAA+D;IAC/D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACxB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IAC1B,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAClD,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAA;IAChD,2EAA2E;IAC3E,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAgCD;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,+BAwK9C;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAyB,OAAO,YAAY,CAAA"}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
TooltipRow,
|
|
9
9
|
useTooltipStyles
|
|
10
10
|
} from "../primitives/ChartTooltip.js";
|
|
11
|
+
import { ChartPending } from "../primitives/ChartPending.js";
|
|
11
12
|
import { useChartTooltip } from "../hooks/useChartTooltip.js";
|
|
12
13
|
import { VX, alpha } from "../../tokens/index.js";
|
|
13
14
|
function firstSeen(data, get) {
|
|
@@ -48,7 +49,8 @@ function HeatmapInner(props) {
|
|
|
48
49
|
rowLabel = (r) => r,
|
|
49
50
|
colLabel = (c) => c,
|
|
50
51
|
renderTooltip,
|
|
51
|
-
legend
|
|
52
|
+
legend,
|
|
53
|
+
isPending
|
|
52
54
|
} = props;
|
|
53
55
|
const tooltipStyles = useTooltipStyles();
|
|
54
56
|
const { tip, show, hide, tooltipRef } = useChartTooltip();
|
|
@@ -64,6 +66,7 @@ function HeatmapInner(props) {
|
|
|
64
66
|
}
|
|
65
67
|
return { lookup: map, max: m };
|
|
66
68
|
}, [data, getRow, getCol, getValue]);
|
|
69
|
+
if (isPending) return /* @__PURE__ */ jsx(ChartPending, { width, height });
|
|
67
70
|
const legendH = legend ? LEGEND_H + LEGEND_LABEL_H : 0;
|
|
68
71
|
const gridW = Math.max(0, width - PAD_LEFT);
|
|
69
72
|
const gridH = Math.max(0, height - PAD_TOP - PAD_BOTTOM - legendH);
|
|
@@ -87,8 +90,9 @@ function HeatmapInner(props) {
|
|
|
87
90
|
rx: cellRadius,
|
|
88
91
|
fill,
|
|
89
92
|
style: { cursor: has ? "pointer" : "default" },
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
onPointerMove: (e) => has && show({ row, col, value }, e),
|
|
94
|
+
onPointerLeave: hide,
|
|
95
|
+
onPointerCancel: hide
|
|
92
96
|
},
|
|
93
97
|
cellKey(row, col)
|
|
94
98
|
);
|
|
@@ -50,6 +50,8 @@ export type MultiLineProps<T> = {
|
|
|
50
50
|
legend?: ChartLegendConfig | false;
|
|
51
51
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
52
52
|
ariaLabel?: string;
|
|
53
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
54
|
+
isPending?: boolean;
|
|
53
55
|
};
|
|
54
56
|
/**
|
|
55
57
|
* N series sharing one y-axis, with optional zones/reference lines, per-point markers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLine.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/MultiLine.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAatC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK/D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;uBACmB;IACnB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,8EAA8E;IAC9E,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;kGAC8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;+BAE2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,sEAAsE;IACtE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D,6DAA6D;IAC7D,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAA;IAC5C,4DAA4D;IAC5D,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC/B;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"MultiLine.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/MultiLine.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAatC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK/D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;uBACmB;IACnB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,8EAA8E;IAC9E,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;kGAC8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;+BAE2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,wFAAwF;IACxF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,sEAAsE;IACtE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D,6DAA6D;IAC7D,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAA;IAC5C,4DAA4D;IAC5D,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC/B;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAgBD;;;;;;;;;;;GAWG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,+BAiClD;AAkPD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAA2B,OAAO,cAAc,CAAA"}
|
|
@@ -34,7 +34,7 @@ function starPath(cx, cy, r) {
|
|
|
34
34
|
return `M${pts.join("L")}Z`;
|
|
35
35
|
}
|
|
36
36
|
function MultiLineInner(props) {
|
|
37
|
-
const { series, chartId, height, legend, ariaLabel } = props;
|
|
37
|
+
const { series, chartId, height, legend, ariaLabel, isPending } = props;
|
|
38
38
|
const [highlightedKey, setHighlightedKey] = useState(null);
|
|
39
39
|
const styledSeries = useMemo(
|
|
40
40
|
() => series.map((s) => ({ ...s, strokeWidth: s.strokeWidth ?? LINE_OVERLAY_STROKE_WIDTH })),
|
|
@@ -47,6 +47,7 @@ function MultiLineInner(props) {
|
|
|
47
47
|
chartId,
|
|
48
48
|
...height !== void 0 && { height },
|
|
49
49
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
50
|
+
...isPending !== void 0 && { isPending },
|
|
50
51
|
legend: resolveLegend(legend, {
|
|
51
52
|
highlighted: highlightedKey,
|
|
52
53
|
onHighlight: setHighlightedKey
|
|
@@ -18,6 +18,8 @@ export type StackedAreaProps<T> = {
|
|
|
18
18
|
legend?: ChartLegendConfig | false;
|
|
19
19
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
20
20
|
ariaLabel?: string;
|
|
21
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
22
|
+
isPending?: boolean;
|
|
21
23
|
};
|
|
22
24
|
/**
|
|
23
25
|
* Multi-series stacked-area chart with an optional derived legend (default on) and legend-hover
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedArea.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/StackedArea.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAI/D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;4FACwF;IACxF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"StackedArea.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/StackedArea.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAI/D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;4FACwF;IACxF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,+BAmBtD;AAiJD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAA6B,OAAO,gBAAgB,CAAA"}
|
|
@@ -21,7 +21,7 @@ import { deriveTooltipRows } from "../series.js";
|
|
|
21
21
|
import { VX } from "../../tokens/index.js";
|
|
22
22
|
import { smartTicks, smartTicksEvery } from "../utils/ticks.js";
|
|
23
23
|
function StackedAreaInner(props) {
|
|
24
|
-
const { series, chartId, height, legend, ariaLabel } = props;
|
|
24
|
+
const { series, chartId, height, legend, ariaLabel, isPending } = props;
|
|
25
25
|
const [highlightedKey, setHighlightedKey] = useState(null);
|
|
26
26
|
return /* @__PURE__ */ jsx(
|
|
27
27
|
ChartFrame,
|
|
@@ -30,6 +30,7 @@ function StackedAreaInner(props) {
|
|
|
30
30
|
chartId,
|
|
31
31
|
...height !== void 0 && { height },
|
|
32
32
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
33
|
+
...isPending !== void 0 && { isPending },
|
|
33
34
|
legend: resolveLegend(legend, {
|
|
34
35
|
highlighted: highlightedKey,
|
|
35
36
|
onHighlight: setHighlightedKey
|
|
@@ -71,6 +71,8 @@ export type ZonedLineProps<T> = {
|
|
|
71
71
|
legend?: ChartLegendConfig | false;
|
|
72
72
|
/** Accessible text alternative, forwarded to `ChartFrame` as `aria-label` (+ `role="img"`). */
|
|
73
73
|
ariaLabel?: string;
|
|
74
|
+
/** Forwarded to `ChartFrame` — see `ChartPending`'s JSDoc for the three-state rationale. */
|
|
75
|
+
isPending?: boolean;
|
|
74
76
|
};
|
|
75
77
|
/**
|
|
76
78
|
* Line chart with zone backgrounds, threshold fills, reference lines, and a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZonedLine.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/ZonedLine.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AActC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK/D,4FAA4F;AAC5F,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAA;AAEpC,mFAAmF;AACnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;;wEAEoE;IACpE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,qEAAqE;IACrE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;+BAE2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,qBAAqB,GAAG,IAAI,CAAA;IACrD,uCAAuC;IACvC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAA;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ZonedLine.d.ts","sourceRoot":"","sources":["../../../src/charts/kinds/ZonedLine.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AActC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK/D,4FAA4F;AAC5F,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAA;AAEpC,mFAAmF;AACnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;IACtB;;wEAEoE;IACpE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,qEAAqE;IACrE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;+BAE2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,qBAAqB,GAAG,IAAI,CAAA;IACrD,uCAAuC;IACvC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAA;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B;4CACwC;IACxC,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IAClC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,+BAsBlD;AA2MD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAA2B,OAAO,cAAc,CAAA"}
|
|
@@ -25,7 +25,7 @@ import { VX } from "../../tokens/index.js";
|
|
|
25
25
|
import { padAutoLower } from "../utils/domain.js";
|
|
26
26
|
import { smartTicks, smartTicksEvery } from "../utils/ticks.js";
|
|
27
27
|
function ZonedLineInner(props) {
|
|
28
|
-
const { series, chartId, height, legend, ariaLabel } = props;
|
|
28
|
+
const { series, chartId, height, legend, ariaLabel, isPending } = props;
|
|
29
29
|
const styledSeries = useMemo(
|
|
30
30
|
() => series.map((s) => ({ ...s, strokeWidth: s.strokeWidth ?? LINE_OVERLAY_STROKE_WIDTH })),
|
|
31
31
|
[series]
|
|
@@ -37,6 +37,7 @@ function ZonedLineInner(props) {
|
|
|
37
37
|
chartId,
|
|
38
38
|
...height !== void 0 && { height },
|
|
39
39
|
...ariaLabel !== void 0 && { ariaLabel },
|
|
40
|
+
...isPending !== void 0 && { isPending },
|
|
40
41
|
legend: resolveLegend(legend),
|
|
41
42
|
children: (plot) => /* @__PURE__ */ jsx(ZonedLinePlot, { ...props, series: styledSeries, plot })
|
|
42
43
|
}
|
|
@@ -14,9 +14,14 @@ export declare function AxisRightNumeric({ scale, left, numTicks, tickFormat, }:
|
|
|
14
14
|
tickFormat?: TickFormatter<number>;
|
|
15
15
|
}): import("react").JSX.Element;
|
|
16
16
|
/** Themed bottom date axis — baked-in smartTicks + DD.MM formatting. */
|
|
17
|
-
export declare function AxisBottomDate({ scale, top, tickValues, }: {
|
|
17
|
+
export declare function AxisBottomDate({ scale, top, tickValues, tickFormat, }: {
|
|
18
18
|
scale: AxisScale;
|
|
19
19
|
top: number;
|
|
20
20
|
tickValues: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Defaults to `fmtAxisDate` (DD.MM). Override for a sub-day window, where DD.MM collapses every
|
|
23
|
+
* tick to the same label.
|
|
24
|
+
*/
|
|
25
|
+
tickFormat?: TickFormatter<string>;
|
|
21
26
|
}): import("react").JSX.Element;
|
|
22
27
|
//# sourceMappingURL=Axes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Axes.d.ts","sourceRoot":"","sources":["../../../src/charts/primitives/Axes.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAW1D,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAY,EACZ,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,+BAgBA;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,QAAY,EACZ,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,+BAiBA;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,GAAG,EACH,UAAU,
|
|
1
|
+
{"version":3,"file":"Axes.d.ts","sourceRoot":"","sources":["../../../src/charts/primitives/Axes.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAW1D,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAY,EACZ,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,+BAgBA;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,QAAY,EACZ,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,+BAiBA;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,GAAG,EACH,UAAU,EACV,UAAwB,GACzB,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,+BAiBA"}
|