Skip to content

v0.17.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@chaance chaance released this 20 Apr 05:34

💔 Breaking Changes

  • disclosure
    • In uncontrolled disclosures, previously we would render the disclosure as open on the first render, regardless of the defaultOpen prop's value. This was done as a progressive enhancement to ensure content was visible to users without JavaScript, but in most cases it just meant that the user might see a flash before the state would change, causing unwanted layout shift.
    • We simplified this by simply respecting the defaultOpen prop's value on the initial render. If you want the old behavior, control the state of your disclosures and ensure that the initial open state is always set to true, then set the desired state for the following render in useEffect.
  • tabs
    • Removed the isSelected from from the Tab component. This prop was useful before we had hooks, but we can now get the selected tab from context without using render props. (2dd0aec)

🐛 Bugfixes

  • auto-id
    • Use the user-provided ID beyond the first render for deterministic behavior (b2f3bc0)
  • tabs
    • Stop managing focus on mouse clicks to fix :focus-visible
  • listbox
    • Update submit button querySelector specificity to fix incorrect button clicks (#903)
  • menu-button, combobox, listbox
    • Skip rendering of portaled popovers before hydration. This prevents unwanted layout shift when the server-rendered popover mounts to a temporary DOM node (a8f38a4).

🤜🤛 8 Committers