Skip to content

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 17:43
· 22 commits to main since this release
v3.1.0
0c3e06e

Upgrading from 3.0

Nothing breaks. One prop is deprecated:

  • hideDetails is deprecated in favour of details="hidden" and is removed in 4.0. It still works and wins when both are set. Every form control takes details: 'reserve' | 'auto' | 'hidden' (default reserve). auto takes no space until there is a hint or message.
  • Set it for a whole section with <RuiFieldDefaults details="auto">, or for the app with createRui({ defaults: { field: { details: 'auto' } } }). A control's own prop wins, then the nearest scope, then the app default.
  • Nested RuiFieldDefaults now fall through per setting: an inner scope that leaves label-placement unset takes the outer scope's value instead of skipping to the app default.

Visual changes to expect:

  • The details line under every form control is 20px (was 28px on text fields, text areas, switches, sliders and the category picker, 24px on checkboxes and radios).
  • Long errors are clamped to two lines, with the full text in title.
  • Grey text buttons keep their secondary text colour in dark mode.
  • Accordion and tab panels no longer clip their content once they finish animating, so sticky content inside them works. Content that relied on the permanent clip to stay inside a panel needs its own overflow-hidden.

New opt-ins that replace common overrides:

  • RuiButton variant="link" for actions in running text, and collapse-below="sm" | … | "2xl" for icon-only buttons on narrow screens.
  • RuiChip size="xs" for counts.
  • RuiCard tight-header-gap for a 16px gap under the header.
  • RuiDataTable's tfoot slot styles total rows like body rows.
  • details-under-label on RuiSwitch, RuiCheckbox and RuiRadio.

In development builds, RuiDataTable now warns once when an overflow: hidden ancestor keeps its pagination bar from sticking.

   🚀 Features

  • buttons:
    • Add a link variant for actions in running text  -  by @kelsos (9cb5b)
    • Add collapseBelow for responsive icon-only buttons  -  by @kelsos (e33bf)
  • cards:
    • Add tightHeaderGap to drop the content's top padding  -  by @kelsos (a37d5)
  • chips:
  • forms:
    • Add a details prop and tighten the details line to 20px  -  by @kelsos (69342)
    • Set details through RuiFieldDefaults  -  by @kelsos (75fed)
    • Clamp long errors to two lines  -  by @kelsos (e956b)
    • Put switch, checkbox and radio messages under the label  -  by @kelsos (20a09)
  • tables:
    • Style tfoot rows like the body rows  -  by @kelsos (dc2f6)
    • Warn in development when a hidden overflow blocks the sticky bar  -  by @kelsos (63077)

   🐞 Bug Fixes

  • Keep four components a single root in development  -  by @kelsos (99081)
  • accordions: Clip accordion and tab panels only while they resize  -  by @kelsos (5e849)
  • buttons: Keep grey text buttons secondary in dark mode  -  by @kelsos (ebe63)
  • forms: Keep the details line a single root element  -  by @kelsos (02ff9)
    View changes on GitHub