Skip to content

Release v4.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 19:02
9f655d0

Applications that need grouping separators or decimal formatting currently have to reach outside this library for a single control, because NumberField renders a bare native number input. This adds that capability with React Aria, which is already a dependency, so no new dependency is introduced.

NumberInput is a plain component rather than a renderer slot: the ABI v1 slot table is a published fourteen-slot surface that third-party renderers implement, and it does not grow for an additive component. NumberField is untouched, so existing consumers keep their current behavior.

It also carries the TimeMachine keyboard-accessibility fix, because the axe gate that failure trips is currently red on main and every build inherits it. Those regions use role="group" rather than role="region": a version list renders many windows, and landmark roles carrying the same accessible name on every face fail landmark-unique while fixing scrollable-region-focusable.

Added

  • NumberInput — a locale-aware numeric input with grouping separators, configurable fraction digits, min/max clamping, keyboard stepping and accessible spinbutton semantics (#175)
  • NumberInputField — the CommandForm adapter binding NumberInput to a numeric command property (#175)
  • Inline prefix and suffix decorations that sit beside the value and are never folded into it, so a unit label stays distinct from the number itself (#175)
  • null as a first-class empty value, kept distinct from 0 across the public boundary (#175)
  • eventTimelineRegion, readModelSnapshotRegion and relatedEventsRegion labels on TimeMachineLabels (#268)

Fixed

  • TimeMachine's event timeline and both version-window faces are reachable by keyboard and announce what they are (#268)
  • The related-events window title resolves through TimeMachineLabels instead of being hardcoded English, so localized labels reach it (#268)