v2.0.0-beta.0
Pre-release
Pre-release
A beta for v2!
Rewrite to use modern React class syntax and Context API thus removing use of deprecated React APIs and legacy browser support. Compatible with v1, but your code may break if it has relied on undocumented edge cases or internal behavior.
Added
useTabbordion
hook as an alternate option for creating your own componentsTabbordion.resetSSR()
for server side render support when not using external unique ID generator<Tabbordion />
,<TabPanel />
,<TabLabel />
,<TabContent />
:forwardedRef
can be used to get reference to the actual DOM element<Tabbordion />
:onChange
now receives future panels (only a suggestion if in controlled state)updatePanelsByToggle()
is exposed
Changed
<Tabbordion />
:onChange
is no longer required for controlled state<Tabbordion />
:onChange
will now trigger in uncontrolled state<TabLabel />
:onClick
prop will now do the default behavior, useevent.preventDefault()
to prevent itbemClassName()
now ignores blockElements and modifiers that are not strings- Components no longer need to be direct children of their parent component
null
andundefined
are no longer considered equal in state equality checks- Use Microbundle for bundling (had custom Webpack setup)
- Use RITEway for tests (had react-test-renderer, Mocha, Sinon, Enzyme, Chai)
- Use Sucrase for faster tests/development (had Babel)
- Use
[fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal)
over custom implementation - Use ResizeObserver over unnecessarily backwards compatible legacy DOM tricks
Fixed
component
props use PropTypes.elementType as they should<TabPanel />
: prefer given prop fordisabled
andvisible
over state from context<TabLabel />
: has now ID and<TabPanel />
refers to it viaaria-labelledby
instead of the input element