The Accessible Foundation for React Apps and Design Systems
MIT License
Bot releases are hidden (Show)
Changes for individual packages can now be found in the CHANGELOG.md
file in the root of the affected package. GitHub releases will be used to document changes affecting all or several packages in the repo.
reach-<pkg>.mjs
instead of reach-<pkg>.esm.js
.We have simplified our build setup to remove a boatload of dependencies. Build output for all packages may look slightly different, though functionally packages that don't have explicit changes marked in the release notes have not changed.
This may affect you if you use patch-package
to modify output code. If you need support for legacy browsers, the new bundle may not transpile the same ECMA features as before. In that case you may want to transpile Reach packages directly.
We no longer check that our internal styles are included by looking for a defined CSS custom property. You can still include our base styles as before, but this removes the need to define --reach-<pkg>
in your own stylesheets to silence dev warnings.
Published by chaance over 2 years ago
disclosure
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.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
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. (2dd0aec73c4cc2a9a1936cb6c3e43933b2d2765f)auto-id
tabs
:focus-visible
listbox
querySelector
specificity to fix incorrect button clicks (#903)menu-button
, combobox
, listbox
Published by chaance almost 3 years ago
In @reach/combobox
, we added a data-expanded
attribute to the parent wrapper and popover for simpler styling based on the expanded state of the input.
Published by chaance almost 3 years ago
This release fixes a bug in Combobox where the selection in a controlled combobox input would trigger a flash with the stale value. We should always defer to the user's value when the input is controlled (Thanks @arackaf!) -- #865
Published by chaance almost 3 years ago
This release reverts a change in Combobox
that, while addressing the issue in #755, was not tested thoroughly enough and caused a regression where in some cases the popover doesn't open until the user presses the down or up key after initial input. If you updated to v0.16.3 specifically as a workaround to this issue, I apologize! A new fix is in progress for the next release, and I'm working to ensure it's a bit more battle tested this time around.
Published by chaance almost 3 years ago
combobox
portal
disclosure
Disclosure
accessible when Javascript is disabled (@schwartzadev)Published by chaance about 3 years ago
This patch release fixes a bug when passing stable index values to descendant item components.
Published by chaance about 3 years ago
BREAKING: This release fixes a rendering bug in the descendants
, but the bug in some cases may have coincidentally allowed descendants to be re-indexed in dynamically sorted lists. While this is probably a nice feature, it didn't work consistently and created problems with nested collections.
We do not directly support dynamic sorting of lists, so if you relied on this "feature" you'll need to provide indices to the descendant item directly via props. If you're rendering dynamic lists you are probably iterating an array anyway, so you shouldn't have any issues.
This applies to all collection-based compound components:
menu-button
menu-button
dialog
rect
observe
is truePublished by chaance over 3 years ago
utils
as={Link}
on MenuLink
(via utils/polymorphic
) (@IanVS)menu-button
listbox
dialog
combobox
openOnFocus
is true then also open when the input is clicked. (@ProggerPete)accordion
, disclosure
tabIndex
from accordion and disclosure panels (@joshuajaco)menu-button
listbox
ListboxList
when it's styled to overlap ListboxButton
(@loque)dialog
react-focus-lock
and react-remove-scroll
dependenciescombobox
openOnFocus
is true then also open when the input is clicked (@ProggerPete)accordion
, disclosure
tabIndex
from accordion and disclosure panels (@joshuajaco)Published by chaance over 3 years ago
checkbox
menu-button
div
around MenuLink
to fix an ARIA violation (#751). NOTE: This is potentially a breaking change if you rely on the outer div or the nested DOM structure for your styling selectors, though that shouldn't be necessary. If this is a problem you can simply add your own div
wrapper around your MenuLink
abstraction, though updating your CSS selector is probably a better solution.accordion
data-state
selector to AccordionButton
combobox
Published by chaance over 3 years ago
persistSelection
issues when used with openOnFocus
(#455)forwardRefWithAs
utility and created new types associated with components that us the as
prop. This is a breaking change if you are using the component types directly, but this change was long overdue and should address some new issues that popped up in #753. Big thanks to @jjenzz and the Radix UI project for making our lives easier here!Published by chaance over 3 years ago
listbox
[data-current]
for the selected listbox option, that selector has been removed in favor of [data-current-selected]
. The reason is because we also added [data-current-nav]
for the highlighted option when navigating the list, so this seemed more clear to distinguish between the two. We also removed the default styles for options that match [aria-selected="trueβ]
because this is an implementation detail that will likely change in an upcoming patch release to address accessibility issues.tooltip
sideEffects: false
to all packages to enable tree shaking (@hipstersmoothie)auto-id
Published by chaance over 3 years ago
menu-button
Published by chaance over 3 years ago
Published by chaance over 3 years ago
accordion
openPanels
in useAccordionContext
(@grandalf6)tooltip
combobox
openOnFocus
example to work even with empty input (@indiesquidge)utils
Published by chaance almost 4 years ago
menu-button
slider
popover
descendants
utils
as
propslider
SliderTrackHighlight
to SliderRange
; alias old name for non-breaking change, but with a dev warningas
prop support for several components