reach/reach-ui
### [`v0.17.0`](https://togithub.com/reach/reach-ui/releases/tag/v0.17.0)
[Compare Source](https://togithub.com/reach/reach-ui/compare/v0.16.0...v0.17.0)
#### π 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`](https://togithub.com/reach/reach-ui/commit/2dd0aec73c4cc2a9a1936cb6c3e43933b2d2765f))
#### π Bugfixes
- `auto-id`
- Use the user-provided ID beyond the first render for deterministic behavior ([`b2f3bc0`](https://togithub.com/reach/reach-ui/commit/b2f3bc010091a0bc7a99985657137101a58036ef))
- `tabs`
- Stop managing focus on mouse clicks to fix `:focus-visible`
- `listbox`
- Update submit button `querySelector` specificity to fix incorrect button clicks ([#903](https://togithub.com/reach/reach-ui/issues/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`](https://togithub.com/reach/reach-ui/commit/a8f38a497c0481156a4da1fecef955f398101327)).
##### π€π€ 8 Committers
- Ashlee M Boyer ([@ashleemboyer](https://togithub.com/ashleemboyer))
- Jeff Grannes ([@jeffgrannes](https://togithub.com/jeffgrannes))
- Jonathan ([@jhogervorst](https://togithub.com/jhogervorst))
- Kendall Strautman ([@kendallstrautman](https://togithub.com/kendallstrautman))
- Kent C. Dodds ([@kentcdodds](https://togithub.com/kentcdodds))
- Vlad Yanchevsky ([@chevsky](https://togithub.com/chevsky))
- Zach Gotsch ([@zgotsch](https://togithub.com/zgotsch))
- [@rainmodred](https://togithub.com/rainmodred)
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.16.0
->0.17.0
Release Notes
reach/reach-ui
### [`v0.17.0`](https://togithub.com/reach/reach-ui/releases/tag/v0.17.0) [Compare Source](https://togithub.com/reach/reach-ui/compare/v0.16.0...v0.17.0) #### π 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`](https://togithub.com/reach/reach-ui/commit/2dd0aec73c4cc2a9a1936cb6c3e43933b2d2765f)) #### π Bugfixes - `auto-id` - Use the user-provided ID beyond the first render for deterministic behavior ([`b2f3bc0`](https://togithub.com/reach/reach-ui/commit/b2f3bc010091a0bc7a99985657137101a58036ef)) - `tabs` - Stop managing focus on mouse clicks to fix `:focus-visible` - `listbox` - Update submit button `querySelector` specificity to fix incorrect button clicks ([#903](https://togithub.com/reach/reach-ui/issues/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`](https://togithub.com/reach/reach-ui/commit/a8f38a497c0481156a4da1fecef955f398101327)). ##### π€π€ 8 Committers - Ashlee M Boyer ([@ashleemboyer](https://togithub.com/ashleemboyer)) - Jeff Grannes ([@jeffgrannes](https://togithub.com/jeffgrannes)) - Jonathan ([@jhogervorst](https://togithub.com/jhogervorst)) - Kendall Strautman ([@kendallstrautman](https://togithub.com/kendallstrautman)) - Kent C. Dodds ([@kentcdodds](https://togithub.com/kentcdodds)) - Vlad Yanchevsky ([@chevsky](https://togithub.com/chevsky)) - Zach Gotsch ([@zgotsch](https://togithub.com/zgotsch)) - [@rainmodred](https://togithub.com/rainmodred)Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.