-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
breaking(Dropdown): remove hidden select #1730
Conversation
f32938f
to
78b522c
Compare
Codecov Report
@@ Coverage Diff @@
## master #1730 +/- ##
==========================================
- Coverage 99.75% 99.75% -0.01%
==========================================
Files 142 142
Lines 2468 2460 -8
==========================================
- Hits 2462 2454 -8
Misses 6 6
Continue to review full report at Codecov.
|
it('should label selection dropdown with aria-hidden=true', () => { | ||
wrapperMount(<Dropdown selection />) | ||
wrapper.find('select').at(0).should.have.prop('aria-hidden', 'true') | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@levithomason I removed this failing test, now they're passing.
* docs(Button): remove redundant prop in Vertical Group example (Semantic-Org#1699) * feat(typescript): Export generics types (Semantic-Org#1698) * docs(Dropdown): fix world icon in search example (Semantic-Org#1695) * Fix MenuExampleText * add world icon to Dropdown example * rename 'languageOptions' to 'languages' * rename languages to languageOptions and separate line into two * separate line of code in two * separate props in different lines * remove trailing spaces * docs(Introduction): fix declarative example (Semantic-Org#1704) * feat(Item): add unstackable prop to ItemGroup (Semantic-Org#1706) * feat(Item): add unstackable prop to ItemGroup * docs(Item): add example for unstackable * chore(package): commit package-lock.json * 0.68.4 * docs(changelog): update changelog [ci skip] * docs(Icon): fix selector for input (Semantic-Org#1714) * chore(package): update require-dir to version 0.3.2 (Semantic-Org#1721) https://greenkeeper.io/ * docs(ItemExampleFloated): your description (Semantic-Org#1719) Fixes error in docs. "AS" is not being recognized. * chore(package): update react-ace to version 5.0.1 (Semantic-Org#1712) https://greenkeeper.io/ * fix(Dropdown): add addition item key (Semantic-Org#1727) * fix(factories): handle falsy `key` values (Semantic-Org#1729) * fix(Dropdown): fix key handling * fix(Dropdown): fix key handling * fix(factories): handle falsy keys * chore(package): update package-lock.json * chore(package): update chai-enzyme to 0.7.1 (Semantic-Org#1731) * feat(typings): expose FormComponent in typings (Semantic-Org#1680) * Exposed form component in typings to support custom controls in packages. * Update index.d.ts * Update index.d.ts * chore(package): update package-lock.json * 0.68.5 * docs(changelog): update changelog [ci skip] * fix(Input): add missing minLength prop (Semantic-Org#1734) * docs(TableExampleSortable): pass in null when that column shouldn't be sorted (Semantic-Org#1737) * feat(TextArea): add minHeight property, docs example (Semantic-Org#1679) * add minHeight property, example to docs * add rows prop/adjust minHeight prop usage * mixed(TextArea): update docs, tests, props and typings * fix(Textarea): move back minHeight prop to style * fix(htmlInputProps): fix handle on falsy values (Semantic-Org#1746) * fix(Search): Allow default action if there is no selected result (Semantic-Org#1742) * docs(images): add missing images, update urls (Semantic-Org#1763) * fix(Accordion): typings inverted to boolean (Semantic-Org#1758) Tiny fix for typings, inverted type incorrectly set to string. * feat(Icon): add ability use the loading prop without an icon (Semantic-Org#1768) * feat(Button): add focus method (Semantic-Org#1764) * fix(Dropdown): change active item on keyboard up/down (Semantic-Org#1735) * fix(Dropdown): change active item on keyboard up/down * fix(Dropdown): change active item on keyboard up/down * refactor(Dropdown): simplify move constant * refactor(Dropdown): remove hidden select (Semantic-Org#1730) breaking(Dropdown): remove hidden select * fix(Checkbox|Input): fix handling of aria-attributes (Semantic-Org#1752) * fix(Checkbox|Input): fix handling of aria-attributes * feat(htmlInputProps): update handling of aria
Released in |
BREAKING
The hidden
select
element has been removed from the rendered Dropdown component. A React application should never read nor write to the DOM, so you'll likely never know this was removed.This was a unadvertised and nonsupported API, but we're marking it as a breaking change in case users were relying on it. If you relied on it to "get the value" of a Dropdown, you should instead capture the value from the
data
argument in theonChange(e, data)
handler and persist it for later access. See the docs.You can persist data in component state somewhere higher in the render tree. You might also consider using something like redux.js.org as an app state solution.
Falsy factory keys were fixed in #1729, including the Dropdown's handling of keys on the hidden
option
elements. That fix will go out to 0.68.x to fix that release for users.This PR removes the hidden
select
altogether. It is an artifact from long ago. It will be released in0.69.x
as breaking as there may be some users reading the values from the DOM, unfortunately.