@umriss-ui/charts 0.14.0 → 0.15.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 CHANGED
@@ -29,6 +29,53 @@ interface was still expected to move before `0.3.0`.
29
29
 
30
30
  ---
31
31
 
32
+ ## 0.15.0 – A chosen hit, a histogram, and zoom keys without a tooltip (Oct. 2026)
33
+
34
+ ### Changed
35
+
36
+ - **A chart with a zoomable x axis is one tab stop even without a
37
+ `<Tooltip>`** (ADR-0030). Its plot is `role="application"` with the role
38
+ description "chart" and takes the focus, so `+`, `-`, Shift+←/→ and `0`
39
+ reach a keyboard. There is no Active point to walk: the arrows without Shift
40
+ do nothing. After a zoom or pan key the polite live region reads the span in
41
+ view ("From 10 to 90."); the summary names the zoom keys and not the walk's.
42
+ A chart with a tooltip, and one with neither, are unchanged.
43
+ - **The summary names the labelled limits.** A chart with a `LimitLine` or
44
+ `LimitBand` that has a `label` adds "Limits: Objective 300 ms, Warning band
45
+ 250 ms – 300 ms." to the text the plot is described by - each value in its own
46
+ axis' format, a band's two edges as one value. A limit without a label is left
47
+ out; a chart without labelled limits reads as before. The wording has a new
48
+ entry, `limitList`, so a custom `ChartsWording` needs it.
49
+
50
+ ### Added
51
+
52
+ - **`bin()`**, the arithmetic behind a histogram: `bin(values, { width, count,
53
+ domain })`, or `bin(rows, value, options)`, returns rows with `from`, `to`,
54
+ the middle `x` and `count` for a `Bar` on a numeric x axis. The edges are on
55
+ the 1-2-5 grid of the ticks; a value on an edge falls into the bin that edge
56
+ starts, the last bin is closed, and what is not a finite number is skipped.
57
+ A given `domain` is taken as it is, and values outside it are left out.
58
+ Exports `Bin` and `BinOptions`. One example, "Count readings into a
59
+ histogram", on the Bar page.
60
+ - **`<Tooltip limits />`**, off by default: the built-in tooltip adds one row
61
+ per labelled limit of the hit's y axis, its label and value in that axis'
62
+ format, and what a key reads out says the same. One example on the Tooltip
63
+ page.
64
+ - **`onSelect`**, an option of `useChart(rows, { onSelect })`: a click or a tap
65
+ on a hit, and Enter on the Active point, call it with the hit - the
66
+ `TooltipHit` a custom tooltip's `render` receives, typed at the row. Once per
67
+ click; the end of a drag that pans does not report, a double click reports on
68
+ its first click and then resets the zoom as before. The chart holds no
69
+ selection and draws none: what is chosen is the application's state. It
70
+ needs a `<Tooltip>` for its hits (the development build warns without) and
71
+ the hit does not travel over `syncId`. Where it is given, the summary names
72
+ Enter; the wording has a new entry, `selectHelp`, so a custom
73
+ `ChartsWording` needs it. `ChartOptions` takes the row type as a parameter
74
+ (`ChartOptions<Z>`, default `unknown`). One example, "Choose a hit", on the
75
+ Tooltip page.
76
+
77
+ ---
78
+
32
79
  ## 0.14.0 – A chart reads its rows as they come (Oct. 2026)
33
80
 
34
81
  A chart takes rows as an application has them (ADR-0052). A category is a
package/README.md CHANGED
@@ -66,8 +66,11 @@ the chart takes it away; a finger swiping over the chart scrolls the page.
66
66
 
67
67
  **By keyboard and screen reader**, a chart with a `<Tooltip>` is one tab stop:
68
68
  the arrows walk its values, ↑/↓ choose the series read first, and a screen
69
- reader hears each value once the keys rest and a summary of the whole. The
70
- words are English; German comes from its own subpath:
69
+ reader hears each value once the keys rest and a summary of the whole. A chart
70
+ with a zoomable x axis is one as well, without a tooltip: there is nothing to
71
+ walk, and plus, minus, Shift with an arrow and 0 zoom and pan it. `onSelect` on
72
+ `useChart` hears a click on a hit and Enter on the walked one; the chart keeps
73
+ no selection. The words are English; German comes from its own subpath:
71
74
 
72
75
  ```tsx
73
76
  import { GERMAN_CHARTS_WORDING } from "@umriss-ui/charts/wording/de";
@@ -114,8 +117,9 @@ loaded: Geist when the application has it, the system fonts otherwise.
114
117
  and dims a course already drawn, and where there is nothing yet a
115
118
  silhouette of the chart to come shimmers in the plot (ADR-0042).
116
119
  * **The instruments**: `LimitLine` and `LimitBand`, `ControlChart` with its four
117
- rule violations, `pareto()` with a collected remainder, and a working-time
118
- axis that takes the empty hours out and marks every removed span.
120
+ rule violations, `pareto()` with a collected remainder, `bin()` for a
121
+ histogram, and a working-time axis that takes the empty hours out and marks
122
+ every removed span. `<Tooltip limits />` reads the labelled limits at a hit.
119
123
  * **The pure modules are exported**, not hidden: `assess`, `controlLimits`,
120
124
  `zones`, `violations`, `pareto`, `workingCalendar` and the rest. Whoever
121
125
  wants to draw something other than the composition offers should reach the