This repository has been archived by the owner on Dec 2, 2021. It is now read-only.
Releases: IjzerenHein/react-native-magic-move
Releases Β· IjzerenHein/react-native-magic-move
v0.6.6
v0.6.5
Fixed
- Fixed exception on Android "parameter must be a descendant of this view"
Update
- Update "Native" example app to use the
react-navigation
API
v0.6.3
Added
- Added
podspec
file for when using the new Cocoapods package system - Added link to ReactEurope talk
v0.6.2
Added
- Added
onWillAppear
andonWillDisappear
Scene life-cycle events - Added missing docs for
imageSizeHint
anduseNativeClone
props
Fixed
- Fixed clone snapshot not always correctly visible on iOS, using the native extensions
- Fixed scene not visible when no explicit style was provided to the Scene component
- Reduced glitch where target image is briefly visible on iOS (when using native extensions and βmoveβ transition)
- Improved debug-logging for the target component and native clones
v0.6.1
- Fixed build warning on Android "Configuration 'compile' is obsolete"
v0.6.0
Added
- Added
zIndex
prop for setting the render-order when multiple animations are executed - Added
useNativeClone
prop for explicitly disabling/enabling the use of native-clones
Fixed
- Fixed Android build on certain RN/SDK combinations due to hardcoded Android version numbers (thanks @stpch)
- Fixed
duration
,delay
andeasing
props, which were used from the source component, but they should have been used from the target component - Fixed animations wrongly coming from the bottom when using the react-navigation Tabs
Changes
- [BREAKING CHANGE] Changed
createMagicMoveComponent
signature to allow pass-through of props (NOW:createMagicMoveComponent(Component, props)
, see README)
v0.5.1
Fixed
- Fixed
BlurEffectWithAmount
linker collision on iOS/Xcode whenreact-native-blur
is also installed
Native optimisations & seamless image transitions ππ
This is a big release of RNMM, not specifically in terms of features, but in terms of a new clone based architecture enabling native extensions and putting down the groundwork for future features. The native extensions are optional, but are recommended in order to provide a flicker-free experience on both iOS and Android. A new default transition called move
has been introduced which animates images seamlessly (taking into account the resizeMode
and image clipping) without and stretching or tearing.
Added
- Added new smart
move
transition, for seamless transitions when source and target are the same, but are sized differently or use different border radii - Added ability to render multiple clones efficiently and clip and transform their contents
- Added native optimisations for iOS and Android to address flickering issues when animating (to install use
react-native link react-native-magic-move
) - Added
debug
prop forProvider
andScene
, which also propagates into the rendering hierarchy - Upgraded to a new
clone
based architecture to enable native optimisations - Upgraded the
morph
transition to always use the native driver
Fixed
- Fixed layout position when view was inside scrollview and the scrollview offset wasn't zero
- Fixed animations overlapping the scene bounds
- Fixed image flickering through new native optimisations
- Fixed
backfaceVisibility
prop warnings in theflip
transition
Changes
- The
move
transition is now the default transition. Usemorph
if the content is distinctly different. - [BREAKING CHANGE] Custom transition functions are now required to return an array, and can no longer return a single clone or
React.Fragment
. - Removed behaviour that selected the transition of the source when no transition was defined on the target (this proved to be counter productive)
Deprecated
- The
scale
transition has been deprecated and will be removed in the near future. Use the newmove
transition instead.
react-navigation support π
Added
- Added support for integration with 3rd party navigation libraries such as
react-navigation
(seereact-navigation-magic-move
on how to enable it) - Added
disabled
prop for disabling transitions on scenes and components - Added Context API for checking whether content is rendered inside a cloned component
- Added compatibility with
react-native-web
Fixed
- Reduced transition glitches when animating a component that is on a scene that slides away
- Fixed older animation re-shown when starting an animation while the previous hadn't finished
- Fixed
shrinkAndGrow
transition not disappearing entirely - Fixed
squashAndStretch
transition when animating from top-left to right-bottom - Fixed end opacity not always correct on
dissolve
transition - Fixed border-radius on
morph
transition to better look like the source shape
v0.3.0
Added
- Added official transition API
- Added transitions:
morph, scale, flip, flip.x, flip.y, flip.xy, dissolve, shrinkAndGrow, squashAndStretch
- Added 'debug' option to demo to show the animations slowed down and with debug-view information
Fixed
- Fixed the opacity when set to any other value than 1
- Fixed layout issue when rendering nested MagicMove views
Changed
useNativeDriver
is now automatically enabled so you don't need to specify it explicitely. A warning is shown when animating props that cannot be handled my the native driver.- Improved appearence when using the
debug
option
Removed
- The experimental flip transition API has been removed in favour of the new official API.