This commit introduces an option to control the way components are pushed into the stack.
When pushing components into a stack, they are pushed the moment they are measured.
If `waitForRender` is true, components will be pushed only after the initial render.
api:
```js
options: {
animations: {
push: {
waitForRender: true
},
showModal: {
waitForRender: true
}
}
}
```
Unmount react views when bundle load completes (#3487)
Unmount react views when bundle load completes
Users providing their own ReactNativeHost implementations should implement BundleDownloadListenerProvider
and make sure they set DevBundleDownloadListener when ReactInstanceManager.
* Set default statusBarBackgroundColor to Black
* Component and Parent controllers now extend ChildController
* Implement return to front logic for ChildControllers
* Apply statusBar color when view appears and returns to front
[Breaking[ Modal refactor
* [Breaking] Showing modal removes the previously visible ViewController from hierarchy
* Modal implementation does not rely on Dialog
* Modal view is added to `content` layout
* Overlay is added to `root` layout, on top of the application's content
* Introduce StackControllerBuilder
* Show modal with animation
* Dismiss modal with animation
* Add previous modal at index 0
* Add root at index 0
* dismissAllModals dismisses only top modal with animation
* Reorder dependencies
Keep vs code happy
* Make markdown files readable on MacDown
* BackHandler compatibility
Give precedence to react's BackHandler when hardware back button is pressed
* f
* Update test
* Restore deps