@pond-ts/react 0.39.0 → 0.41.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 +69 -14
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,7 +8,9 @@ The `@pond-ts` packages — `pond-ts`, `@pond-ts/react`, `@pond-ts/charts`, and
|
|
|
8
8
|
them all. Pre-1.0: minor bumps may include new features and type-level changes;
|
|
9
9
|
patch bumps are strictly additive.
|
|
10
10
|
|
|
11
|
-
[Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.
|
|
11
|
+
[Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.41.0...HEAD
|
|
12
|
+
[0.41.0]: https://github.com/pjm17971/pond-ts/compare/v0.40.0...v0.41.0
|
|
13
|
+
[0.40.0]: https://github.com/pjm17971/pond-ts/compare/v0.39.0...v0.40.0
|
|
12
14
|
[0.39.0]: https://github.com/pjm17971/pond-ts/compare/v0.38.0...v0.39.0
|
|
13
15
|
[0.38.0]: https://github.com/pjm17971/pond-ts/compare/v0.37.0...v0.38.0
|
|
14
16
|
[0.37.0]: https://github.com/pjm17971/pond-ts/compare/v0.36.0...v0.37.0
|
|
@@ -37,21 +39,61 @@ patch bumps are strictly additive.
|
|
|
37
39
|
|
|
38
40
|
## [Unreleased]
|
|
39
41
|
|
|
42
|
+
## [0.41.0] — 2026-07-06
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
- **`@pond-ts/charts`: `<Candlestick>` — a first-class OHLC mark** (Phase 1 of
|
|
47
|
+
the financial-charts RFC, Tidal-driven). `open`/`high`/`low`/`close` props
|
|
48
|
+
default to the conventional names (`<Candlestick series={s} />` for a standard
|
|
49
|
+
OHLCV series); draws-only (body extents derived per-mark); **point- or
|
|
50
|
+
interval-keyed** so raw daily OHLCV feeds straight in (no `aggregate`), while a
|
|
51
|
+
weekly/monthly rollup is the identical call. `variant: 'candle' | 'bar' |
|
|
52
|
+
'hollow'`, `colorBy: 'direction' | 'series'`, `gap`, and `showOHLC` (four-pill
|
|
53
|
+
O/H/L/C hover readout; default is a single `close` pill keyed on `as`).
|
|
54
|
+
Participates in the crosshair x-snap (unlike `BoxPlot`). Supersedes `BoxPlot
|
|
55
|
+
shape='solid'` for OHLC data.
|
|
56
|
+
- **`@pond-ts/charts`: `ohlcFromTimeSeries`** + the `OhlcSeries` / `OhlcColumns`
|
|
57
|
+
types — read four price columns into a chart-ready columnar view (exported
|
|
58
|
+
alongside the existing `*FromTimeSeries` builders).
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- **`@pond-ts/charts`: `ChartTheme` gains a required `candle` slot** (a
|
|
63
|
+
`CandleStyle`: `rising`/`falling`/`neutral` body+wick pairs, `bodyWidth`,
|
|
64
|
+
`wickWidth`). `defaultTheme` and `estelaTheme` ship neutral, **unbranded**
|
|
65
|
+
up/down pairs — market green/red is a `cssVarTheme` overlay, not a library
|
|
66
|
+
default. **Breaking (type-level):** a hand-built `ChartTheme` that doesn't
|
|
67
|
+
derive from a shipped theme must add a `candle` slot to compile.
|
|
68
|
+
|
|
69
|
+
## [0.40.0] — 2026-07-05
|
|
70
|
+
|
|
71
|
+
A **core + charts** release from the estela `DataChart`-port friction wave.
|
|
72
|
+
`@pond-ts/react` and `@pond-ts/fit` carry no code changes — republished in
|
|
73
|
+
lock-step (peer ranges widen to `^0.40.0`).
|
|
74
|
+
|
|
75
|
+
### Added
|
|
76
|
+
|
|
77
|
+
- `pond-ts`: **`TimeSeries.fromColumns({ sort })`** — an opt-in `sort?: boolean`
|
|
78
|
+
(default `false`) that stable-sorts a columnar payload by key before
|
|
79
|
+
construction, the columnar counterpart of `fromJSON`'s `sort`. The default path
|
|
80
|
+
is unchanged: a decreasing key still throws (a backwards key on the trusted fast
|
|
81
|
+
door is a corruption signal, not silently accepted), and the `Float64Array`
|
|
82
|
+
zero-copy adoption is preserved when `sort` is unset. (#344)
|
|
83
|
+
- `@pond-ts/charts`: **controlled bar hover** — `<ChartContainer hovered
|
|
84
|
+
onHover>`, the transient-hover analog of the existing `selected` / `onSelect`
|
|
85
|
+
pair, keyed by the same `SelectInfo`. Pin a lit `<BarChart>` bar from a legend
|
|
86
|
+
or list row (`hovered`), or mirror a bar-originated hover out-of-band
|
|
87
|
+
(`onHover`); omit both for today's uncontrolled behavior. (#343)
|
|
88
|
+
|
|
40
89
|
### Fixed
|
|
41
90
|
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
mark's `onSelectAnnotation`. The plot now **defers** its pan pointer-capture
|
|
49
|
-
until the pointer actually moves past the drag slop, so a click (no drag) leaves
|
|
50
|
-
the pointer on the mark and its select fires, while a press-drag still pans
|
|
51
|
-
through and the tracker still hides once the pan commits. Resolves the
|
|
52
|
-
browser-dependent finding deferred from #308; adds
|
|
53
|
-
`e2e/annotations-panzoom.spec.ts`, the first real-pointer-event behavior e2e for
|
|
54
|
-
the annotation layer. (#309)
|
|
91
|
+
- `@pond-ts/charts`: **axis and layer registration are value-equality-guarded** —
|
|
92
|
+
a fresh-but-value-equal `ticks` / `format` / `byValue()`-projected `series`
|
|
93
|
+
reference no longer re-registers the axis/layer, fixing a "Maximum update depth
|
|
94
|
+
exceeded" loop on frequently re-rendering (scrub-driven) charts. The layer and
|
|
95
|
+
axis docs gain a memoize note for `format` / `series` (an inline `format`
|
|
96
|
+
closure still must be hoisted — a closure can't be value-compared). (#342)
|
|
55
97
|
|
|
56
98
|
## [0.39.0] — 2026-07-03
|
|
57
99
|
|
|
@@ -89,6 +131,19 @@ carry no code changes — republished in lock-step (peer ranges widen to `^0.39.
|
|
|
89
131
|
|
|
90
132
|
- `@pond-ts/charts`: the crosshair x-axis pill and marker pills read the axis's
|
|
91
133
|
own formatter (a value-axis / off-boundary time no longer shows a raw number).
|
|
134
|
+
- **Charts — click-to-select an annotation now works while `panZoom` is on.** A
|
|
135
|
+
_selectable but non-editable_ `<Region>` / `<Marker>` (one with no `onChange`)
|
|
136
|
+
lets its press bubble to the plot so a drag can pan _through_ it. The plot
|
|
137
|
+
captured the pointer on press to start the pan, and the browser then retargeted
|
|
138
|
+
the resulting `click` onto the plot (Pointer Events spec: a captured pointer's
|
|
139
|
+
compatibility mouse events fire on the capture target) — silently dropping the
|
|
140
|
+
mark's `onSelectAnnotation`. The plot now **defers** its pan pointer-capture
|
|
141
|
+
until the pointer actually moves past the drag slop, so a click (no drag) leaves
|
|
142
|
+
the pointer on the mark and its select fires, while a press-drag still pans
|
|
143
|
+
through and the tracker still hides once the pan commits. Resolves the
|
|
144
|
+
browser-dependent finding deferred from #308; adds
|
|
145
|
+
`e2e/annotations-panzoom.spec.ts`, the first real-pointer-event behavior e2e for
|
|
146
|
+
the annotation layer. (#309)
|
|
92
147
|
|
|
93
148
|
## [0.38.0] — 2026-07-03
|
|
94
149
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pond-ts/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "React hooks for pond-ts live time series",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test:runtime": "vitest run"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"pond-ts": "^0.
|
|
36
|
+
"pond-ts": "^0.41.0",
|
|
37
37
|
"react": "^18.0.0 || ^19.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|