Breaking changes New API which supports React Suspense and Concurrent rendering. See the README for the new render prop based API. Please not that you now have to manually pass refs to your components.
This change also comes with a deprecation of older versions of React. If you want to use 2+ you must be on React 16.3+. For older versions please stick to version 1 of react-tether or see the 1.x branch.
A big thanks to @CorinChappy for all their work on this!
- Fixed passing of event arguments to onUpdate and onRepositioned. Thanks @minznerjosh
- Improved TypeScript definition. Thanks @minznerjosh
- Added some missing props in the TypeScript definition. Thanks to @flacerdk
- Some rendering optimisations (#189). Thanks to @eaglus
- Add
className
to the TypeScript definition for the TetherComponent. Thanks @ryprice
- Use
React.createPortal
🎉 Big thanks to @doronbrikman for their work on this. In versions wherecreatePortal
isn't available we still fall back to the old method. - Default export has changed: You can now use the default export in ES Modules and TypeScript, but in CommonJS environments you'll have to use
require('react-tether').default
. See the examples. - TypeScript definition file built in
- Upgrade to Webpack 4 for the UMD distribution. Smaller bundle sizes!
- Internal: New unit and E2E tests with code coverage, a new demo page, linting and prettier applied to the source, publishing less files to npm.
- 😿 Dropped bower support. Recommended upgrade path is either npm or unpkg
- Upgrade tether to 1.4.3 #63
- Update compatibility for React 16 #57
- Update repo to point at danreeves/react-tether
Update the target node when updating the component PR #48
Compatibility React 15.5.0 PR #49
Properly call onUpdate
and onRepositioned
PR #40
Only render subtree if destroy
method was not called yet PR #41
Use babel-plugin-add-module-exports
for dist
files
Add .npmignore
PR #39
Expose Tether event system as imperative and props API PR #30
Update tether version to 1.3.7 PR #32
Attachment positions PR #33
Better renderElementTo
PR #19
Use Children.toArray
instead of Children.forEach
to get individual children
Fixed Tether element props not being re-rendered on change
Added the ability to apply an id
, className
, or style
to the wrapper Tether element.
Fixes:
renderElementTo
now uses document.querySelector
Add dependency warning for people using old school script tags
Fix ASI issue with document.body PR #12
Fixes:
Fix tethered element not being positioned correctly
All Tether options are now props
renderElementTag
prop to specify which DOM tag to use to render the second child to
renderElementTo
prop to specify where in the DOM the element should be appended to
Added position
public method from Tether
removed shallowCompare
Bower exposed lib name renamed to TetherComponent
from TetherElement
New API accepts a max of two children. First child is used as the target and second child is used as the element that is being tethered.