@umriss-ui/charts 0.44.0 → 0.45.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
@@ -30,6 +30,18 @@ interface was still expected to move before `0.3.0`.
30
30
 
31
31
  ---
32
32
 
33
+ ## 0.45.0 – A chart in a named time zone (Oct. 2026)
34
+
35
+ ### Added
36
+
37
+ - **`timeZone` on `Chart`** draws every time axis, a calendar axis included, in an IANA zone (ADR-0076): ticks stand on that zone's hours and midnights, and the labels, tooltip, readout, data table and summary write its time. Where the reader's zone is another, the axis title names it. An application on core passes `useFormats().timeZone`.
38
+ - **`localOffset(instant, timeZone?)` and `workingTimeTicks(…, offset, timeZone?)`** take the zone as an optional last argument; no existing call changes meaning. **`inDoubledHour(instant, timeZone?)`** says whether an instant lies in the hour a clock change doubles.
39
+
40
+ ### Changed
41
+
42
+ - **The hour a clock change doubles is ticked twice** on a time axis, each label, tooltip and readout carrying its offset (`01:00 GMT+2`, `01:00 GMT+1`), and ticks below a day stand on the zone's whole multiples in real time.
43
+ - Migration: none needed; only an axis across the autumn change shows the second tick.
44
+
33
45
  ## 0.44.0 – A range a reader marks, and a picture of the chart (Oct. 2026)
34
46
 
35
47
  ### Added
package/README.md CHANGED
@@ -185,6 +185,32 @@ and across all five packages in
185
185
  them: bars and areas stack (`stack`, `normalize`). Horizontal bars are the
186
186
  next kind to come (ADR-0059).
187
187
 
188
+ ## Time zone
189
+
190
+ `<Chart timeZone="Europe/Berlin">` draws every time axis of the chart, a
191
+ working-time axis included, in that IANA zone for a reader anywhere; without
192
+ it the reader's zone holds, as before. An unknown name throws Intl's
193
+ `RangeError`. The chart needs no other package for it, so a charts-only app can
194
+ show a trend in UTC with `timeZone="UTC"`.
195
+
196
+ * **The texts** - tick labels, tooltip, readout, data table and summary - are
197
+ written with Intl's `timeZone` in the wording's `locale`.
198
+ * **The label**: where the reader's zone, canonicalised through Intl, is
199
+ another, the zone's generic name stands after the time axis's own title (or
200
+ alone, where it has none), once the page has mounted. The picture paints it
201
+ with the title.
202
+ * **The tick rule**, for a named zone and the reader's alike: steps of a day or
203
+ longer stand on the zone's midnights, months and years; steps below a day on
204
+ the zone's whole multiples in real time, so a two-hour grid stays on even
205
+ hours after a clock change. The hour a change removes has no tick; the hour
206
+ it doubles is ticked twice, and each label, the tooltip and the readout carry
207
+ the offset (`01:00 GMT-4`, `01:00 GMT-5`).
208
+ * `localOffset(instant, timeZone?)` and `workingTimeTicks(…, offset, timeZone?)`
209
+ take the zone as an optional last argument.
210
+
211
+ An application on `@umriss-ui/core` names the zone once in its formats and
212
+ passes `useFormats().timeZone` to the chart; see core's README on formats.
213
+
188
214
  ## More
189
215
 
190
216
  * The demo, in a checkout: `pnpm dev:charts` (port 4174). It is the documentation — every page